Files
2023-12-12 21:57:11 +00:00

83 lines
4.6 KiB
Python

# Generated by Django 4.1.4 on 2023-12-12 14:22
from django.conf import settings
import django.contrib.postgres.fields.ranges
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
('generic', '0009_modality_short_code_alter_modality_modality'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='RotaRotation',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(help_text='Name of the rotation', max_length=100)),
],
),
migrations.CreateModel(
name='UserRotaDetails',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('end_date', models.DateField(blank=True, help_text='The date the user should be roted up until, for example their CCT date', null=True)),
('start_date', models.DateField(blank=True, help_text='The date the user should be roted from, for example if they join part way through a rota cycle', null=True)),
('full_time_equivalence', models.IntegerField(default=100, help_text='Percentage of FTE, 100 = Full Time', validators=[django.core.validators.MaxValueValidator(100), django.core.validators.MinValueValidator(0)])),
('nwd_monday', models.BooleanField(default=False)),
('nwd_tuesday', models.BooleanField(default=False)),
('nwd_wednesday', models.BooleanField(default=False)),
('nwd_thursday', models.BooleanField(default=False)),
('nwd_friday', models.BooleanField(default=False)),
('proc_site', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='generic.site')),
('rotation', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='rota.rotarotation')),
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
migrations.CreateModel(
name='Rota',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('start_date', models.DateField(help_text='The rota start date')),
('weeks_to_rota', models.IntegerField(default=26, help_text='The number of (whole) weeks the rota cycle runs for')),
('rotations', models.ManyToManyField(help_text='The rotations that are in the rota', to='rota.rotarotation')),
],
),
migrations.CreateModel(
name='OutOfProgrameEvent',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('date_range', django.contrib.postgres.fields.ranges.DateRangeField(help_text='The range of the out of programe event')),
('end_date', models.DateField()),
('reason', models.CharField(max_length=255)),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
migrations.CreateModel(
name='MultiLeaveRequest',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('date_range', django.contrib.postgres.fields.ranges.DateRangeField(help_text='The range of the leave request')),
('reason', models.CharField(max_length=255)),
('users', models.ManyToManyField(to=settings.AUTH_USER_MODEL)),
],
),
migrations.CreateModel(
name='LeaveRequest',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('date_range', django.contrib.postgres.fields.ranges.DateRangeField(help_text='The range of the leave request')),
('status', models.CharField(choices=[('UNDECIDED', 'Undecided'), ('REJECTED', 'Rejected'), ('ACCEPTED', 'Accepted')], default='UNDECIDED', max_length=10)),
('reason', models.CharField(max_length=255)),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
]