From 79c96ff2b591dfe017f974ee3fc1337d39370168 Mon Sep 17 00:00:00 2001 From: Jon Date: Fri, 7 Feb 2025 20:11:48 +0930 Subject: [PATCH] feat(itim): Service Notes Model ref: #526 #534 --- app/itim/migrations/0008_servicenotes.py | 29 +++++++++++++++ app/itim/models/service_notes.py | 45 ++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 app/itim/migrations/0008_servicenotes.py create mode 100644 app/itim/models/service_notes.py diff --git a/app/itim/migrations/0008_servicenotes.py b/app/itim/migrations/0008_servicenotes.py new file mode 100644 index 00000000..ef20312c --- /dev/null +++ b/app/itim/migrations/0008_servicenotes.py @@ -0,0 +1,29 @@ +# Generated by Django 5.1.5 on 2025-02-07 10:41 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0015_manufacturernotes'), + ('itim', '0007_clusternotes'), + ] + + operations = [ + migrations.CreateModel( + name='ServiceNotes', + fields=[ + ('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')), + ('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='itim.service', verbose_name='Model')), + ], + options={ + 'verbose_name': 'Service Note', + 'verbose_name_plural': 'Service Notes', + 'db_table': 'itim_service_notes', + 'ordering': ['-created'], + }, + bases=('core.modelnotes',), + ), + ] diff --git a/app/itim/models/service_notes.py b/app/itim/models/service_notes.py new file mode 100644 index 00000000..d3bb3986 --- /dev/null +++ b/app/itim/models/service_notes.py @@ -0,0 +1,45 @@ +from access.fields import * + +from core.models.model_notes import ModelNotes + +from itim.models.services import Service + + + +class ServiceNotes( + ModelNotes +): + + + class Meta: + + db_table = 'itim_service_notes' + + ordering = ModelNotes._meta.ordering + + verbose_name = 'Service Note' + + verbose_name_plural = 'Service Notes' + + + model = models.ForeignKey( + Service, + blank = False, + help_text = 'Model this note belongs to', + null = False, + on_delete = models.CASCADE, + related_name = 'notes', + verbose_name = 'Model', + ) + + table_fields: list = [] + + page_layout: dict = [] + + + def get_url_kwargs(self) -> dict: + + return { + 'model_id': self.model.pk, + 'pk': self.pk + }