Files
ihrm/onboarding/migrations/0001_initial.py

559 lines
20 KiB
Python

# Generated by Django 5.2.7 on 2025-10-25 14:02
import django.db.models.deletion
import simple_history.models
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
("employee", "0001_initial"),
("horilla_audit", "0001_initial"),
("recruitment", "0001_initial"),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name="OnboardingCandidate",
fields=[],
options={
"verbose_name": "Onboarding Candidate",
"verbose_name_plural": "Onboarding Candidates",
"proxy": True,
"indexes": [],
"constraints": [],
},
bases=("recruitment.candidate",),
),
migrations.CreateModel(
name="OnboardingPortal",
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"),
),
("token", models.CharField(max_length=200)),
("used", models.BooleanField(default=False)),
("count", models.IntegerField(default=0)),
(
"profile",
models.ImageField(
blank=True, null=True, upload_to="employee/profile"
),
),
(
"candidate_id",
models.OneToOneField(
on_delete=django.db.models.deletion.PROTECT,
related_name="onboarding_portal",
to="recruitment.candidate",
),
),
(
"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={
"abstract": False,
},
),
migrations.CreateModel(
name="OnboardingStage",
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"),
),
(
"stage_title",
models.CharField(max_length=200, verbose_name="Stage Title"),
),
("sequence", models.IntegerField(null=True)),
(
"is_final_stage",
models.BooleanField(default=False, verbose_name="Is Final Stage"),
),
(
"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",
),
),
(
"employee_id",
models.ManyToManyField(
to="employee.employee", verbose_name="Stage Managers"
),
),
(
"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",
),
),
(
"recruitment_id",
models.ForeignKey(
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="onboarding_stage",
to="recruitment.recruitment",
verbose_name="Recruitment",
),
),
],
options={
"verbose_name": "Onboarding Stage",
"verbose_name_plural": "Onboarding Stages",
"ordering": ["sequence"],
},
),
migrations.CreateModel(
name="CandidateTask",
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"),
),
(
"status",
models.CharField(
blank=True,
choices=[
("todo", "Todo"),
("scheduled", "Scheduled"),
("ongoing", "Ongoing"),
("stuck", "Stuck"),
("done", "Done"),
],
default="todo",
max_length=50,
null=True,
),
),
(
"candidate_id",
models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT,
related_name="candidate_task",
to="recruitment.candidate",
),
),
(
"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",
),
),
(
"stage_id",
models.ForeignKey(
null=True,
on_delete=django.db.models.deletion.PROTECT,
related_name="candidate_task",
to="onboarding.onboardingstage",
),
),
],
options={
"verbose_name": "Onboarding Task",
"verbose_name_plural": "Onboarding Tasks",
},
),
migrations.CreateModel(
name="CandidateStage",
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"),
),
("onboarding_end_date", models.DateField(blank=True, null=True)),
("sequence", models.IntegerField(default=0, null=True)),
(
"candidate_id",
models.OneToOneField(
on_delete=django.db.models.deletion.PROTECT,
related_name="onboarding_stage",
to="recruitment.candidate",
),
),
(
"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",
),
),
(
"onboarding_stage_id",
models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT,
related_name="candidate",
to="onboarding.onboardingstage",
verbose_name="Stage",
),
),
],
options={
"verbose_name": "Candidate Onboarding Stage",
"ordering": ["sequence"],
},
),
migrations.CreateModel(
name="OnboardingTask",
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"),
),
(
"task_title",
models.CharField(max_length=200, verbose_name="Task Title"),
),
(
"candidates",
models.ManyToManyField(
blank=True,
related_name="cand_onboarding_task",
to="recruitment.candidate",
verbose_name="Candidates",
),
),
(
"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",
),
),
(
"employee_id",
models.ManyToManyField(
related_name="onboarding_task",
to="employee.employee",
verbose_name="Task Managers",
),
),
(
"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",
),
),
(
"stage_id",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="onboarding_task",
to="onboarding.onboardingstage",
),
),
],
options={
"verbose_name": "Onboarding Task",
"verbose_name_plural": "Onboarding Tasks",
},
),
migrations.CreateModel(
name="HistoricalCandidateTask",
fields=[
(
"id",
models.BigIntegerField(
auto_created=True, blank=True, db_index=True, verbose_name="ID"
),
),
(
"created_at",
models.DateTimeField(
blank=True, editable=False, null=True, verbose_name="Created At"
),
),
(
"is_active",
models.BooleanField(default=True, verbose_name="Is Active"),
),
(
"history_title",
models.CharField(blank=True, max_length=20, null=True),
),
("history_description", models.TextField(null=True)),
("history_highlight", models.BooleanField(default=False, null=True)),
(
"status",
models.CharField(
blank=True,
choices=[
("todo", "Todo"),
("scheduled", "Scheduled"),
("ongoing", "Ongoing"),
("stuck", "Stuck"),
("done", "Done"),
],
default="todo",
max_length=50,
null=True,
),
),
("history_id", models.AutoField(primary_key=True, serialize=False)),
("history_date", models.DateTimeField(db_index=True)),
("history_change_reason", models.CharField(max_length=100, null=True)),
(
"history_type",
models.CharField(
choices=[("+", "Created"), ("~", "Changed"), ("-", "Deleted")],
max_length=1,
),
),
(
"candidate_id",
models.ForeignKey(
blank=True,
db_constraint=False,
null=True,
on_delete=django.db.models.deletion.DO_NOTHING,
related_name="+",
to="recruitment.candidate",
),
),
(
"created_by",
models.ForeignKey(
blank=True,
db_constraint=False,
editable=False,
null=True,
on_delete=django.db.models.deletion.DO_NOTHING,
related_name="+",
to=settings.AUTH_USER_MODEL,
verbose_name="Created By",
),
),
(
"history_relation",
models.ForeignKey(
db_constraint=False,
on_delete=django.db.models.deletion.DO_NOTHING,
related_name="history_set",
to="onboarding.candidatetask",
),
),
("history_tags", models.ManyToManyField(to="horilla_audit.audittag")),
(
"history_user",
models.ForeignKey(
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="+",
to=settings.AUTH_USER_MODEL,
),
),
(
"modified_by",
models.ForeignKey(
blank=True,
db_constraint=False,
editable=False,
null=True,
on_delete=django.db.models.deletion.DO_NOTHING,
related_name="+",
to=settings.AUTH_USER_MODEL,
verbose_name="Modified By",
),
),
(
"stage_id",
models.ForeignKey(
blank=True,
db_constraint=False,
null=True,
on_delete=django.db.models.deletion.DO_NOTHING,
related_name="+",
to="onboarding.onboardingstage",
),
),
(
"onboarding_task_id",
models.ForeignKey(
blank=True,
db_constraint=False,
null=True,
on_delete=django.db.models.deletion.DO_NOTHING,
related_name="+",
to="onboarding.onboardingtask",
),
),
],
options={
"verbose_name": "historical Onboarding Task",
"verbose_name_plural": "historical Onboarding Tasks",
"ordering": ("-history_date", "-history_id"),
"get_latest_by": ("history_date", "history_id"),
},
bases=(simple_history.models.HistoricalChanges, models.Model),
),
migrations.AddField(
model_name="candidatetask",
name="onboarding_task_id",
field=models.ForeignKey(
on_delete=django.db.models.deletion.PROTECT,
to="onboarding.onboardingtask",
),
),
]