# Generated by Django 5.1 on 2025-07-09 13:33 import django.db.models.deletion import django.utils.timezone from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Activity', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('creation_date', models.DateTimeField(default=django.utils.timezone.now, editable=False)), ('last_update', models.DateTimeField(default=django.utils.timezone.now)), ('data_access_ids', models.JSONField(default=list)), ('status', models.CharField(blank=True, choices=[('NONE', 'None'), ('CONTACTED', 'Contacted'), ('RESPONDED', 'Responded'), ('SHOULD_TEST', 'Should test'), ('TESTING', 'Testing'), ('CUSTOMER', 'Customer'), ('LOST', 'Lost customer'), ('DECLINED_TOO_EXPENSIVE', 'Too expensive'), ('DECLINED_USE_SOMETHING_ELSE', 'Use something else'), ('DECLINED_OTHER', 'Declined other reason'), ('DECLINED_UNRELATED', 'Declined without significance')], default='NONE', max_length=50, null=True)), ('type', models.CharField(blank=True, choices=[('MAIL', 'Mailing List'), ('SMS', 'SMS Campaign'), ('CALL', 'Call'), ('PRESS', 'Press Release')], max_length=20, null=True)), ('description', models.TextField(blank=True, null=True)), ('attachment_text', models.TextField(blank=True, null=True)), ('last_updated_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ('related_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name_plural': 'Activities', 'ordering': ['-creation_date'], 'permissions': [('manage_events', 'Can manage events'), ('view_events', 'Can view events')], }, ), migrations.CreateModel( name='EmailTemplate', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('creation_date', models.DateTimeField(default=django.utils.timezone.now, editable=False)), ('last_update', models.DateTimeField(default=django.utils.timezone.now)), ('data_access_ids', models.JSONField(default=list)), ('name', models.CharField(max_length=100)), ('subject', models.CharField(max_length=200)), ('body', models.TextField(blank=True, null=True)), ('activities', models.ManyToManyField(blank=True, related_name='email_templates', to='crm.activity')), ('last_updated_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ('related_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Entity', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('creation_date', models.DateTimeField(default=django.utils.timezone.now, editable=False)), ('last_update', models.DateTimeField(default=django.utils.timezone.now)), ('data_access_ids', models.JSONField(default=list)), ('name', models.CharField(blank=True, max_length=200, null=True)), ('address', models.CharField(blank=True, max_length=200, null=True)), ('zip_code', models.CharField(blank=True, max_length=20, null=True)), ('city', models.CharField(blank=True, max_length=500, null=True)), ('last_updated_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ('official_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), ('related_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name_plural': 'Entities', }, ), migrations.CreateModel( name='Prospect', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('creation_date', models.DateTimeField(default=django.utils.timezone.now, editable=False)), ('last_update', models.DateTimeField(default=django.utils.timezone.now)), ('data_access_ids', models.JSONField(default=list)), ('first_name', models.CharField(blank=True, max_length=200, null=True)), ('last_name', models.CharField(blank=True, max_length=200, null=True)), ('email', models.EmailField(max_length=254, unique=True)), ('phone', models.CharField(blank=True, max_length=25, null=True)), ('name_unsure', models.BooleanField(default=False)), ('source', models.CharField(blank=True, max_length=100, null=True)), ('entities', models.ManyToManyField(blank=True, related_name='prospects', to='crm.entity')), ('last_updated_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ('official_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), ('related_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ], options={ 'permissions': [('manage_prospects', 'Can manage prospects'), ('view_prospects', 'Can view prospects')], }, ), migrations.AddField( model_name='activity', name='prospects', field=models.ManyToManyField(related_name='activities', to='crm.prospect'), ), ]