Skip to content
This repository has been archived by the owner on Nov 20, 2023. It is now read-only.

Commit

Permalink
Merge pull request #51 from Yacobolo/feature/fix-models
Browse files Browse the repository at this point in the history
Feature/fix models
  • Loading branch information
Yacobolo authored Oct 16, 2023
2 parents cd8c634 + a1b1c63 commit 1e7ccb2
Show file tree
Hide file tree
Showing 41 changed files with 844 additions and 547 deletions.
6 changes: 3 additions & 3 deletions backend/api/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
admin.site.register(Job)
admin.site.register(OperationalException)
admin.site.register(OperationalExceptionType)
admin.site.register(ResourceGroups)
admin.site.register(Resources)
admin.site.register(ResourceGroup)
admin.site.register(Resource)
admin.site.register(User)
admin.site.register(Role)
admin.site.register(Tasks)
admin.site.register(Task)
278 changes: 135 additions & 143 deletions backend/api/migrations/0001_initial.py

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Generated by Django 4.2.4 on 2023-10-13 10:10

from django.db import migrations


class Migration(migrations.Migration):
dependencies = [
("api", "0001_initial"),
]

operations = [
migrations.RenameModel(
old_name="HistoricalResources",
new_name="HistoricalResource",
),
migrations.RenameModel(
old_name="Resources",
new_name="Resource",
),
migrations.AlterModelOptions(
name="historicalresource",
options={
"get_latest_by": ("history_date", "history_id"),
"ordering": ("-history_date", "-history_id"),
"verbose_name": "historical resource",
"verbose_name_plural": "historical resources",
},
),
]
42 changes: 42 additions & 0 deletions backend/api/migrations/0003_job_dependencies_and_more.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Generated by Django 4.2.4 on 2023-10-15 13:17

from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):
dependencies = [
("api", "0002_rename_historicalresources_historicalresource_and_more"),
]

operations = [
migrations.AddField(
model_name="job",
name="dependencies",
field=models.ManyToManyField(related_name="jobs", to="api.dependency"),
),
migrations.AlterField(
model_name="assignmentrulecriteria",
name="assignment_rule",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="criteria",
to="api.assignmentrule",
),
),
migrations.AlterField(
model_name="dependency",
name="dependency_status",
field=models.ForeignKey(
on_delete=django.db.models.deletion.DO_NOTHING,
to="api.dependencystatus",
),
),
migrations.AlterField(
model_name="dependency",
name="dependency_type",
field=models.ForeignKey(
on_delete=django.db.models.deletion.DO_NOTHING, to="api.dependencytypes"
),
),
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Generated by Django 4.2.4 on 2023-10-15 13:22

from django.db import migrations


class Migration(migrations.Migration):
dependencies = [
("api", "0003_job_dependencies_and_more"),
]

operations = [
migrations.RemoveField(
model_name="historicaltaskdependency",
name="created_by",
),
migrations.RemoveField(
model_name="historicaltaskdependency",
name="dependency",
),
migrations.RemoveField(
model_name="historicaltaskdependency",
name="history_user",
),
migrations.RemoveField(
model_name="historicaltaskdependency",
name="task",
),
migrations.RemoveField(
model_name="historicaltaskdependency",
name="updated_by",
),
migrations.RemoveField(
model_name="jobdependency",
name="created_by",
),
migrations.RemoveField(
model_name="jobdependency",
name="dependency",
),
migrations.RemoveField(
model_name="jobdependency",
name="job",
),
migrations.RemoveField(
model_name="jobdependency",
name="updated_by",
),
migrations.RemoveField(
model_name="taskdependency",
name="created_by",
),
migrations.RemoveField(
model_name="taskdependency",
name="dependency",
),
migrations.RemoveField(
model_name="taskdependency",
name="task",
),
migrations.RemoveField(
model_name="taskdependency",
name="updated_by",
),
migrations.DeleteModel(
name="HistoricalJobDependency",
),
migrations.DeleteModel(
name="HistoricalTaskDependency",
),
migrations.DeleteModel(
name="JobDependency",
),
migrations.DeleteModel(
name="TaskDependency",
),
]
29 changes: 29 additions & 0 deletions backend/api/migrations/0005_task_dependencies_alter_task_job.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Generated by Django 4.2.4 on 2023-10-15 19:19

from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):
dependencies = [
("api", "0004_remove_historicaltaskdependency_created_by_and_more"),
]

operations = [
migrations.AddField(
model_name="task",
name="dependencies",
field=models.ManyToManyField(related_name="tasks", to="api.dependency"),
),
migrations.AlterField(
model_name="task",
name="job",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="tasks",
to="api.job",
),
),
]
50 changes: 24 additions & 26 deletions backend/api/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1,26 +1,24 @@
from .assignment_rule import *
from .assignment_rule_criteria import *
from .assignment_rule_resource_group import *
from .dependency import *
from .dependency_status import *
from .dependency_types import *
from .item import *
from .job import *
from .job_dependency import *
from .job_status import *
from .job_type import *
from .operational_exception import *
from .operational_exception_type import *
from .resource_group import *
from .resource import *
from .role import *
from .schedule_run import *
from .schedule_run_status import *
from .task import *
from .task_dependency import *
from .task_resource_assignment import *
from .task_status import *
from .task_type import *
from .user import *
from .weekly_shift_template import *
from .weekly_shift_template_detail import *
from .assignment_rule import AssignmentRule
from .assignment_rule_criteria import AssignmentRuleCriteria
from .assignment_rule_resource_group import AssignmentRuleResourceGroup
from .dependency import Dependency
from .dependency_status import DependencyStatus
from .dependency_types import DependencyTypes
from .item import Item
from .job import Job
from .job_status import JobStatus
from .job_type import JobType
from .operational_exception import OperationalException
from .operational_exception_type import OperationalExceptionType
from .resource import Resource
from .resource_group import ResourceGroup
from .role import Role
from .schedule_run import ScheduleRun
from .schedule_run_status import ScheduleRunStatus
from .task import Task
from .task_resource_assignment import TasksResourceAssignment
from .task_status import TaskStatus
from .task_type import TaskType
from .user import User
from .weekly_shift_template import WeeklyShiftTemplate
from .weekly_shift_template_detail import WeeklyShiftTemplateDetail
8 changes: 5 additions & 3 deletions backend/api/models/assignment_rule_resource_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@
from django.db import models
from django.utils import timezone
from simple_history.models import HistoricalRecords
from .assignment_rule import AssignmentRule
from .resource_group import ResourceGroups

from api.utils.model_manager import ActiveManager

from .assignment_rule import AssignmentRule
from .resource_group import ResourceGroup


class AssignmentRuleResourceGroup(models.Model):
id = models.AutoField(primary_key=True)
Expand All @@ -17,7 +19,7 @@ class AssignmentRuleResourceGroup(models.Model):
null=True,
)
resource = models.ForeignKey(
ResourceGroups,
ResourceGroup,
on_delete=models.CASCADE,
related_name="resource_assignment_ids",
blank=True,
Expand Down
23 changes: 14 additions & 9 deletions backend/api/models/dependency.py
Original file line number Diff line number Diff line change
@@ -1,25 +1,22 @@
from django.conf import settings
from django.db import models
from django.utils import timezone
from api.models.dependency_types import DependencyTypes
from api.models.dependency_status import DependencyStatus
from simple_history.models import HistoricalRecords

from api.models.dependency_status import DependencyStatus
from api.models.dependency_types import DependencyTypes
from api.utils.model_manager import ActiveManager


class Dependency(models.Model):
id = models.AutoField(primary_key=True)
external_id = models.CharField(max_length=180, blank=True, null=True)
name = models.CharField(max_length=150)
dependency_type = models.ForeignKey(
DependencyTypes, on_delete=models.DO_NOTHING, blank=True, null=True
)
dependency_status = models.ForeignKey(
DependencyStatus, on_delete=models.DO_NOTHING, blank=True, null=True
)
external_id = models.CharField(max_length=180, blank=True, null=True)
expected_close_datetime = models.DateTimeField(blank=True, null=True)
actual_close_datetime = models.DateTimeField(blank=True, null=True)
notes = models.TextField(blank=True, null=True)
dependency_type = models.ForeignKey(DependencyTypes, on_delete=models.DO_NOTHING)
dependency_status = models.ForeignKey(DependencyStatus, on_delete=models.DO_NOTHING)

# Metadata
created_at = models.DateTimeField(default=timezone.now)
Expand All @@ -45,6 +42,14 @@ class Dependency(models.Model):

objects = ActiveManager()

@property
def job_id_list(self):
return list(self.jobs.values_list("id", flat=True))

@property
def task_id_list(self):
return list(self.tasks.values_list("id", flat=True))

def __str__(self):
return self.name

Expand Down
9 changes: 9 additions & 0 deletions backend/api/models/job.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ class Job(models.Model):
note = models.CharField(max_length=150, blank=True)
job_status = models.ForeignKey(JobStatus, on_delete=models.DO_NOTHING)
job_type = models.ForeignKey(JobType, on_delete=models.DO_NOTHING)
dependencies = models.ManyToManyField("Dependency", related_name="jobs")

# Metadata
created_at = models.DateTimeField(default=timezone.now)
Expand All @@ -46,6 +47,14 @@ class Job(models.Model):

objects = ActiveManager()

@property
def task_id_list(self):
return list(self.tasks.values_list("id", flat=True))

@property
def dependency_id_list(self):
return list(self.dependencies.values_list("id", flat=True))

def __str__(self):
return self.name

Expand Down
46 changes: 0 additions & 46 deletions backend/api/models/job_dependency.py

This file was deleted.

2 changes: 1 addition & 1 deletion backend/api/models/operational_exception_type.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from django.conf import settings
from django.db import models
from django.utils import timezone
from .resource_group import ResourceGroups
from simple_history.models import HistoricalRecords

from api.utils.model_manager import ActiveManager


Expand Down
Loading

0 comments on commit 1e7ccb2

Please sign in to comment.