# Generated by Django 3.2.12 on 2022-04-02 13:20 import ckeditor_uploader.fields import datetime import django.core.validators from django.db import migrations, models import django.db.models.deletion class Migration(migrations.Migration): initial = True dependencies = [ ('taskbar', '0010_auto_20220402_1620'), ] operations = [ migrations.CreateModel( name='Notification', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=40, verbose_name='Назва сповіщення')), ('description', models.CharField(blank=True, default='', max_length=200, verbose_name='Опис')), ('is_active', models.BooleanField(default=True, verbose_name='Активне')), ('need_confirmation', models.BooleanField(default=False, verbose_name='Потрібне підтвердження перегляду працівником')), ('interval', models.IntegerField(blank=True, help_text='Періодичність оповіщення в хв (10-500).
Якщо обрані зміни то рахується від початку зміни.', null=True, validators=[django.core.validators.MaxValueValidator(500), django.core.validators.MinValueValidator(10)], verbose_name='Інтервал')), ('show_on_shift_start', models.IntegerField(blank=True, help_text='Від 0 до 30 хв, показати на початку зміни з затримкою', null=True, validators=[django.core.validators.MaxValueValidator(30), django.core.validators.MinValueValidator(0)], verbose_name='Показувати на початку зміни')), ('show_on_shift_end', models.IntegerField(blank=True, help_text='Від 0 до 30 хв, показати перед кінцем зміни', null=True, validators=[django.core.validators.MaxValueValidator(30), django.core.validators.MinValueValidator(0)], verbose_name='Показувати в кінці зміни')), ('start_datetime', models.DateTimeField(default=datetime.datetime.now, null=True, verbose_name='Показувати з')), ('expires_datetime', models.DateTimeField(blank=True, null=True, verbose_name='Показувати по')), ('one_off', models.BooleanField(default=False, help_text='Запустити лише раз', verbose_name='Одноразове сповіщення')), ('last_run_at', models.DateTimeField(blank=True, editable=False, null=True, verbose_name='Востаннє показувалось')), ('content', ckeditor_uploader.fields.RichTextUploadingField(blank=True)), ('location', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='taskbar.location')), ], options={ 'verbose_name': 'сповіщення', 'verbose_name_plural': '1. Сповіщення', 'ordering': ['-id'], }, ), migrations.CreateModel( name='Weekday', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=15)), ('number', models.PositiveSmallIntegerField()), ], options={ 'ordering': ['id'], 'unique_together': {('name', 'number')}, }, ), migrations.CreateModel( name='Shift', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=40)), ('start_time', models.TimeField(null=True)), ('end_time', models.TimeField(null=True)), ('is_active', models.BooleanField(default=True)), ('location', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='taskbar.location')), ('weekdays', models.ManyToManyField(to='informing.Weekday')), ], options={ 'verbose_name_plural': '3. Зміни', 'ordering': ['-id'], 'unique_together': {('name', 'location')}, }, ), migrations.CreateModel( name='OrganizationalUnit', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=40)), ('description', models.CharField(blank=True, default='', max_length=200)), ('location', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='taskbar.location')), ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='informing.organizationalunit')), ('workplaces', models.ManyToManyField(blank=True, to='taskbar.Workplace')), ], options={ 'verbose_name_plural': '4. Дільниці', 'ordering': ['-id'], 'unique_together': {('name', 'location')}, }, ), migrations.CreateModel( name='NotificationConfirmation', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('user_id', models.PositiveIntegerField()), ('datetime', models.DateTimeField(auto_now_add=True)), ('notification', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='informing.notification')), ], options={ 'verbose_name_plural': '2. Підтведження перегляду сповіщення', 'ordering': ['-id'], }, ), migrations.AddField( model_name='notification', name='recipients', field=models.ManyToManyField(blank=True, help_text='Оберіть отримувача по дільницям, для яких буде сповіщення, або лишіть порожнім для оповіщення всієї локації.
', related_name='recipients_notification', to='informing.OrganizationalUnit', verbose_name='Отримувач'), ), migrations.AddField( model_name='notification', name='shifts', field=models.ManyToManyField(blank=True, help_text='Оберіть зміни, для яких буде сповіщення, або лишіть порожнім для оповіщення на протязи доби.
', to='informing.Shift', verbose_name='зміни'), ), migrations.AlterUniqueTogether( name='notification', unique_together={('name',)}, ), ]