django-bom 1.257__py3-none-any.whl → 1.259__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -215,9 +215,17 @@ def migrate_part_revision_data(apps, schema_editor):
215
215
  if quantity_name:
216
216
  qom_obj = QuantityOfMeasure.objects.get(name=quantity_name)
217
217
 
218
+ # Map long type names to single character codes
219
+ type_mapping = {
220
+ 'number': 'D',
221
+ 'string': 'S',
222
+ 'boolean': 'B',
223
+ }
224
+ mapped_type = type_mapping.get(type_val, type_val)
225
+
218
226
  definition, created = PartRevisionPropertyDefinition.objects.get_or_create(
219
227
  code=code,
220
- defaults={'name': name, 'type': type_val, 'quantity_of_measure': qom_obj, 'organization': None}
228
+ defaults={'name': name, 'type': mapped_type, 'quantity_of_measure': qom_obj, 'organization': None}
221
229
  )
222
230
  definitions[old_field] = definition
223
231
 
@@ -226,25 +234,25 @@ def migrate_part_revision_data(apps, schema_editor):
226
234
  qom_res = QuantityOfMeasure.objects.get(name='Resistance')
227
235
  def_resistance, _ = PartRevisionPropertyDefinition.objects.get_or_create(
228
236
  code='resistance',
229
- defaults={'name': 'Resistance', 'type': 'number', 'quantity_of_measure': qom_res, 'organization': None}
237
+ defaults={'name': 'Resistance', 'type': 'D', 'quantity_of_measure': qom_res, 'organization': None}
230
238
  )
231
239
 
232
240
  qom_cap = QuantityOfMeasure.objects.get(name='Capacitance')
233
241
  def_capacitance, _ = PartRevisionPropertyDefinition.objects.get_or_create(
234
242
  code='capacitance',
235
- defaults={'name': 'Capacitance', 'type': 'number', 'quantity_of_measure': qom_cap, 'organization': None}
243
+ defaults={'name': 'Capacitance', 'type': 'D', 'quantity_of_measure': qom_cap, 'organization': None}
236
244
  )
237
245
 
238
246
  qom_ind = QuantityOfMeasure.objects.get(name='Inductance')
239
247
  def_inductance, _ = PartRevisionPropertyDefinition.objects.get_or_create(
240
248
  code='inductance',
241
- defaults={'name': 'Inductance', 'type': 'number', 'quantity_of_measure': qom_ind, 'organization': None}
249
+ defaults={'name': 'Inductance', 'type': 'D', 'quantity_of_measure': qom_ind, 'organization': None}
242
250
  )
243
251
 
244
252
  # Fallback for Generic Parts (ICs, etc) that have a 'value' but no specific type
245
253
  def_value, _ = PartRevisionPropertyDefinition.objects.get_or_create(
246
254
  code='value',
247
- defaults={'name': 'Value', 'type': 'string', 'quantity_of_measure': None, 'organization': None}
255
+ defaults={'name': 'Value', 'type': 'S', 'quantity_of_measure': None, 'organization': None}
248
256
  )
249
257
 
250
258
  # 3. Helper for Unit Lookup
@@ -24,9 +24,12 @@ where XXX should be the name of the includee's object that represent its PartRev
24
24
  <div class="col s12">
25
25
  {% if part_revision_form.property_definitions %}
26
26
  <h4>Properties</h4>
27
- {% else %}
27
+ {% elif not part_revision_form.instance.pk %}
28
28
  <p><i>You can add part class specific properties (e.g. voltage, width, sheen, etc) after creating the
29
29
  part.</i></p>
30
+ {% else %}
31
+ <p><i>This part has no properties assigned. The organization admin can assign properties to this part class
32
+ in settings.</i></p>
30
33
  {% endif %}
31
34
  </div>
32
35
  </div>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-bom
3
- Version: 1.257
3
+ Version: 1.259
4
4
  Summary: A simple Django app to manage a bill of materials.
5
5
  Author-email: Mike Kasparian <mpkasp@gmail.com>
6
6
  License: GPL-3.0-only
@@ -70,7 +70,7 @@ bom/migrations/0048_rename_part_organization_number_class_bom_part_organiz_b333d
70
70
  bom/migrations/0049_alter_assembly_id_alter_assemblysubparts_id_and_more.py,sha256=l1q5BCNVYWD6Ngf9pGzYq1hQMvvshmdFlm33On63YNc,3247
71
71
  bom/migrations/0050_alter_organization_options.py,sha256=n-YGAoUdUxYdh5NY0Zpz2T4CWEOR7tDjSFFk-KZD_tw,432
72
72
  bom/migrations/0051_alter_manufacturer_organization_and_more.py,sha256=xjnkZhEgsJDsfK9leBPxxQ2oG_Qf2FdrttTx-lldmjw,1539
73
- bom/migrations/0052_remove_partrevision_attribute_and_more.py,sha256=dD-wYk2VUkFJvyeJZTftcb60qS48c1foXUh9NkFgbiE,31148
73
+ bom/migrations/0052_remove_partrevision_attribute_and_more.py,sha256=WxRL6J8pepMfyuATUj7blr_1LG8Lf1ZdK_kLN1F_F-o,31364
74
74
  bom/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
75
  bom/static/bom/css/dashboard.css,sha256=saLXUpnVRjsV9HNdsmQD4Eq-zBlm8R2YePhvoc1uifk,245
76
76
  bom/static/bom/css/jquery.treetable.css,sha256=H37aGBAAFP3R6v08nui9gKSdLE2VGsGsmlttrIImzfE,652
@@ -156,7 +156,7 @@ bom/templates/bom/manufacturers.html,sha256=3ZF8Up-IiAvR6CCmrj_92qPPh7vKrVQaEN05
156
156
  bom/templates/bom/nothing-to-see.html,sha256=cRspNAHlSfv7KjQwp34gANhVqQbXzfFpqtRSm6NoV9s,657
157
157
  bom/templates/bom/organization-create.html,sha256=yLrEJH8BlD-W1USk8pYAzTvr-Qw9ZM5rBGYO3n6lCu0,7982
158
158
  bom/templates/bom/part-info.html,sha256=236TZ6yTvR5LCravYiuKgzL_CB6nXrd0_C299gvQF8U,26051
159
- bom/templates/bom/part-revision-display.html,sha256=f5o-9cjGBz7KPp8ubSiUiFNa2tWzHqSKSe3rC7smR6A,1414
159
+ bom/templates/bom/part-revision-display.html,sha256=vudHBodDayjfWZaX4ZMISQXEkmoj3inMJYh4IobePAQ,1625
160
160
  bom/templates/bom/part-revision-edit.html,sha256=gOWiRd8Vq0z912_fI9UtBC0yYkcF_lruMQfAWN4kqw0,1624
161
161
  bom/templates/bom/part-revision-manage-bom.html,sha256=Nd1CIANnCwYU5KzijlIDfKTXjXqrDOeuwmGOk-CYyrY,5073
162
162
  bom/templates/bom/part-revision-new.html,sha256=BMgKBNmFkrsimqSeviP1Rn3huOB_0kfK-77oIyqwItw,2691
@@ -184,8 +184,8 @@ bom/third_party_apis/test_apis.py,sha256=2W0jtTisGTmktC7l556pn9-pZYseTQmmQfo6_4u
184
184
  bom/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
185
185
  bom/views/json_views.py,sha256=LK3-njLZrILLqZxCuE-_sUEC2z2GBxQFRysX67-h14c,2334
186
186
  bom/views/views.py,sha256=rYEtIPEJMu1rFSNUARcBlJUe8NgBKoHxl38VWYb8htY,80320
187
- django_bom-1.257.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
188
- django_bom-1.257.dist-info/METADATA,sha256=50SYINtL9U2pkOe6ypyXI4JCdb5i3GYG2mnOV7bzQ00,7558
189
- django_bom-1.257.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
190
- django_bom-1.257.dist-info/top_level.txt,sha256=6zytg4lnnobI96dO-ZEadPOCslrrFmf4t2Pnv-y8x0Y,4
191
- django_bom-1.257.dist-info/RECORD,,
187
+ django_bom-1.259.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
188
+ django_bom-1.259.dist-info/METADATA,sha256=KRRbUCKMqFkzpbmYa4s8Kj-i6W7NOtpcZgN4CzDquH0,7558
189
+ django_bom-1.259.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
190
+ django_bom-1.259.dist-info/top_level.txt,sha256=6zytg4lnnobI96dO-ZEadPOCslrrFmf4t2Pnv-y8x0Y,4
191
+ django_bom-1.259.dist-info/RECORD,,