somewhat working form config2
This commit is contained in:
@@ -131,21 +131,21 @@ class WorkFlowMiddlePanelForm(forms.Form):
|
||||
super(WorkFlowMiddlePanelForm,self).__init__(*args, **kwargs)
|
||||
|
||||
class WorkFlowLeftPanelElement(forms.Form):
|
||||
panelchoices = tuple(list(workflowleftpanel)+[(None,'None')])
|
||||
panelchoices = tuple(list(workflowleftpanel)+[('None','None')])
|
||||
|
||||
panel = forms.ChoiceField(
|
||||
label='',
|
||||
choices=panelchoices,
|
||||
initial=None,
|
||||
initial='None',
|
||||
)
|
||||
|
||||
class WorkFlowMiddlePanelElement(forms.Form):
|
||||
panelchoices = tuple(list(workflowmiddlepanel)+[(None,'None')])
|
||||
panelchoices = tuple(list(workflowmiddlepanel)+[('None','None')])
|
||||
|
||||
panel = forms.ChoiceField(
|
||||
label='',
|
||||
choices=panelchoices,
|
||||
initial=None,
|
||||
initial='None',
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<script type="text/javascript" src="/static/js/reorderSelect.js"></script>
|
||||
<script type="text/javascript" src="/static/admin/js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="/static/admin/js/jquery.init.js"></script>
|
||||
{{ formmiddle.media }}
|
||||
|
||||
|
||||
<div class="grid_12 alpha">
|
||||
{% if workoutid %}
|
||||
@@ -20,10 +20,8 @@
|
||||
<h1>Workflow Page Configuration</h1>
|
||||
<div class="grid_6 alpha">
|
||||
<h2>Left Panel</h2>
|
||||
<p>
|
||||
{{ leftpanel_formset.management_form }}
|
||||
</p>
|
||||
<form enctype="multipart/form-data" action="" method="post">
|
||||
{{ leftpanel_formset.management_form }}
|
||||
{% for leftpanel_form in leftpanel_formset %}
|
||||
<div class="leftpanel-formset grid_5 alpha">
|
||||
<table>
|
||||
@@ -38,10 +36,8 @@
|
||||
|
||||
<div class="grid_6 omega ">
|
||||
<h2>Middle Panel</h2>
|
||||
<p>
|
||||
{{ middlepanel_formset.management_form }}
|
||||
</p>
|
||||
<form enctype="multipart/form-data" action="" method="post">
|
||||
{{ middlepanel_formset.management_form }}
|
||||
{% for middlepanel_form in middlepanel_formset %}
|
||||
<div class="middlepanel-formset grid_5 alpha">
|
||||
<table>
|
||||
@@ -61,12 +57,12 @@
|
||||
<script src="/static/js/jquery.formset.js"></script>
|
||||
<script>
|
||||
$('.leftpanel-formset').formset({
|
||||
addText: '<div class="button grid_2 green small">add element</div>',
|
||||
deleteText: '<div class="button grid_2 red small">remove</div>'
|
||||
addText: '<div class="button grid_2 alpha green small">add element</div>',
|
||||
deleteText: '<div class="button grid_2 alpha red small">remove</div>'
|
||||
});
|
||||
$('.middlepanel-formset').formset({
|
||||
addText: '<div class="button grid_2 green small">add element</div>',
|
||||
deleteText: '<div class="button grid_2 red small">remove</div>'
|
||||
addText: '<div class="button grid_2 alpha green small">add element</div>',
|
||||
deleteText: '<div class="button grid_2 alpha red small">remove</div>'
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
@@ -5906,31 +5906,42 @@ def workout_workflow_config2_view(request):
|
||||
|
||||
r = getrower(request.user)
|
||||
|
||||
MiddlePanelFormSet = formset_factory(WorkFlowMiddlePanelElement,extra=1)
|
||||
LeftPanelFormSet = formset_factory(WorkFlowLeftPanelElement,extra=1)
|
||||
|
||||
|
||||
if request.method == 'POST':
|
||||
wasmiddle = [1 for key,value in request.POST.items() if 'middlepanel' in key.lower()]
|
||||
wasleft = [1 for key,valye in request.POST.items() if 'leftpanel' in key.lower()]
|
||||
if wasmiddle:
|
||||
middlepanel_formset = MiddlePanelFormSet(request.POST,
|
||||
prefix='middlepanel')
|
||||
newmiddlepanel = []
|
||||
if middlepanel_formset.is_valid():
|
||||
for form in middlepanel_formset:
|
||||
value = form.cleaned_data.get('panel')
|
||||
if value != 'None':
|
||||
newmiddlepanel.append(value)
|
||||
|
||||
|
||||
newmiddlepanel = [i for i in newmiddlepanel if i != None]
|
||||
r.workflowmiddlepanel = newmiddlepanel
|
||||
try:
|
||||
r.save()
|
||||
except IntegrityError:
|
||||
messages.error(request,'Something went wrong')
|
||||
|
||||
leftpanelform_data = [{'panel':panel}
|
||||
for panel in r.workflowleftpanel]
|
||||
|
||||
LeftPanelFormSet = formset_factory(WorkFlowLeftPanelElement,extra=0)
|
||||
|
||||
middlepanelform_data = [{'panel':panel}
|
||||
for panel in r.workflowmiddlepanel]
|
||||
|
||||
MiddlePanelFormSet = formset_factory(WorkFlowMiddlePanelElement,extra=0)
|
||||
|
||||
if request.method == 'POST' and 'leftpanel' in request.POST:
|
||||
formleft = WorkFlowLeftPanelSimpleForm(request.POST)
|
||||
if formleft.is_valid():
|
||||
leftpanel = formleft.cleaned_data['leftpanel']
|
||||
r.workflowleftpanel = leftpanel
|
||||
r.save()
|
||||
if request.method == 'POST' and 'middlepanel' in request.POST:
|
||||
formmiddle = WorkFlowMiddlePanelSimpleForm(request.POST)
|
||||
if formmiddle.is_valid():
|
||||
middlepanel = formmiddle.cleaned_data['middlepanel']
|
||||
r.workflowmiddlepanel = middlepanel
|
||||
r.save()
|
||||
|
||||
leftpanel_formset = LeftPanelFormSet(initial=leftpanelform_data)
|
||||
middlepanel_formset = MiddlePanelFormSet(initial=middlepanelform_data)
|
||||
leftpanel_formset = LeftPanelFormSet(initial=leftpanelform_data,
|
||||
prefix='leftpanel')
|
||||
middlepanel_formset = MiddlePanelFormSet(initial=middlepanelform_data,
|
||||
prefix='middlepanel')
|
||||
|
||||
|
||||
tmplt = 'workflowconfig2.html'
|
||||
|
||||
Reference in New Issue
Block a user