# Generated by Django 4.1.7 on 2023-05-03 10:12

import builders.utils
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import imagekit.models.fields


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('builders', '0001_initial'),
        ('main', '0001_initial'),
        ('main_auth', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='Builder',
            fields=[
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to=settings.AUTH_USER_MODEL)),
                ('brand_name', models.CharField(blank=True, max_length=30)),
                ('legal_name', models.CharField(blank=True, max_length=40)),
                ('address', models.TextField(blank=True)),
                ('inn', models.CharField(blank=True, max_length=15)),
                ('bank_account', models.CharField(blank=True, max_length=20)),
                ('image_logo', models.ImageField(blank=True, null=True, upload_to=builders.utils.upload_builder_logo)),
                ('license', models.FileField(blank=True, null=True, upload_to=builders.utils.upload_builder_license)),
                ('license_period', models.DateField(blank=True, null=True)),
                ('description', models.TextField(blank=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
            ],
        ),
        migrations.CreateModel(
            name='Entrance',
            fields=[
                ('id', models.SmallAutoField(primary_key=True, serialize=False)),
                ('name', models.CharField(max_length=20)),
                ('block', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='entrances', to='builders.block')),
            ],
        ),
        migrations.CreateModel(
            name='Manager',
            fields=[
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to=settings.AUTH_USER_MODEL)),
                ('photo', imagekit.models.fields.ProcessedImageField(blank=True, null=True, upload_to=builders.utils.upload_manager_photo)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('builder', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='builders.builder')),
            ],
        ),
        migrations.CreateModel(
            name='SaleManager',
            fields=[
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to=settings.AUTH_USER_MODEL)),
                ('manager', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='builders.manager')),
            ],
        ),
        migrations.CreateModel(
            name='ResidentComplex',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(db_index=True, max_length=50)),
                ('address', models.CharField(blank=True, max_length=250)),
                ('deadline', models.CharField(blank=True, max_length=10)),
                ('ceiling_height_from', models.CharField(blank=True, max_length=3)),
                ('ceiling_height_to', models.CharField(blank=True, max_length=3)),
                ('status', models.BooleanField(default=False)),
                ('floor', models.CharField(blank=True, max_length=15)),
                ('total_apartment', models.SmallIntegerField(default=1)),
                ('latitude', models.CharField(blank=True, max_length=12)),
                ('longitude', models.CharField(blank=True, max_length=12)),
                ('image_banner', models.ImageField(blank=True, null=True, upload_to=builders.utils.upload_resident_banner)),
                ('description', models.TextField(blank=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('builder', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='builders.builder')),
                ('building_class', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='main.buildingclass')),
                ('building_type', models.ManyToManyField(blank=True, to='main.buildingtype')),
                ('city', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.city')),
                ('decoration', models.ManyToManyField(blank=True, to='main.decoration')),
                ('elevator', models.ManyToManyField(blank=True, to='main.elevator')),
                ('facade', models.ManyToManyField(blank=True, to='main.facade')),
                ('heating', models.ManyToManyField(blank=True, to='main.heating')),
                ('kitchen', models.ManyToManyField(blank=True, to='main.kitchen')),
                ('manager', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='builders.manager')),
                ('parking', models.ManyToManyField(blank=True, to='main.parking')),
            ],
            options={
                'db_table': 'resident_complex',
            },
        ),
        migrations.CreateModel(
            name='Floor',
            fields=[
                ('id', models.SmallAutoField(primary_key=True, serialize=False)),
                ('name', models.CharField(max_length=20)),
                ('image_1', imagekit.models.fields.ProcessedImageField(blank=True, null=True, upload_to=builders.utils.upload_block_floor)),
                ('entrance', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='floors', to='builders.entrance')),
                ('floor_type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='main.floortype')),
            ],
        ),
        migrations.CreateModel(
            name='ComplexPicture',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('image', models.CharField(blank=True, max_length=40)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('resident_complex', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='builders.residentcomplex')),
            ],
            options={
                'db_table': 'complex_picture',
            },
        ),
        migrations.CreateModel(
            name='Client',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('first_name', models.CharField(max_length=20)),
                ('last_name', models.CharField(blank=True, max_length=20)),
                ('sure_name', models.CharField(blank=True, max_length=20)),
                ('phone', models.CharField(blank=True, max_length=14)),
                ('info_apartment', models.CharField(blank=True, max_length=100)),
                ('social_medias', models.CharField(blank=True, max_length=120)),
                ('comment', models.TextField(blank=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('action', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='main.salemanageraction')),
                ('sale_manager', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='builders.salemanager')),
            ],
        ),
        migrations.AddField(
            model_name='block',
            name='block_type',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='main.buildingtype'),
        ),
        migrations.AddField(
            model_name='block',
            name='resident_complex',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='builders.residentcomplex'),
        ),
        migrations.AddField(
            model_name='apartment',
            name='decoration',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='main.apartmentdecoration', verbose_name='отделка'),
        ),
        migrations.AddField(
            model_name='apartment',
            name='floor',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='apartments', to='builders.floor'),
        ),
        migrations.AddField(
            model_name='apartment',
            name='status',
            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='main.apartmentstatus'),
        ),
        migrations.AddField(
            model_name='apartment',
            name='type',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='main.apartmenttype'),
        ),
    ]
