alternative panel config form
This commit is contained in:
@@ -11,6 +11,7 @@ from django.forms import ModelForm
|
||||
import dataprep
|
||||
import types
|
||||
import datetime
|
||||
from django.forms import formset_factory
|
||||
|
||||
# login form
|
||||
class LoginForm(forms.Form):
|
||||
@@ -128,6 +129,25 @@ class WorkFlowMiddlePanelForm(forms.Form):
|
||||
panels = defaultmiddle
|
||||
|
||||
super(WorkFlowMiddlePanelForm,self).__init__(*args, **kwargs)
|
||||
|
||||
class WorkFlowLeftPanelElement(forms.Form):
|
||||
panelchoices = tuple(list(workflowleftpanel)+[(None,'None')])
|
||||
|
||||
panel = forms.ChoiceField(
|
||||
label='',
|
||||
choices=panelchoices,
|
||||
initial=None,
|
||||
)
|
||||
|
||||
class WorkFlowMiddlePanelElement(forms.Form):
|
||||
panelchoices = tuple(list(workflowmiddlepanel)+[(None,'None')])
|
||||
|
||||
panel = forms.ChoiceField(
|
||||
label='',
|
||||
choices=panelchoices,
|
||||
initial=None,
|
||||
)
|
||||
|
||||
|
||||
# The form to indicate additional actions to be performed immediately
|
||||
# after a successful upload
|
||||
|
||||
76
rowers/templates/workflowconfig2.html
Normal file
76
rowers/templates/workflowconfig2.html
Normal file
@@ -0,0 +1,76 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}Change Rower Export Settings{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<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 %}
|
||||
<div class="grid_2 suffix_10 alpha">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workoutid }}/workflow">Return to Workout</a>
|
||||
</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class-"grid_12 alpha">
|
||||
<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">
|
||||
{% for leftpanel_form in leftpanel_formset %}
|
||||
<div class="leftpanel-formset grid_5 alpha">
|
||||
<table>
|
||||
{{ leftpanel_form.as_table }}
|
||||
</table>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% csrf_token %}
|
||||
<input class="grid_2 alpha button green" type="submit" value="Save">
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="grid_6 omega ">
|
||||
<h2>Middle Panel</h2>
|
||||
<p>
|
||||
{{ middlepanel_formset.management_form }}
|
||||
</p>
|
||||
<form enctype="multipart/form-data" action="" method="post">
|
||||
{% for middlepanel_form in middlepanel_formset %}
|
||||
<div class="middlepanel-formset grid_5 alpha">
|
||||
<table>
|
||||
{{ middlepanel_form.as_table }}
|
||||
</table>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% csrf_token %}
|
||||
<input class="grid_2 alpha button green" type="submit" value="Save">
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- Include formset plugin - including jQuery dependency -->
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
|
||||
<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>'
|
||||
});
|
||||
$('.middlepanel-formset').formset({
|
||||
addText: '<div class="button grid_2 green small">add element</div>',
|
||||
deleteText: '<div class="button grid_2 red small">remove</div>'
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
{% endblock %}
|
||||
@@ -313,6 +313,7 @@ urlpatterns = [
|
||||
url(r'^me/c2refresh/$',views.rower_c2_token_refresh),
|
||||
url(r'^me/favoritecharts/$',views.rower_favoritecharts_view),
|
||||
url(r'^me/workflowconfig$',views.workout_workflow_config_view),
|
||||
url(r'^me/workflowconfig2$',views.workout_workflow_config2_view),
|
||||
url(r'^email/send/$', views.sendmail),
|
||||
url(r'^email/thankyou/$', TemplateView.as_view(template_name='thankyou.html'), name='thankyou'),
|
||||
url(r'^email/$', TemplateView.as_view(template_name='email.html'), name='email'),
|
||||
|
||||
@@ -23,6 +23,7 @@ from django.contrib.auth import authenticate, login, logout
|
||||
from rowers.forms import (
|
||||
LoginForm,DocumentsForm,UploadOptionsForm,
|
||||
TeamUploadOptionsForm,WorkFlowLeftPanelForm,WorkFlowMiddlePanelForm,
|
||||
WorkFlowLeftPanelElement,WorkFlowMiddlePanelElement,
|
||||
)
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.core.exceptions import PermissionDenied
|
||||
@@ -5864,6 +5865,7 @@ def workout_workflow_config_view(request):
|
||||
|
||||
|
||||
r = getrower(request.user)
|
||||
|
||||
if request.method == 'POST' and 'leftpanel' in request.POST:
|
||||
formleft = WorkFlowLeftPanelForm(request.POST)
|
||||
if formleft.is_valid():
|
||||
@@ -5877,20 +5879,71 @@ def workout_workflow_config_view(request):
|
||||
r.workflowmiddlepanel = middlepanel
|
||||
r.save()
|
||||
|
||||
|
||||
formleft = WorkFlowLeftPanelForm(instance=r)
|
||||
formmiddle = WorkFlowMiddlePanelForm(instance=r)
|
||||
|
||||
|
||||
# Add processing of POST data
|
||||
tmplt = 'workflowconfig.html'
|
||||
|
||||
return render(request,'workflowconfig.html',
|
||||
|
||||
return render(request,tmplt,
|
||||
{
|
||||
'rower':r,
|
||||
'formleft':formleft,
|
||||
'formmiddle':formmiddle,
|
||||
'workoutid': workoutid,
|
||||
})
|
||||
|
||||
@login_required()
|
||||
def workout_workflow_config2_view(request):
|
||||
request.session['referer'] = absolute(request)['PATH']
|
||||
request.session[translation.LANGUAGE_SESSION_KEY] = USER_LANGUAGE
|
||||
try:
|
||||
workoutid = request.session['lastworkout']
|
||||
except KeyError:
|
||||
workoutid = 0
|
||||
|
||||
|
||||
r = getrower(request.user)
|
||||
|
||||
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)
|
||||
|
||||
|
||||
tmplt = 'workflowconfig2.html'
|
||||
|
||||
return render(request,tmplt,
|
||||
{
|
||||
'rower':r,
|
||||
'leftpanel_formset':leftpanel_formset,
|
||||
'middlepanel_formset':middlepanel_formset,
|
||||
'workoutid': workoutid,
|
||||
})
|
||||
|
||||
|
||||
# Workflow View
|
||||
@login_required()
|
||||
def workout_workflow_view(request,id):
|
||||
|
||||
Reference in New Issue
Block a user