diff --git a/smash/web/migrations/0032_configurationitem_email_items.py b/smash/web/migrations/0032_configurationitem_email_items.py new file mode 100644 index 0000000000000000000000000000000000000000..2c44e7953d27f0a4e7785b0ff7924857bb3afa18 --- /dev/null +++ b/smash/web/migrations/0032_configurationitem_email_items.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.3 on 2017-04-04 09:43 +from __future__ import unicode_literals + +from django.db import migrations + +from web.models.constants import EMAIL_HOST_CONFIGURATION_TYPE, \ + EMAIL_PORT_CONFIGURATION_TYPE, \ + EMAIL_USER_CONFIGURATION_TYPE, \ + EMAIL_PASSWORD_CONFIGURATION_TYPE, \ + EMAIL_CONFIGURATION_TYPE, \ + KIT_RECIPIENT_EMAIL_CONFIGURATION_TYPE, \ + KIT_DAILY_EMAIL_HOUR_CONFIGURATION_TYPE + + +def create_item(apps, type, value, name): + # We can't import the ConfigurationItem model directly as it may be a newer + # version than this migration expects. We use the historical version. + ConfigurationItem = apps.get_model("web", "ConfigurationItem") + item = ConfigurationItem.objects.create() + item.type = type + item.value = value + item.name = name + item.save() + + +def configuration_items(apps, schema_editor): + create_item(apps, EMAIL_HOST_CONFIGURATION_TYPE, "smtp.example.com", "SMTP host") + create_item(apps, EMAIL_PORT_CONFIGURATION_TYPE, "25", "SMTP port") + create_item(apps, EMAIL_USER_CONFIGURATION_TYPE, "your_login", "SMTP username") + create_item(apps, EMAIL_PASSWORD_CONFIGURATION_TYPE, "your_password", "SMTP password") + create_item(apps, EMAIL_CONFIGURATION_TYPE, "sent.from@email.lu", "System email address") + create_item(apps, KIT_RECIPIENT_EMAIL_CONFIGURATION_TYPE, "kit.receipents@lu;with.semicolon@separation.lu", + "Recipients of kit requests email") + create_item(apps, KIT_DAILY_EMAIL_HOUR_CONFIGURATION_TYPE, "17:00", + "At what time kit request emails should be sent") + + +class Migration(migrations.Migration): + dependencies = [ + ('web', '0031_appointment_post_mail_sent'), + ] + + operations = [ + migrations.RunPython(configuration_items), + ] diff --git a/smash/web/models/constants.py b/smash/web/models/constants.py index cb52bd3aba0b11d401ed4b118ad0c36db26338fb..307b312fdf148397958fd3f377a783bb70aae897 100644 --- a/smash/web/models/constants.py +++ b/smash/web/models/constants.py @@ -30,3 +30,11 @@ CONTACT_TYPES_CHOICES = ( CANCELLED_APPOINTMENT_COLOR_CONFIGURATION_TYPE = "CANCELLED_APPOINTMENT_COLOR" NO_SHOW_APPOINTMENT_COLOR_CONFIGURATION_TYPE = "NO_SHOW_APPOINTMENT_COLOR" + +EMAIL_HOST_CONFIGURATION_TYPE = "EMAIL_HOST_CONFIGURATION_TYPE" +EMAIL_PORT_CONFIGURATION_TYPE = "EMAIL_PORT_CONFIGURATION_TYPE" +EMAIL_USER_CONFIGURATION_TYPE = "EMAIL_USER_CONFIGURATION_TYPE" +EMAIL_PASSWORD_CONFIGURATION_TYPE = "EMAIL_PASSWORD_CONFIGURATION_TYPE" +EMAIL_CONFIGURATION_TYPE = "EMAIL_CONFIGURATION_TYPE" +KIT_RECIPIENT_EMAIL_CONFIGURATION_TYPE = "KIT_RECIPIENT_EMAIL_CONFIGURATION_TYPE" +KIT_DAILY_EMAIL_HOUR_CONFIGURATION_TYPE = "KIT_DAILY_EMAIL_HOUR_CONFIGURATION_TYPE"