From 35def0e921d0aaeaa91a48a91c8ab84cc52b0989 Mon Sep 17 00:00:00 2001 From: FreneticScribbler Date: Wed, 24 May 2023 23:05:04 +0100 Subject: [PATCH] Allow two decimal places in cable length, show training item IDs in selectpicker Will close #540 --- PyRIGS/views.py | 5 +++-- assets/migrations/0028_alter_asset_length.py | 18 ++++++++++++++++++ assets/models.py | 4 ++-- training/models.py | 4 ++++ 4 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 assets/migrations/0028_alter_asset_length.py diff --git a/PyRIGS/views.py b/PyRIGS/views.py index 1fec6a45..c34f014e 100644 --- a/PyRIGS/views.py +++ b/PyRIGS/views.py @@ -135,10 +135,11 @@ class SecureAPIRequest(generic.View): query = reduce(operator.and_, queries) objects = self.models[model].objects.filter(query) for o in objects: + name = o.display_name if hasattr(o, 'display_name') else o.name data = { 'pk': o.pk, 'value': o.pk, - 'text': o.name, + 'text': name, } try: # See if there is a valid update URL data['update'] = reverse(f"{model}_update", kwargs={'pk': o.pk}) @@ -183,7 +184,7 @@ class ModalURLMixin: url = reverse_lazy('closemodal') update_url = str(reverse_lazy(update, kwargs={'pk': self.object.pk})) messages.info(self.request, "modalobject=" + serializers.serialize("json", [self.object])) - messages.info(self.request, "modalobject[0]['update_url']='" + update_url + "'") + messages.info(self.request, f"modalobject[0]['update_url']='{update_url}'") else: url = reverse_lazy(detail, kwargs={ 'pk': self.object.pk, diff --git a/assets/migrations/0028_alter_asset_length.py b/assets/migrations/0028_alter_asset_length.py new file mode 100644 index 00000000..78fadbdf --- /dev/null +++ b/assets/migrations/0028_alter_asset_length.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.19 on 2023-05-24 22:03 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('assets', '0027_asset_nickname'), + ] + + operations = [ + migrations.AlterField( + model_name='asset', + name='length', + field=models.DecimalField(blank=True, decimal_places=2, help_text='m', max_digits=10, null=True), + ), + ] diff --git a/assets/models.py b/assets/models.py index 32331029..3d8f70c8 100644 --- a/assets/models.py +++ b/assets/models.py @@ -135,7 +135,7 @@ class Asset(models.Model, RevisionMixin): # Cable assets is_cable = models.BooleanField(default=False) cable_type = models.ForeignKey(to=CableType, blank=True, null=True, on_delete=models.SET_NULL) - length = models.DecimalField(decimal_places=1, max_digits=10, + length = models.DecimalField(decimal_places=2, max_digits=10, blank=True, null=True, help_text='m') csa = models.DecimalField(decimal_places=2, max_digits=10, blank=True, null=True, help_text='mm²') @@ -192,5 +192,5 @@ class Asset(models.Model, RevisionMixin): return str(self.asset_id) @property - def name(self): + def display_name(self): return f"{self.display_id} | {self.description}" diff --git a/training/models.py b/training/models.py index 694af080..c107890c 100644 --- a/training/models.py +++ b/training/models.py @@ -105,6 +105,10 @@ class TrainingItem(models.Model): def display_id(self): return f"{self.category.reference_number}.{self.reference_number}" + @property + def display_name(self): + return f"{self.display_id} | {self.name}" + @display_id.filter @classmethod def display_id(cls, lookup, value):