diff --git a/migrations/versions/0298_add_mou_signed_receipt.py b/migrations/versions/0298_add_mou_signed_receipt.py new file mode 100644 index 000000000..0807528cb --- /dev/null +++ b/migrations/versions/0298_add_mou_signed_receipt.py @@ -0,0 +1,146 @@ +""" + +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 + + +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 = """ + INSERT INTO {} (id, name, template_type, created_at, content, archived, service_id, subject, + created_by_id, version, process_type, hidden) + VALUES ('{}', '{}', '{}', current_timestamp, '{}', False, '{}', '{}', '{}', 1, '{}', false) + """ + + for template in templates: + for table_name in 'templates', 'templates_history': + op.execute( + insert.format( + table_name, + template['id'], + template['name'], + template['type'], + '\n'.join(template['content_lines']), + current_app.config['NOTIFY_SERVICE_ID'], + template.get('subject'), + current_app.config['NOTIFY_USER_ID'], + 'normal' + ) + ) + + op.execute( + """ + INSERT INTO template_redacted + ( + template_id, + redact_personalisation, + updated_at, + updated_by_id + ) VALUES ( '{}', false, current_timestamp, '{}' ) + """.format(template['id'], current_app.config['NOTIFY_USER_ID']) + ) + + +def downgrade(): + for template in templates: + op.execute("DELETE FROM notifications WHERE template_id = '{}'".format(template['id'])) + op.execute("DELETE FROM notification_history WHERE template_id = '{}'".format(template['id'])) + op.execute("DELETE FROM template_redacted WHERE template_id = '{}'".format(template['id'])) + op.execute("DELETE FROM templates WHERE id = '{}'".format(template['id'])) + op.execute("DELETE FROM templates_history WHERE id = '{}'".format(template['id']))