# Generated by Django 6.0.4 on 2026-06-06 02:55

import apps.companies.models
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Company',
            fields=[
                ('id', models.UUIDField(default=apps.companies.models.uuid7, editable=False, primary_key=True, serialize=False)),
                ('name', models.CharField(max_length=255)),
                ('abbreviation', models.CharField(blank=True, db_index=True, help_text='Short code / acronym, e.g. WHO, UNICEF.', max_length=20)),
                ('slug', models.SlugField(blank=True, max_length=255, null=True, unique=True)),
                ('legal_name', models.CharField(blank=True, max_length=255)),
                ('company_type', models.CharField(choices=[('organization', 'Organization'), ('donor', 'Donor')], db_index=True, default='organization', max_length=20)),
                ('donor_category', models.CharField(blank=True, choices=[('regular', 'Regular'), ('project', 'Project')], db_index=True, default='regular', help_text="Only meaningful when company_type='donor'. Project = linked via ProjectFund.", max_length=20)),
                ('industry', models.CharField(blank=True, max_length=100)),
                ('website', models.URLField(blank=True)),
                ('email', models.EmailField(blank=True, max_length=254)),
                ('phone', models.CharField(blank=True, max_length=20)),
                ('address', models.TextField(blank=True)),
                ('city', models.CharField(blank=True, max_length=100)),
                ('country', models.CharField(blank=True, max_length=100)),
                ('tax_id', models.CharField(blank=True, max_length=50)),
                ('pic', models.CharField(blank=True, help_text='Person in charge / primary contact name.', max_length=255)),
                ('pic_title', models.CharField(blank=True, help_text='PIC position / job title.', max_length=255)),
                ('logo', models.ImageField(blank=True, null=True, upload_to='company_logos/')),
                ('description', models.TextField(blank=True)),
                ('notes', models.TextField(blank=True)),
                ('tags', models.JSONField(default=list)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
            ],
            options={
                'db_table': 'companies',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='Department',
            fields=[
                ('id', models.UUIDField(default=apps.companies.models.uuid7, editable=False, primary_key=True, serialize=False)),
                ('name', models.CharField(max_length=255, unique=True)),
                ('code', models.CharField(blank=True, help_text='Short code, e.g. POL, ECO', max_length=20)),
                ('description', models.TextField(blank=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
            ],
            options={
                'db_table': 'org_departments',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='Director',
            fields=[
                ('id', models.UUIDField(default=apps.companies.models.uuid7, editable=False, primary_key=True, serialize=False)),
                ('title', models.CharField(blank=True, help_text='Director role, e.g. CEO, Board Chair', max_length=255)),
                ('bio', models.TextField(blank=True, help_text='Director-specific bio shown on org profile')),
                ('order', models.PositiveIntegerField(default=0)),
                ('is_active', models.BooleanField(default=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
            ],
            options={
                'db_table': 'org_directors',
                'ordering': ['order', 'id'],
            },
        ),
        migrations.CreateModel(
            name='OrgProfile',
            fields=[
                ('id', models.UUIDField(default=apps.companies.models.uuid7, editable=False, primary_key=True, serialize=False)),
                ('name', models.CharField(default='My Organization', max_length=255)),
                ('legal_name', models.CharField(blank=True, max_length=255)),
                ('tagline', models.CharField(blank=True, max_length=255)),
                ('logo', models.ImageField(blank=True, null=True, upload_to='company_logos/')),
                ('email', models.EmailField(blank=True, max_length=254)),
                ('phone', models.CharField(blank=True, max_length=30)),
                ('website', models.URLField(blank=True)),
                ('address', models.TextField(blank=True)),
                ('city', models.CharField(blank=True, max_length=100)),
                ('country', models.CharField(blank=True, max_length=100)),
                ('latitude', models.DecimalField(blank=True, decimal_places=6, max_digits=9, null=True)),
                ('longitude', models.DecimalField(blank=True, decimal_places=6, max_digits=9, null=True)),
                ('tax_id', models.CharField(blank=True, max_length=50)),
                ('description', models.TextField(blank=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
            ],
            options={
                'db_table': 'org_profile',
            },
        ),
    ]
