""" Revision ID: 0265_add_confirm_edit_templates Revises: 0264_add_folder_permissions_perm Create Date: 2019-02-26 15:16:53.268135 """ from datetime import datetime from alembic import op from flask import current_app from sqlalchemy import text revision = '0265_add_confirm_edit_templates' down_revision = '0264_add_folder_permissions_perm' email_template_id = "c73f1d71-4049-46d5-a647-d013bdeca3f0" mobile_template_id = "8a31520f-4751-4789-8ea1-fe54496725eb" 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) """ email_template_content = '\n'.join([ "Dear ((name)),", "", "((servicemanagername)) changed your Notify account email address to:", "", "((email address))", "", "You’ll need to use this email address next time you sign in.", "", "Thanks", "", "GOV.​UK Notify team", "https://www.gov.uk/notify" ]) email_template_name = "Email address changed by service manager" email_template_subject = 'Your GOV.UK Notify email address has changed' input_params = { "template_id": email_template_id, "template_name": email_template_name, "template_type": 'email', "time_now": datetime.utcnow(), "content": email_template_content, "notify_service_id": current_app.config['NOTIFY_SERVICE_ID'], "subject": email_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 ) mobile_template_content = """Your mobile number was changed by ((servicemanagername)). Next time you sign in, your US Notify authentication code will be sent to this phone.""" mobile_template_name = "Phone number changed by service manager" input_params = { "template_id": mobile_template_id, "template_name": mobile_template_name, "template_type": 'sms', "time_now": datetime.utcnow(), "content": mobile_template_content, "notify_service_id": current_app.config['NOTIFY_SERVICE_ID'], "subject": None, "user_id": current_app.config['NOTIFY_USER_ID'], "process_type": 'normal' } conn.execute( text(template_history_insert), input_params ) conn.execute( text(template_insert), input_params ) def downgrade(): input_params = { "template_id": email_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) input_params = { "template_id": mobile_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_history WHERE id = :template_id"), input_params) conn.execute(text("DELETE FROM templates WHERE id = :template_id"), input_params)