From 31a8c94d2f145d2af9e5e12299e1fc791f3dc940 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 16 Feb 2021 15:40:27 +1100 Subject: [PATCH] Adds 'issued_by' and 'responsible' field to BuildOrder - issued_by is a user - responsible is a user or a group --- InvenTree/build/forms.py | 2 ++ .../migrations/0026_auto_20210216_1539.py | 27 +++++++++++++++++++ InvenTree/build/models.py | 20 ++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 InvenTree/build/migrations/0026_auto_20210216_1539.py diff --git a/InvenTree/build/forms.py b/InvenTree/build/forms.py index 136d21d553..f5764b9d93 100644 --- a/InvenTree/build/forms.py +++ b/InvenTree/build/forms.py @@ -53,6 +53,8 @@ class EditBuildForm(HelperForm): 'parent', 'sales_order', 'link', + 'issued_by', + 'responsible', ] diff --git a/InvenTree/build/migrations/0026_auto_20210216_1539.py b/InvenTree/build/migrations/0026_auto_20210216_1539.py new file mode 100644 index 0000000000..aee7c44bd6 --- /dev/null +++ b/InvenTree/build/migrations/0026_auto_20210216_1539.py @@ -0,0 +1,27 @@ +# Generated by Django 3.0.7 on 2021-02-16 04:39 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('users', '0005_owner_model'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('build', '0025_build_target_date'), + ] + + operations = [ + migrations.AddField( + model_name='build', + name='issued_by', + field=models.ForeignKey(blank=True, help_text='User who issued this build order', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='builds_issued', to=settings.AUTH_USER_MODEL), + ), + migrations.AddField( + model_name='build', + name='responsible', + field=models.ForeignKey(blank=True, help_text='User responsible for this build order', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='builds_responsible', to='users.Owner'), + ), + ] diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index c1d4aa8026..3908816454 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -33,6 +33,7 @@ import InvenTree.fields from stock import models as StockModels from part import models as PartModels +from users import models as UserModels class Build(MPTTModel): @@ -53,6 +54,9 @@ class Build(MPTTModel): completion_date: Date the build was completed (or, if incomplete, the expected date of completion) link: External URL for extra information notes: Text notes + completed_by: User that completed the build + issued_by: User that issued the build + responsible: User (or group) responsible for completing the build """ OVERDUE_FILTER = Q(status__in=BuildStatus.ACTIVE_CODES) & ~Q(target_date=None) & Q(target_date__lte=datetime.now().date()) @@ -214,6 +218,22 @@ class Build(MPTTModel): blank=True, null=True, related_name='builds_completed' ) + + issued_by = models.ForeignKey( + User, + on_delete=models.SET_NULL, + blank=True, null=True, + help_text=_('User who issued this build order'), + related_name='builds_issued', + ) + + responsible = models.ForeignKey( + UserModels.Owner, + on_delete=models.SET_NULL, + blank=True, null=True, + help_text=_('User responsible for this build order'), + related_name='builds_responsible', + ) link = InvenTree.fields.InvenTreeURLField( verbose_name=_('External Link'),