"""
Migration: Add SMTP email fields to SiteSettings.
smtp_password is encrypted via _secure_field (EncryptedCharField when available).
"""
from django.db import migrations, models
try:
    from encrypted_model_fields.fields import EncryptedCharField
    _HAS_ENCRYPTION = True
except ImportError:
    _HAS_ENCRYPTION = False


class Migration(migrations.Migration):

    dependencies = [
        ('pages', '0020_encrypt_sensitive_fields'),
    ]

    operations = [
        migrations.AddField(
            model_name='sitesettings',
            name='smtp_host',
            field=models.CharField(blank=True, help_text='e.g. mail.finaltarget.net', max_length=200),
        ),
        migrations.AddField(
            model_name='sitesettings',
            name='smtp_port',
            field=models.PositiveIntegerField(default=465),
        ),
        migrations.AddField(
            model_name='sitesettings',
            name='smtp_user',
            field=models.CharField(blank=True, help_text='e.g. noreply@finaltarget.com', max_length=200),
        ),
        migrations.AddField(
            model_name='sitesettings',
            name='smtp_password',
            field=EncryptedCharField(blank=True) if _HAS_ENCRYPTION else models.CharField(blank=True, max_length=200),
        ),
        migrations.AddField(
            model_name='sitesettings',
            name='smtp_use_ssl',
            field=models.BooleanField(default=True),
        ),
        migrations.AddField(
            model_name='sitesettings',
            name='smtp_use_tls',
            field=models.BooleanField(default=False),
        ),
        migrations.AddField(
            model_name='sitesettings',
            name='smtp_from_email',
            field=models.CharField(blank=True, help_text='From address shown to recipients', max_length=200),
        ),
    ]
