diff --git a/horilla_theme/migrations/0001_initial.py b/horilla_theme/migrations/0001_initial.py new file mode 100644 index 000000000..7043d3ac7 --- /dev/null +++ b/horilla_theme/migrations/0001_initial.py @@ -0,0 +1,80 @@ +# Generated by Django 6.0 on 2026-01-08 13:12 + +import django.core.validators +import django.db.models.deletion +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('base', '0002_initial'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='HorillaColorTheme', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('created_at', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Created At')), + ('is_active', models.BooleanField(default=True, verbose_name='Is Active')), + ('name', models.CharField(max_length=100, unique=True, verbose_name='Name')), + ('description', models.TextField(blank=True, verbose_name='Description')), + ('primary_50', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('primary_100', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('primary_200', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('primary_300', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('primary_400', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('primary_500', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('primary_600', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('primary_700', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('primary_800', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('primary_900', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('dark_50', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('dark_100', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('dark_200', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('dark_300', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('dark_400', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('dark_500', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('dark_600', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('secondary_50', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('secondary_100', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('secondary_200', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('secondary_300', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('secondary_400', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('secondary_500', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('secondary_600', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('secondary_700', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('secondary_800', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('secondary_900', models.CharField(max_length=7, validators=[django.core.validators.RegexValidator('^#[0-9A-Fa-f]{6}$')])), + ('is_default', models.BooleanField(default=False, help_text='Set as default theme for login page. Only one theme can be default across all companies.', verbose_name='Is Default')), + ('created_by', models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='Created By')), + ('modified_by', models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_modified_by', to=settings.AUTH_USER_MODEL, verbose_name='Modified By')), + ], + options={ + 'verbose_name': 'Color Theme', + 'verbose_name_plural': 'Color Themes', + 'ordering': ['name'], + }, + ), + migrations.CreateModel( + name='CompanyTheme', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('created_at', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Created At')), + ('is_active', models.BooleanField(default=True, verbose_name='Is Active')), + ('company', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='base.company', verbose_name='Company')), + ('created_by', models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='Created By')), + ('modified_by', models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_modified_by', to=settings.AUTH_USER_MODEL, verbose_name='Modified By')), + ('theme', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='organizations', to='horilla_theme.horillacolortheme', verbose_name='Theme')), + ], + options={ + 'verbose_name': 'Company Theme', + 'verbose_name_plural': 'Company Themes', + }, + ), + ]