# Generated by Django 4.2 on 2024-09-01 05:31

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 = [
        ("site_tests", "0001_initial"),
        ("settings", "0001_initial"),
        ("auth", "0012_alter_user_first_name_max_length"),
    ]

    operations = [
        migrations.CreateModel(
            name="User",
            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",
                    ),
                ),
                ("username", models.CharField(max_length=100, verbose_name="Имя пользователя")),
                ("second_name", models.CharField(blank=True, max_length=200, null=True, verbose_name="Фамлия")),
                ("phone", models.CharField(max_length=12, null=True, verbose_name="Номер телефона")),
                ("phone_is_confirmed", models.BooleanField(default=False, verbose_name="Телефон подтвержден")),
                ("email", models.CharField(max_length=200, null=True, verbose_name="E-mail")),
                ("new_email", models.CharField(blank=True, max_length=200, null=True, verbose_name="новый E-main")),
                ("email_is_confirmed", models.BooleanField(default=False, verbose_name="Почта подтверждена")),
                ("created_at", models.DateTimeField(auto_now_add=True, null=True, verbose_name="пользователь создан")),
                ("profile_picture", models.ImageField(blank=True, null=True, upload_to="", verbose_name="аватарка")),
                ("staff", models.BooleanField(default=False)),
                ("supersponsor", models.BooleanField(default=False, verbose_name="Главный спонсор")),
                ("test", models.BooleanField(default=False, verbose_name="тестовый пользователь")),
                (
                    "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",
                    ),
                ),
                (
                    "register_on_domain",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="register_on_domain",
                        to="settings.domain",
                        verbose_name="зарегистрирован на домене",
                    ),
                ),
            ],
            options={
                "verbose_name": "Пользователь",
                "verbose_name_plural": "Пользователи",
                "ordering": ["-created_at"],
            },
        ),
        migrations.CreateModel(
            name="Site",
            fields=[
                ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
                ("subdomain", models.CharField(max_length=50, unique=True, verbose_name="поддомен")),
                ("logo", models.ImageField(blank=True, null=True, upload_to="images/logo", verbose_name="Лого")),
                ("logo_width", models.CharField(blank=True, max_length=20, null=True, verbose_name="ширина лого")),
                (
                    "logo_width_mobile",
                    models.CharField(blank=True, max_length=20, null=True, verbose_name="ширина лого(мобильный)"),
                ),
                (
                    "logo2",
                    models.ImageField(blank=True, null=True, upload_to="images/logo", verbose_name="Лого для форм"),
                ),
                ("is_active", models.BooleanField(default=True, verbose_name="активный")),
                (
                    "use_default_settings",
                    models.BooleanField(default=False, verbose_name="Использовать общие настройки сайта"),
                ),
                ("advertising_channel", models.CharField(max_length=100, null=True, verbose_name="Рекламный канал")),
                ("online_from", models.DateField(default=django.utils.timezone.now, verbose_name="онлайн с")),
                ("name", models.CharField(max_length=50, null=True, verbose_name="Название сайта")),
                ("font_size", models.PositiveIntegerField(null=True, verbose_name="размер шрифта")),
                ("owner", models.CharField(max_length=150, null=True, verbose_name="Владелец")),
                ("contact_info", models.CharField(max_length=200, null=True, verbose_name="Контактная информация")),
                ("created_at", models.DateTimeField(auto_now_add=True, null=True, verbose_name="сайт создан")),
                (
                    "domain",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="settings.domain",
                        verbose_name="домен",
                    ),
                ),
                (
                    "font",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        to="settings.userfont",
                        verbose_name="шрифт",
                    ),
                ),
                (
                    "user",
                    models.OneToOneField(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="site",
                        to=settings.AUTH_USER_MODEL,
                        verbose_name="пользователь",
                    ),
                ),
            ],
            options={
                "verbose_name": "сайт",
                "verbose_name_plural": "сайты",
            },
        ),
        migrations.AddField(
            model_name="user",
            name="register_on_site",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="register_on_site",
                to="user.site",
                verbose_name="зарегистрирован на сайте",
            ),
        ),
        migrations.AddField(
            model_name="user",
            name="sponsor",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                to=settings.AUTH_USER_MODEL,
                verbose_name="Спонсор",
            ),
        ),
        migrations.AddField(
            model_name="user",
            name="test_set",
            field=models.ForeignKey(
                blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to="site_tests.testuserset"
            ),
        ),
        migrations.AddField(
            model_name="user",
            name="user_permissions",
            field=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",
            ),
        ),
        migrations.AddIndex(
            model_name="user",
            index=models.Index(fields=["sponsor_id"], name="user_user_sponsor_9e3e2d_idx"),
        ),
    ]
