Skip to content

Commit

Permalink
Merge pull request #243 from WHOIGit/mario_dev_1.5.2
Browse files Browse the repository at this point in the history
Allow entry of new Config/Constant Defaults after new(er) C/C Names are added
  • Loading branch information
ethanandrews authored Nov 6, 2020
2 parents c84c55d + 8fa462a commit c16be66
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 3 deletions.
2 changes: 1 addition & 1 deletion roundabout/calibrations/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -335,7 +335,7 @@ def validate_coeff_array(coeff_1d_array, valset_inst, val_set_index = 0, filenam
assert len(digits_only) <= 32
except:
raise ValidationError(
_('File: %(filename)s, Calibration Name: %(cal_name)s, Row: %(row)s, Column: %(column)s, %(value)s Exceeded 20-digit max length'),
_('File: %(filename)s, Calibration Name: %(cal_name)s, Row: %(row)s, Column: %(column)s, %(value)s Exceeded 32-digit max length'),
params={'row': error_row_index, 'column': error_col_index, 'value': val, 'filename': filename, 'cal_name': cal_name},
)
else:
Expand Down
44 changes: 42 additions & 2 deletions roundabout/configs_constants/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -648,10 +648,30 @@ def get(self, request, *args, **kwargs):
self.object = self.get_object()
form_class = self.get_form_class()
form = self.get_form(form_class)
inv_inst = Inventory.objects.get(id=self.object.inventory.id)
conf_name_event = inv_inst.part.config_name_events.first()
const_names = conf_name_event.config_names.filter(config_type='cnst', deprecated = False).order_by('created_at')
form.fields['user_draft'].required = False
event_default_form = EventConstDefaultFormset(
EventDefaultAddFormset = inlineformset_factory(
ConstDefaultEvent,
ConstDefault,
form=ConstDefaultForm,
fields=('config_name', 'default_value'),
extra=len(const_names) - len(self.object.constant_defaults.all()),
can_delete=True
)
event_default_form = EventDefaultAddFormset(
instance=self.object
)
for idx,name in enumerate(const_names):
try:
default_value = ConstDefault.objects.get(config_name = name, const_event = self.object)
except ConstDefault.DoesNotExist:
default_value = ''
event_default_form.forms[idx].initial = {
'config_name': name,
'default_value': default_value
}
return self.render_to_response(
self.get_context_data(
form=form,
Expand Down Expand Up @@ -859,9 +879,29 @@ def get(self, request, *args, **kwargs):
form_class = self.get_form_class()
form = self.get_form(form_class)
form.fields['user_draft'].required = False
event_default_form = EventConfigDefaultFormset(
assm_part_inst = AssemblyPart.objects.get(id=self.object.assembly_part.id)
conf_name_event = assm_part_inst.part.config_name_events.first()
conf_names = conf_name_event.config_names.filter(config_type='conf', deprecated = False).order_by('created_at')
EventConfigDefaultAddFormset = inlineformset_factory(
ConfigDefaultEvent,
ConfigDefault,
form=ConfigDefaultForm,
fields=('config_name', 'default_value'),
extra=len(conf_names) - len(self.object.config_defaults.all()),
can_delete=True
)
event_default_form = EventConfigDefaultAddFormset(
instance=self.object
)
for idx,name in enumerate(conf_names):
try:
default_value = ConfigDefault.objects.get(config_name = name, conf_def_event = self.object)
except ConfigDefault.DoesNotExist:
default_value = ''
event_default_form.forms[idx].initial = {
'config_name': name,
'default_value': default_value
}
return self.render_to_response(
self.get_context_data(
form=form,
Expand Down
14 changes: 14 additions & 0 deletions roundabout/parts/migrations/0010_merge_20201015_1353.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Generated by Django 2.2.13 on 2020-10-15 13:53

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
('parts', '0009_auto_20201014_2007'),
('parts', '0009_parttype_ccc_toggle'),
]

operations = [
]
14 changes: 14 additions & 0 deletions roundabout/parts/migrations/0011_merge_20201105_1645.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Generated by Django 2.2.13 on 2020-11-05 16:45

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
('parts', '0010_merge_20201015_1353'),
('parts', '0010_merge_20201015_2202'),
]

operations = [
]

0 comments on commit c16be66

Please sign in to comment.