# Generated by Django 5.2.1 on 2025-05-23 09:15

import aleksis.core.mixins
import aleksis.core.util.model_helpers
import ckeditor.fields
import colorfield.fields
import django.contrib.postgres.fields
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('core', '0094_add_dates_to_relationships'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        # this is OK as Django won't execute this step due to managed=False
        migrations.CreateModel(
            name='BirthdayEvent',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
            ],
            options={
                'db_table': 'core_birthdayevent',
                'managed': False,
            },
            bases=(aleksis.core.mixins.CalendarEventMixin, models.Model),
        ),
        migrations.AlterModelOptions(
            name='freebusy',
            options={'base_manager_name': 'objects'},
        ),
        migrations.AlterModelOptions(
            name='group',
            options={'ordering': ['short_name', 'name'], 'permissions': (('assign_child_groups_to_groups', 'Can assign child groups to groups'), ('view_group_stats', 'Can view statistics about group.'), ('view_group_availability_feed', 'Can view groups aggregated availability feed')), 'verbose_name': 'Group', 'verbose_name_plural': 'Groups'},
        ),
        migrations.AlterModelOptions(
            name='holiday',
            options={'permissions': [('view_holiday_calendar', 'Can view holiday calendar')], 'verbose_name': 'Holiday', 'verbose_name_plural': 'Holidays'},
        ),
        migrations.AlterModelOptions(
            name='person',
            options={'ordering': ['last_name', 'first_name'], 'permissions': (('view_addresses', 'Can view addresses'), ('view_contact_details', 'Can view contact details'), ('view_photo', 'Can view photo'), ('view_avatar', 'Can view avatar image'), ('view_person_groups', 'Can view persons groups'), ('view_personal_details', 'Can view personal details'), ('view_person_availability_feed', 'Can view persons aggregated availability feed'), ('change_user_password', 'Can change the password of the linked user'), ('reset_user_password', 'Can send a password reset request for the linked user')), 'verbose_name': 'Person', 'verbose_name_plural': 'Persons'},
        ),
        migrations.AlterModelOptions(
            name='personalevent',
            options={'base_manager_name': 'objects'},
        ),
        migrations.AlterModelOptions(
            name='schoolterm',
            options={'ordering': ['-date_start'], 'verbose_name': 'School term', 'verbose_name_plural': 'School terms'},
        ),
        migrations.AlterField(
            model_name='availabilitytype',
            name='color',
            field=colorfield.fields.ColorField(blank=True, default=None, image_field=None, max_length=25, null=True, samples=None, verbose_name='Color'),
        ),
        migrations.AlterField(
            model_name='availabilitytype',
            name='uuid',
            field=models.UUIDField(db_default=models.Func(function='gen_random_uuid'), editable=False, unique=True),
        ),
        migrations.AlterField(
            model_name='calendarwidget',
            name='selected_calendars',
            field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=255), blank=True, default=list, help_text='If no specific calendars are selected, all calendars are allowed.', size=None, verbose_name='Allowed calendars'),
        ),
        migrations.AlterField(
            model_name='calendarwidgetconfiguration',
            name='selected_calendars',
            field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=255), blank=True, default=list, size=None, verbose_name='Selected calendars'),
        ),
        migrations.AlterField(
            model_name='custommenuitem',
            name='icon',
            field=models.CharField(blank=True, choices=aleksis.core.util.model_helpers.get_icon_choices, max_length=50, verbose_name='Icon'),
        ),
        migrations.AlterField(
            model_name='datacheckresult',
            name='data_check',
            field=models.CharField(choices=[('broken_dashboard_widgets', 'Ensure that there are no broken DashboardWidgets.'), ('disallowed_uid', 'Ensure that there are no disallowed usernames.'), ('field_validation_custommenuitem_icon', 'Validate field icon of model core.CustomMenuItem.'), ('email_unique', 'Ensure that email addresses are unique among all persons'), ('colors_accessibility_datacheck', 'Validate contrast accessibility of colors of customizable objects.'), ('accessible_themes_colors_datacheck', 'Validate that theme colors are accessible.')], max_length=255, verbose_name='Related data check task'),
        ),
        migrations.AlterField(
            model_name='externallinkwidget',
            name='icon_url',
            field=models.URLField(blank=True, verbose_name='Icon URL'),
        ),
        migrations.AlterField(
            model_name='externallinkwidget',
            name='url',
            field=models.URLField(blank=True, verbose_name='URL'),
        ),
        migrations.AlterField(
            model_name='notification',
            name='icon',
            field=models.CharField(choices=aleksis.core.util.model_helpers.get_icon_choices, default='information-outline', max_length=50, verbose_name='Icon'),
        ),
        migrations.AlterField(
            model_name='personinvitation',
            name='inviter',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='inviter'),
        ),
        migrations.AlterField(
            model_name='staticcontentwidget',
            name='content',
            field=ckeditor.fields.RichTextField(blank=True, verbose_name='Content'),
        ),
    ]
