""" 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)