mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-09 06:32:11 -05:00
98 lines
3.4 KiB
Python
98 lines
3.4 KiB
Python
"""
|
|
|
|
Revision ID: 0171_add_org_invite_template
|
|
Revises: 0170_hidden_non_nullable
|
|
Create Date: 2018-02-16 14:16:43.618062
|
|
|
|
"""
|
|
from datetime import datetime
|
|
|
|
from alembic import op
|
|
from flask import current_app
|
|
from sqlalchemy import text
|
|
|
|
revision = "0171_add_org_invite_template"
|
|
down_revision = "0170_hidden_non_nullable"
|
|
|
|
|
|
template_id = "203566f0-d835-47c5-aa06-932439c86573"
|
|
|
|
|
|
def upgrade():
|
|
template_insert = """
|
|
INSERT INTO templates (id, name, template_type, created_at, content, archived, service_id, subject,
|
|
created_by_id, version, process_type, hidden)
|
|
VALUES (:template_id, :template_name, :template_type, :time_now, :content, False,
|
|
:notify_service_id, :subject, :user_id, 1, :process_type, false)
|
|
"""
|
|
template_history_insert = """
|
|
INSERT INTO templates_history (id, name, template_type, created_at, content, archived, service_id, subject,
|
|
created_by_id, version, process_type, hidden)
|
|
VALUES (:template_id, :template_name, :template_type, :time_now, :content, False,
|
|
:notify_service_id, :subject, :user_id, 1, :process_type, false)
|
|
"""
|
|
|
|
template_content = "\n".join(
|
|
[
|
|
"((user_name)) has invited you to collaborate on ((organisation_name)) on GOV.UK Notify.",
|
|
"",
|
|
"GOV.UK Notify makes it easy to keep people updated by helping you send text messages, emails and letters.",
|
|
"",
|
|
"Open this link to create an account on GOV.UK Notify:",
|
|
"((url))",
|
|
"",
|
|
"This invitation will stop working at midnight tomorrow. This is to keep ((organisation_name)) secure.",
|
|
]
|
|
)
|
|
|
|
template_name = "Notify organisation invitation email"
|
|
template_subject = "((user_name)) has invited you to collaborate on ((organisation_name)) on GOV.UK Notify"
|
|
|
|
input_params = {
|
|
"template_id": template_id,
|
|
"template_name": template_name,
|
|
"template_type": "email",
|
|
"time_now": datetime.utcnow(),
|
|
"content": template_content,
|
|
"notify_service_id": current_app.config["NOTIFY_SERVICE_ID"],
|
|
"subject": template_subject,
|
|
"user_id": current_app.config["NOTIFY_USER_ID"],
|
|
"process_type": "normal",
|
|
}
|
|
conn = op.get_bind()
|
|
conn.execute(text(template_history_insert), input_params)
|
|
|
|
conn.execute(text(template_insert), input_params)
|
|
|
|
# clean up constraints on org_to_service - service_id-org_id constraint is redundant
|
|
op.drop_constraint(
|
|
"organisation_to_service_service_id_organisation_id_key",
|
|
"organisation_to_service",
|
|
type_="unique",
|
|
)
|
|
|
|
|
|
def downgrade():
|
|
input_params = {"template_id": template_id}
|
|
conn = op.get_bind()
|
|
conn.execute(
|
|
text("DELETE FROM notifications WHERE template_id = :template_id"), input_params
|
|
)
|
|
conn.execute(
|
|
text("DELETE FROM notification_history WHERE template_id = :template_id"),
|
|
input_params,
|
|
)
|
|
conn.execute(
|
|
text("DELETE FROM template_redacted WHERE template_id = :template_id"),
|
|
input_params,
|
|
)
|
|
conn.execute(
|
|
text("DELETE FROM templates_history WHERE id = :template_id"), input_params
|
|
)
|
|
conn.execute(text("DELETE FROM templates WHERE id = :template_id"), input_params)
|
|
op.create_unique_constraint(
|
|
"organisation_to_service_service_id_organisation_id_key",
|
|
"organisation_to_service",
|
|
["service_id", "organisation_id"],
|
|
)
|