mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-09 23:02:13 -05:00
175 lines
6.2 KiB
Python
175 lines
6.2 KiB
Python
"""
|
||
|
||
Revision ID: 0298_add_mou_signed_receipt
|
||
Revises: 0297_template_redacted_fix
|
||
Create Date: 2019-05-22 16:58:52.929661
|
||
|
||
"""
|
||
from alembic import op
|
||
from flask import current_app
|
||
from sqlalchemy import text
|
||
|
||
revision = "0298_add_mou_signed_receipt"
|
||
down_revision = "0297_template_redacted_fix"
|
||
|
||
|
||
templates = [
|
||
{
|
||
"id": "4fd2e43c-309b-4e50-8fb8-1955852d9d71",
|
||
"name": "MOU Signed By Receipt",
|
||
"type": "email",
|
||
"subject": "You’ve accepted the GOV.UK Notify data sharing and financial agreement",
|
||
"content_lines": [
|
||
"Hi ((signed_by_name)),",
|
||
"",
|
||
"((org_name)) has accepted the GOV.UK Notify data sharing and financial agreement. ",
|
||
"",
|
||
"If you need another copy of the agreement you can download it here: ((mou_link))",
|
||
"",
|
||
"If you need to add Cabinet Office as a supplier, here are the details you need:",
|
||
"",
|
||
"TO BE ADDED MANUALLY",
|
||
"",
|
||
"Thanks,",
|
||
"GOV.UK Notify team",
|
||
"",
|
||
"https://www.gov.uk/notify",
|
||
],
|
||
},
|
||
{
|
||
"id": "c20206d5-bf03-4002-9a90-37d5032d9e84",
|
||
"name": "MOU Signed On Behalf Of Receipt - Signed by",
|
||
"type": "email",
|
||
"subject": "You’ve accepted the GOV.UK Notify data sharing and financial agreement",
|
||
"content_lines": [
|
||
"Hi ((signed_by_name)),",
|
||
"",
|
||
"((org_name)) has accepted the GOV.UK Notify data sharing and financial agreement. We’ve emailed ((on_behalf_of_name)) to let them know too.",
|
||
"",
|
||
"If you need another copy of the agreement you can download it here: ((mou_link))",
|
||
"",
|
||
"If you need to add Cabinet Office as a supplier, here are the details you need:",
|
||
"",
|
||
"TO BE ADDED MANUALLY",
|
||
"",
|
||
"Thanks,",
|
||
"GOV.UK Notify team",
|
||
"",
|
||
"https://www.gov.uk/notify",
|
||
],
|
||
},
|
||
{
|
||
"id": "522b6657-5ca5-4368-a294-6b527703bd0b",
|
||
"name": "MOU Signed On Behalf Of Receipt - On Behalf Of",
|
||
"type": "email",
|
||
"subject": "((org_name)) has accepted the GOV.UK Notify data sharing and financial agreement",
|
||
"content_lines": [
|
||
"Hi ((on_behalf_of_name)),",
|
||
"",
|
||
"((signed_by_name)) has accepted the GOV.UK Notify data sharing and financial agreement on your behalf, for ((org_name)).",
|
||
"",
|
||
"GOV.UK Notify lets teams in the public sector send emails, text messages and letters. It’s built and run by a team in the Government Digital Service (part of Cabinet Office).",
|
||
"",
|
||
"If you need another copy of the agreement you can download it here: ((mou_link))",
|
||
"",
|
||
"If you need to add Cabinet Office as a supplier, here are the details you need.",
|
||
"",
|
||
"TO BE ADDED MANUALLY",
|
||
"",
|
||
"Thanks,",
|
||
"GOV.UK Notify team",
|
||
"",
|
||
"https://www.gov.uk/notify",
|
||
],
|
||
},
|
||
{
|
||
"id": "d0e66c4c-0c50-43f0-94f5-f85b613202d4",
|
||
"name": "MOU Signed Notify Team Alert",
|
||
"type": "email",
|
||
"subject": "Someone signed an MOU for an org on Notify",
|
||
"content_lines": [
|
||
"What’s up Notifiers,",
|
||
"",
|
||
"((signed_by_name)) just accepted the data sharing and financial agreement for ((org_name)).",
|
||
"",
|
||
"See how ((org_name)) is using Notify here: ((org_dashboard_link))",
|
||
],
|
||
},
|
||
]
|
||
|
||
|
||
def upgrade():
|
||
insert_t = """
|
||
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, current_timestamp,
|
||
:content, False, :notify_service_id, :subject, :user_id, 1, :process_type, false)
|
||
"""
|
||
insert_th = """
|
||
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, current_timestamp,
|
||
:content, False, :notify_service_id, :subject, :user_id, 1, :process_type, false)
|
||
|
||
"""
|
||
|
||
for template in templates:
|
||
input_params = {
|
||
"template_id": template["id"],
|
||
"template_name": template["name"],
|
||
"template_type": template["type"],
|
||
"content": "\n".join(template["content_lines"]),
|
||
"notify_service_id": current_app.config["NOTIFY_SERVICE_ID"],
|
||
"subject": template.get("subject"),
|
||
"user_id": current_app.config["NOTIFY_USER_ID"],
|
||
"process_type": "normal",
|
||
}
|
||
conn = op.get_bind()
|
||
|
||
conn.execute(text(insert_t), input_params)
|
||
|
||
conn.execute(text(insert_th), input_params)
|
||
|
||
input_params = {
|
||
"template_id": template["id"],
|
||
"user_id": current_app.config["NOTIFY_USER_ID"],
|
||
}
|
||
conn.execute(
|
||
text(
|
||
"""
|
||
INSERT INTO template_redacted
|
||
(
|
||
template_id,
|
||
redact_personalisation,
|
||
updated_at,
|
||
updated_by_id
|
||
) VALUES ( :template_id, false, current_timestamp, :user_id )
|
||
"""
|
||
),
|
||
input_params,
|
||
)
|
||
|
||
|
||
def downgrade():
|
||
conn = op.get_bind()
|
||
for template in templates:
|
||
input_params = {"template_id": template["id"]}
|
||
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 WHERE id = :template_id"), input_params
|
||
)
|
||
conn.execute(
|
||
text("DELETE FROM templates_history WHERE id = :template_id"), input_params
|
||
)
|