559 lines
20 KiB
Python
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",
|
|
),
|
|
),
|
|
]
|