# Generated by Django 5.1 on 2025-07-20 10:20 import django.db.models.deletion import django.utils.timezone import uuid 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=[ ('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)), ('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)), ('status', models.CharField(blank=True, choices=[('NONE', 'None'), ('INBOUND', 'Inbound'), ('CONTACTED', 'Contacted'), ('RESPONDED', 'Responded'), ('SHOULD_TEST', 'Should test'), ('TESTING', 'Testing'), ('CUSTOMER', 'Customer'), ('LOST', 'Lost customer'), ('DECLINED', 'Declined'), ('DECLINED_UNRELATED', 'Declined without significance')], max_length=50, null=True)), ('declination_reason', models.CharField(blank=True, choices=[('TOO_EXPENSIVE', 'Too expensive'), ('USE_OTHER_PRODUCT', 'Use other product'), ('USE_ANDROID', 'Use Android'), ('UNKNOWN', 'Unknown')], max_length=50, null=True)), ('type', models.CharField(blank=True, choices=[('MAIL', 'Mail'), ('SMS', 'SMS'), ('CALL', 'Call'), ('PRESS', 'Press Release'), ('WORD_OF_MOUTH', 'Word of mouth')], 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'], }, ), migrations.CreateModel( name='EmailTemplate', fields=[ ('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)), ('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)), ('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='biz.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=[ ('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)), ('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)), ('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=[ ('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)), ('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)), ('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='biz.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={ 'abstract': False, }, ), migrations.AddField( model_name='activity', name='prospects', field=models.ManyToManyField(related_name='activities', to='biz.prospect'), ), ]