From e8621a97bce47c28eb9eef5c145a53249a9792ce Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 25 Aug 2022 07:33:36 +1000 Subject: [PATCH] Part parameter update (#3605) * Adds 'description' field to PartParameterTemplate model * Add 'description' field to API, update settings table * Bump API version * Allow more characters in PartParameterTemplate name --- InvenTree/InvenTree/api_version.py | 5 ++++- .../0085_partparametertemplate_description.py | 18 ++++++++++++++++++ InvenTree/part/models.py | 9 ++++++++- InvenTree/part/serializers.py | 1 + .../templates/InvenTree/settings/settings.html | 15 ++++++++++++--- 5 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 InvenTree/part/migrations/0085_partparametertemplate_description.py diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index 9a3b1cef2f..73e9d135d4 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,11 +2,14 @@ # InvenTree API version -INVENTREE_API_VERSION = 72 +INVENTREE_API_VERSION = 73 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v73 -> 2022-08-24 : https://github.com/inventree/InvenTree/pull/3605 + - Add 'description' field to PartParameterTemplate model + v72 -> 2022-08-18 : https://github.com/inventree/InvenTree/pull/3567 - Allow PurchaseOrder to be duplicated via the API diff --git a/InvenTree/part/migrations/0085_partparametertemplate_description.py b/InvenTree/part/migrations/0085_partparametertemplate_description.py new file mode 100644 index 0000000000..9e0103eeaf --- /dev/null +++ b/InvenTree/part/migrations/0085_partparametertemplate_description.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.15 on 2022-08-24 12:09 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('part', '0084_partcategory_icon'), + ] + + operations = [ + migrations.AddField( + model_name='partparametertemplate', + name='description', + field=models.CharField(blank=True, help_text='Parameter description', max_length=250, verbose_name='Description'), + ), + ] diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index ba88979267..16035c5a46 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -2369,7 +2369,7 @@ class PartTestTemplate(models.Model): def validate_template_name(name): """Prevent illegal characters in "name" field for PartParameterTemplate.""" - for c in "!@#$%^&*()<>{}[].,?/\\|~`_+-=\'\"": # noqa: P103 + for c in "\"\'`!?|": # noqa: P103 if c in str(name): raise ValidationError(_(f"Illegal character in template name ({c})")) @@ -2424,6 +2424,13 @@ class PartParameterTemplate(models.Model): units = models.CharField(max_length=25, verbose_name=_('Units'), help_text=_('Parameter Units'), blank=True) + description = models.CharField( + max_length=250, + verbose_name=_('Description'), + help_text=_('Parameter description'), + blank=True, + ) + class PartParameter(models.Model): """A PartParameter is a specific instance of a PartParameterTemplate. It assigns a particular parameter pair to a part. diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py index 3c983bfe04..a757f566b6 100644 --- a/InvenTree/part/serializers.py +++ b/InvenTree/part/serializers.py @@ -240,6 +240,7 @@ class PartParameterTemplateSerializer(InvenTreeModelSerializer): 'pk', 'name', 'units', + 'description', ] diff --git a/InvenTree/templates/InvenTree/settings/settings.html b/InvenTree/templates/InvenTree/settings/settings.html index de3a36b9d1..1eec787ce2 100644 --- a/InvenTree/templates/InvenTree/settings/settings.html +++ b/InvenTree/templates/InvenTree/settings/settings.html @@ -345,16 +345,23 @@ $("#param-table").inventreeTable({ { field: 'name', title: '{% trans "Name" %}', - sortable: 'true', + sortable: true, }, { field: 'units', title: '{% trans "Units" %}', - sortable: 'true', + sortable: true, + switchable: true, + }, + { + field: 'description', + title: '{% trans "Description" %}', + sortable: false, + switchable: true, }, { formatter: function(value, row, index, field) { - var bEdit = ""; + var bEdit = ""; var bDel = ""; var html = "
" + bEdit + bDel + "
"; @@ -370,6 +377,7 @@ $("#new-param").click(function() { fields: { name: {}, units: {}, + description: {}, }, method: 'POST', title: '{% trans "Create Part Parameter Template" %}', @@ -389,6 +397,7 @@ $("#param-table").on('click', '.template-edit', function() { fields: { name: {}, units: {}, + description: {}, }, title: '{% trans "Edit Part Parameter Template" %}', onSuccess: function() {