From efb55c720fe870bf203c088f56429887835a7004 Mon Sep 17 00:00:00 2001 From: simonkuehling Date: Thu, 23 Feb 2023 20:58:54 +0100 Subject: [PATCH] Improve wording for "Inherited" option of BOM items (#4376) (#4397) * improve wording for "Inherited" option of BOM items (#4376) * add migrations --- InvenTree/part/api.py | 2 +- .../migrations/0099_alter_bomitem_inherited.py | 18 ++++++++++++++++++ InvenTree/part/models.py | 2 +- InvenTree/part/templates/part/upload_bom.html | 2 +- InvenTree/templates/js/translated/bom.js | 7 ++----- InvenTree/templates/js/translated/helpers.js | 17 ++++++++++++++--- .../templates/js/translated/table_filters.js | 4 ++-- 7 files changed, 39 insertions(+), 13 deletions(-) create mode 100644 InvenTree/part/migrations/0099_alter_bomitem_inherited.py diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index 233349e554..e67640ccef 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -1634,7 +1634,7 @@ class BomFilter(rest_filters.FilterSet): # Boolean filters for BOM item optional = rest_filters.BooleanFilter(label='BOM item is optional') consumable = rest_filters.BooleanFilter(label='BOM item is consumable') - inherited = rest_filters.BooleanFilter(label='BOM item is inherited') + inherited = rest_filters.BooleanFilter(label='BOM item gets inherited') allow_variants = rest_filters.BooleanFilter(label='Variants are allowed') # Filters for linked 'part' diff --git a/InvenTree/part/migrations/0099_alter_bomitem_inherited.py b/InvenTree/part/migrations/0099_alter_bomitem_inherited.py new file mode 100644 index 0000000000..f424e13143 --- /dev/null +++ b/InvenTree/part/migrations/0099_alter_bomitem_inherited.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.18 on 2023-02-23 11:53 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('part', '0098_auto_20230214_1115'), + ] + + operations = [ + migrations.AlterField( + model_name='bomitem', + name='inherited', + field=models.BooleanField(default=False, help_text='This BOM item is inherited by BOMs for variant parts', verbose_name='Gets inherited'), + ), + ] diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 59e5d78213..a0ff025147 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -3512,7 +3512,7 @@ class BomItem(DataImportMixin, models.Model): inherited = models.BooleanField( default=False, - verbose_name=_('Inherited'), + verbose_name=_('Gets inherited'), help_text=_('This BOM item is inherited by BOMs for variant parts'), ) diff --git a/InvenTree/part/templates/part/upload_bom.html b/InvenTree/part/templates/part/upload_bom.html index af0c88e529..68ec20f5e2 100644 --- a/InvenTree/part/templates/part/upload_bom.html +++ b/InvenTree/part/templates/part/upload_bom.html @@ -54,7 +54,7 @@ {% trans "Reference" %} {% trans "Overage" %} {% trans "Allow Variants" %} - {% trans "Inherited" %} + {% trans "Gets inherited" %} {% trans "Optional" %} {% trans "Note" %} diff --git a/InvenTree/templates/js/translated/bom.js b/InvenTree/templates/js/translated/bom.js index 4d277e9620..9ee63099b4 100644 --- a/InvenTree/templates/js/translated/bom.js +++ b/InvenTree/templates/js/translated/bom.js @@ -1019,7 +1019,7 @@ function loadBomTable(table, options={}) { cols.push({ field: 'inherited', - title: '{% trans "Inherited" %}', + title: '{% trans "Gets inherited" %}', searchable: false, formatter: function(value, row) { // This BOM item *is* inheritable, but is defined for this BOM @@ -1029,10 +1029,7 @@ function loadBomTable(table, options={}) { return yesNoLabel(true); } else { // If this BOM item is inherited from a parent part - return renderLink( - '{% trans "View BOM" %}', - `/part/${row.part}/bom/`, - ); + return yesNoLabel(true, {muted: true}); } } }); diff --git a/InvenTree/templates/js/translated/helpers.js b/InvenTree/templates/js/translated/helpers.js index 54be4db016..145a0e6c0e 100644 --- a/InvenTree/templates/js/translated/helpers.js +++ b/InvenTree/templates/js/translated/helpers.js @@ -19,12 +19,23 @@ withTitle, */ -function yesNoLabel(value) { +function yesNoLabel(value, options={}) { + var text = ''; + var color = ''; + if (value) { - return `{% trans "YES" %}`; + text = '{% trans "YES" %}'; + color = 'bg-success'; } else { - return `{% trans "NO" %}`; + text = '{% trans "NO" %}'; + color = 'bg-warning'; } + + if (options.muted) { + color = 'bg-secondary'; + } + + return `${text}`; } diff --git a/InvenTree/templates/js/translated/table_filters.js b/InvenTree/templates/js/translated/table_filters.js index 6eb1b35791..9eab6a1bb8 100644 --- a/InvenTree/templates/js/translated/table_filters.js +++ b/InvenTree/templates/js/translated/table_filters.js @@ -73,7 +73,7 @@ function getAvailableTableFilters(tableKey) { }, inherited: { type: 'bool', - title: '{% trans "Inherited" %}', + title: '{% trans "Gets inherited" %}', }, allow_variants: { type: 'bool', @@ -105,7 +105,7 @@ function getAvailableTableFilters(tableKey) { return { 'inherited': { type: 'bool', - title: '{% trans "Inherited" %}', + title: '{% trans "Gets inherited" %}', }, 'optional': { type: 'bool',