# Generated by Django 5.2.7 on 2025-11-11 21:31

import backend.models
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0012_alter_user_first_name_max_length'),
    ]

    operations = [
        migrations.CreateModel(
            name='Attendane',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=200)),
                ('phone', models.IntegerField()),
                ('email', models.EmailField(max_length=254)),
                ('country', models.CharField(choices=[('Nigeria', 'Nigeria'), ('Others', 'Others')], max_length=20)),
                ('badge_type', models.CharField(choices=[('Party', 'Party'), ('Party Overflow', 'Party Overflow'), ('Observer', 'Observer'), ('Media', 'Media')], max_length=40)),
                ('negotiation_track', models.CharField(choices=[('MITIGATION', 'Mitigation'), ('ADAPTATION', 'Adaptation'), ('FINANCE', 'Finance / Support'), ('TECHNOLOGY', 'Technology Transfer & Development'), ('CAPACITY_BUILDING', 'Capacity Building & Training'), ('LOSS_AND_DAMAGE', 'Loss & Damage'), ('TRANSPARENCY_AND_REPORTING', 'Transparency & Reporting'), ('ARTICLE_6_CARBON_MARKETS', 'Article 6 – Carbon Markets / Cooperative Approaches'), ('GLOBAL_GOAL_ON_ADAPTATION', 'Global Goal on Adaptation (GGA) Indicators'), ('JUST_TRANSITION', 'Just Transition / Social Dimensions'), ('FORESTS_BIODIVERSITY', 'Forests, Biodiversity & Nature-Based Solutions'), ('AGRICULTURE_FOOD_SECURITY', 'Agriculture, Food Security & Land Use'), ('INDIGENOUS_PEOPLES_GENDER_YOUTH', 'Indigenous Peoples, Gender & Youth Issues')], max_length=40)),
                ('date_created', models.DateField(auto_now_add=True)),
            ],
        ),
        migrations.CreateModel(
            name='Bilateral',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=500)),
                ('hosts', models.CharField(max_length=500)),
                ('objectives', models.TextField()),
                ('date', models.DateTimeField()),
                ('point', models.TextField()),
                ('person', models.CharField(max_length=250)),
                ('phone', models.CharField(max_length=50)),
                ('email', models.EmailField(max_length=254)),
                ('date_created', models.DateTimeField(auto_now_add=True)),
            ],
        ),
        migrations.CreateModel(
            name='COPEventAnnouncement',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('subject', models.CharField(max_length=500)),
                ('message', models.TextField()),
                ('sender', models.CharField(max_length=50)),
                ('date_created', models.DateTimeField(auto_now_add=True)),
            ],
        ),
        migrations.CreateModel(
            name='COPEventApplication',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('proposed_title', models.CharField(max_length=200)),
                ('event_type', models.CharField(choices=[('Panels', 'Panels'), ('Presentations', 'Presentations'), ('Panel/Presentations', 'Panel/Presentations'), ('Multi-Engagements', 'Multi-Engagements')], max_length=50, null=True)),
                ('number_of_speakers', models.IntegerField()),
                ('day', models.DateField()),
                ('time', models.TimeField()),
                ('status', models.CharField(choices=[('Pending', 'Pending'), ('Approved', 'Approved'), ('Declined', 'Declined')], default='Pending', max_length=20)),
                ('description', models.TextField(blank=True, max_length=5000, null=True)),
                ('flier', models.ImageField(blank=True, null=True, upload_to='fliers/', validators=[backend.models.validate_image_size])),
                ('date_created', models.DateTimeField(auto_now_add=True)),
            ],
        ),
        migrations.CreateModel(
            name='CustomUser',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('password', models.CharField(max_length=128, verbose_name='password')),
                ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
                ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
                ('email', models.EmailField(max_length=254, unique=True)),
                ('name', models.CharField(blank=True, max_length=30)),
                ('role', models.CharField(blank=True, choices=[('Super Admin', 'Super Admin'), ('Admin', 'Admin'), ('Organisation', 'Organisation'), ('Individual', 'Individual'), ('Event Manager', 'Event Manager'), ('COP Desk Officer', 'COP Desk Officer'), ('Finance', 'Finance'), ('Bilaterals', 'Bilaterals')], max_length=30)),
                ('date_joined', models.DateTimeField(auto_now_add=True)),
                ('is_active', models.BooleanField(default=True)),
                ('is_staff', models.BooleanField(default=False)),
                ('is_verified', models.BooleanField(default=False)),
                ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.group', verbose_name='groups')),
                ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.permission', verbose_name='user permissions')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='BilateralReport',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('outcomes', models.TextField(max_length=5000, null=True)),
                ('actions', models.TextField(max_length=5000, null=True)),
                ('image_url', models.URLField(blank=True, null=True)),
                ('video_url', models.URLField(blank=True, null=True)),
                ('date_created', models.DateField(auto_now_add=True)),
                ('meeting', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.bilateral')),
            ],
        ),
        migrations.CreateModel(
            name='Event',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=200)),
                ('event_type', models.CharField(choices=[('Tree Planting', 'Tree Planting'), ('Sensitization', 'Sensitization'), ('Stakeholders Engagement', 'Stakeholders Engagement'), ('Research', 'Research'), ('Summit', 'Summit'), ('Others', 'Others')], max_length=50)),
                ('others_description', models.CharField(blank=True, max_length=150, null=True)),
                ('description', models.TextField(max_length=2500)),
                ('date', models.DateTimeField()),
                ('address_line', models.CharField(max_length=250)),
                ('lga', models.CharField(max_length=50)),
                ('state', models.CharField(max_length=50)),
                ('engagement_type', models.CharField(choices=[('Partner', 'Partner'), ('Participant', 'Participant'), ('Organiser', 'Organiser'), ('Sponsor', 'Sponsor')], max_length=50)),
                ('video', models.URLField(blank=True, null=True)),
                ('date_created', models.DateTimeField(auto_now_add=True)),
                ('submitted_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='EventResources',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('youtube_live', models.URLField(blank=True, null=True)),
                ('slide1', models.FileField(blank=True, null=True, upload_to='resources/')),
                ('slide2', models.FileField(blank=True, null=True, upload_to='resources/')),
                ('slide3', models.FileField(blank=True, null=True, upload_to='resources/')),
                ('slide4', models.FileField(blank=True, null=True, upload_to='resources/')),
                ('slide5', models.FileField(blank=True, null=True, upload_to='resources/')),
                ('slide6', models.FileField(blank=True, null=True, upload_to='resources/')),
                ('slide7', models.FileField(blank=True, null=True, upload_to='resources/')),
                ('slide8', models.FileField(blank=True, null=True, upload_to='resources/')),
                ('slide9', models.FileField(blank=True, null=True, upload_to='resources/')),
                ('slide10', models.FileField(blank=True, null=True, upload_to='resources/')),
                ('slide11', models.FileField(blank=True, null=True, upload_to='resources/')),
                ('slide12', models.FileField(blank=True, null=True, upload_to='resources/')),
                ('resources', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.copeventapplication')),
            ],
        ),
        migrations.CreateModel(
            name='Invoice',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('currency', models.CharField(choices=[('NGN', 'NGN'), ('USD', 'USD')], max_length=20)),
                ('amount_due', models.DecimalField(decimal_places=2, max_digits=10)),
                ('amount_paid', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True)),
                ('date_paid', models.DateTimeField(blank=True, null=True)),
                ('payment_status', models.CharField(choices=[('Unpaid', 'Unpaid'), ('Paid', 'Paid'), ('Overdue', 'Overdue')], default='Unpaid', max_length=20)),
                ('proof', models.ImageField(blank=True, null=True, upload_to='reciepts/', validators=[backend.models.validate_image_size])),
                ('date_created', models.DateTimeField(auto_now_add=True, null=True)),
                ('application', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.copeventapplication')),
            ],
        ),
        migrations.CreateModel(
            name='Organisation',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('organisation_type', models.CharField(choices=[('GO/MDAs', 'GO/MDAs'), ('NGO/iNGO', 'NGO/iNGO'), ('Women/YouthLead', 'Women/YouthLead'), ('Private', 'Private')], max_length=50)),
                ('contact_number', models.IntegerField()),
                ('address_line', models.CharField(max_length=250)),
                ('state', models.CharField(choices=[('Abia', 'Abia'), ('Adamawa', 'Adamawa'), ('Akwa Ibom', 'Akwa Ibom'), ('Anambra', 'Anambra'), ('Bauchi', 'Bauchi'), ('Bayelsa', 'Bayelsa'), ('Benue', 'Benue'), ('Borno', 'Borno'), ('Cross River', 'Cross River'), ('Delta', 'Delta'), ('Ebonyi', 'Ebonyi'), ('Edo', 'Edo'), ('Ekiti', 'Ekiti'), ('Enugu', 'Enugu'), ('F.C.T', 'F.C.T'), ('Gombe', 'Gombe'), ('Imo', 'Imo'), ('Jigawa', 'Jigawa'), ('Kaduna', 'Kaduna'), ('Kano', 'Kano'), ('Katsina', 'Katsina'), ('Kebbi', 'Kebbi'), ('Kogi', 'Kogi'), ('Kwara', 'Kwara'), ('Lagos', 'Lagos'), ('Nasarawa', 'Nasarawa'), ('Niger', 'Niger'), ('Ogun', 'Ogun'), ('Ondo', 'Ondo'), ('Osun', 'Osun'), ('Oyo', 'Oyo'), ('Plateau', 'Plateau'), ('Rivers', 'Rivers'), ('Sokoto', 'Sokoto'), ('Taraba', 'Taraba'), ('Yobe', 'Yobe'), ('Zamfara', 'Zamfara')], max_length=50)),
                ('twitter', models.URLField(blank=True, null=True)),
                ('facebook', models.URLField(blank=True, null=True)),
                ('instagram', models.URLField(blank=True, null=True)),
                ('website', models.URLField(blank=True, null=True)),
                ('focus_area', models.CharField(choices=[('Agriculture', 'Agriculture'), ('Clean Energy', 'Clean Energy'), ('Climate Finance', 'Climate Finance'), ('Transportation', 'Transportation'), ('Afforestation', 'Afforestation'), ('Media/Journalism', 'Media/Journalism'), ('Renewable Energy', 'Renewable Energy'), ('Environmental Policy', 'Environmental Policy'), ('Sustainable Urban Development', 'Sustainable Urban Development'), ('Biodiversity Conservation', 'Biodiversity Conservation'), ('Climate Adaptation', 'Climate Adaptation'), ('Ocean Conservation', 'Ocean Conservation')], max_length=50, null=True)),
                ('description', models.TextField(max_length=2500)),
                ('logo', models.ImageField(blank=True, null=True, upload_to='logos/', validators=[backend.models.validate_image_size])),
                ('certificate', models.FileField(blank=True, null=True, upload_to='certificates/', validators=[backend.models.validate_image_size])),
                ('status', models.CharField(choices=[('Pending', 'Pending'), ('Decline', 'Decline'), ('Approved', 'Approved')], default='Pending', max_length=20)),
                ('date_created', models.DateTimeField(auto_now_add=True)),
                ('approved_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='approval_officer', to=settings.AUTH_USER_MODEL)),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='organisation_user', to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Nominations',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('photograph', models.ImageField(null=True, upload_to='photograph/', validators=[backend.models.validate_image_size])),
                ('accreditation_type', models.CharField(blank=True, choices=[('Party', 'Party'), ('Party Overflow', 'Party Overflow'), ('Observer', 'Observer'), ('Media/Journalist', 'Media/Journalist'), ('Volunteer', 'Volunteer')], max_length=50)),
                ('accreditation_number', models.CharField(blank=True, max_length=50)),
                ('name', models.CharField(max_length=200)),
                ('email', models.EmailField(max_length=200)),
                ('dob', models.DateField()),
                ('position', models.CharField(max_length=200)),
                ('status', models.CharField(choices=[('Pending', 'Pending'), ('Approved', 'Approved'), ('Declined', 'Declined')], default='Pending', max_length=20)),
                ('passport', models.ImageField(null=True, upload_to='pasport/', validators=[backend.models.validate_image_size])),
                ('letter', models.ImageField(null=True, upload_to='pasport/', validators=[backend.models.validate_image_size])),
                ('date_created', models.DateTimeField(auto_now_add=True)),
                ('user', models.OneToOneField(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='participant_user', to=settings.AUTH_USER_MODEL)),
                ('org', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.organisation')),
            ],
        ),
        migrations.AddField(
            model_name='copeventapplication',
            name='org',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.organisation'),
        ),
        migrations.CreateModel(
            name='Activist',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('designation', models.CharField(max_length=200)),
                ('contact_number', models.IntegerField()),
                ('email', models.EmailField(max_length=254, unique=True)),
                ('address_line', models.CharField(max_length=250)),
                ('state', models.CharField(choices=[('Abia', 'Abia'), ('Adamawa', 'Adamawa'), ('Akwa Ibom', 'Akwa Ibom'), ('Anambra', 'Anambra'), ('Bauchi', 'Bauchi'), ('Bayelsa', 'Bayelsa'), ('Benue', 'Benue'), ('Borno', 'Borno'), ('Cross River', 'Cross River'), ('Delta', 'Delta'), ('Ebonyi', 'Ebonyi'), ('Edo', 'Edo'), ('Ekiti', 'Ekiti'), ('Enugu', 'Enugu'), ('F.C.T', 'F.C.T'), ('Gombe', 'Gombe'), ('Imo', 'Imo'), ('Jigawa', 'Jigawa'), ('Kaduna', 'Kaduna'), ('Kano', 'Kano'), ('Katsina', 'Katsina'), ('Kebbi', 'Kebbi'), ('Kogi', 'Kogi'), ('Kwara', 'Kwara'), ('Lagos', 'Lagos'), ('Nasarawa', 'Nasarawa'), ('Niger', 'Niger'), ('Ogun', 'Ogun'), ('Ondo', 'Ondo'), ('Osun', 'Osun'), ('Oyo', 'Oyo'), ('Plateau', 'Plateau'), ('Rivers', 'Rivers'), ('Sokoto', 'Sokoto'), ('Taraba', 'Taraba'), ('Yobe', 'Yobe'), ('Zamfara', 'Zamfara')], max_length=50)),
                ('twitter', models.URLField(blank=True, null=True)),
                ('facebook', models.URLField(blank=True, null=True)),
                ('instagram', models.URLField(blank=True, null=True)),
                ('website', models.URLField(blank=True, null=True)),
                ('focus_area', models.CharField(choices=[('Agriculture', 'Agriculture'), ('Clean Energy', 'Clean Energy'), ('Climate Finance', 'Climate Finance'), ('Transportation', 'Transportation'), ('Afforestation', 'Afforestation'), ('Media/Journalism', 'Media/Journalism'), ('Renewable Energy', 'Renewable Energy'), ('Environmental Policy', 'Environmental Policy'), ('Sustainable Urban Development', 'Sustainable Urban Development'), ('Biodiversity Conservation', 'Biodiversity Conservation'), ('Climate Adaptation', 'Climate Adaptation'), ('Ocean Conservation', 'Ocean Conservation')], max_length=50)),
                ('description', models.TextField(max_length=2500)),
                ('status', models.CharField(blank=True, choices=[('Pending', 'Pending'), ('Decline', 'Decline'), ('Approved', 'Approved')], max_length=20, null=True)),
                ('date_created', models.DateTimeField(auto_now_add=True)),
                ('approved_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='approved_org', to=settings.AUTH_USER_MODEL)),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='activist_user', to=settings.AUTH_USER_MODEL)),
                ('organisation', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='backend.organisation')),
            ],
        ),
        migrations.CreateModel(
            name='PostEventReport',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('description', models.TextField(max_length=5000, null=True)),
                ('image_url', models.URLField(blank=True, null=True)),
                ('video_url', models.URLField(blank=True, null=True)),
                ('date_created', models.DateField(auto_now_add=True)),
                ('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='backend.copeventapplication')),
            ],
        ),
    ]
