def default_app(request, id, template='goflow/default_app.html', redirect='../../', submit_name='action'): ''' default application, used for prototyping workflows. ''' submit_values = ('OK', 'Cancel') id = int(id) if request.method == 'POST': data = request.POST.copy() try : workitem = WorkItem.objects.get_safe(int(id), user=request.user) except Exception, e : return HttpResponseRedirect('/error/role_denied/%s/' % id) inst = workitem.instance ob = inst.wfobject() form = DefaultAppForm(data, instance=ob) if form.is_valid(): #data = form.cleaned_data submit_value = request.POST[submit_name] workitem.instance.condition = submit_value workitem.instance.save() ob = form.save(workitem=workitem, submit_value=submit_value) #ob.comment = data['comment'] #ob.save(workitem=workitem, submit_value=submit_value) workitem.complete(request.user) return HttpResponseRedirect(redirect)
def default_app(request, id, template='djflow/default_app.html', redirect='../../', submit_name='action'): ''' default application, used for prototyping workflows. ''' submit_values = ('OK', 'Cancel') id = int(id) if request.method == 'POST': data = request.POST.copy() workitem = WorkItem.objects.get_safe(id, user=request.user) inst = workitem.instance ob = inst.wfobject() form = DefaultAppForm(data, instance=ob) if form.is_valid(): #data = form.cleaned_data submit_value = request.POST[submit_name] workitem.instance.condition = submit_value workitem.instance.save() ob = form.save(workitem=workitem, submit_value=submit_value) #ob.comment = data['comment'] #ob.save(workitem=workitem, submit_value=submit_value) workitem.complete(request.user) return HttpResponseRedirect(redirect) else: workitem = WorkItem.objects.get_safe(id, user=request.user) inst = workitem.instance ob = inst.wfobject() form = DefaultAppForm(instance=ob) # add header with activity description, submit buttons dynamically if workitem.activity.split_mode == 'x': tlist = workitem.activity.transition_inputs.all() if tlist.count() > 0: submit_values = [] for t in tlist: submit_values.append( _cond_to_button_value(t.condition) ) return render_to_response(template, {'form': form, 'activity':workitem.activity, 'workitem':workitem, 'instance':inst, 'history':inst.wfobject().history, 'submit_values':submit_values,}, context_instance=RequestContext(request))
def default_app(request, id, template='djflow/default_app.html', redirect='../../', submit_name='action'): ''' default application, used for prototyping workflows. ''' submit_values = ('OK', 'Cancel') id = int(id) if request.method == 'POST': data = request.POST.copy() workitem = WorkItem.objects.get_safe(id, user=request.user) inst = workitem.instance ob = inst.wfobject() form = DefaultAppForm(data, instance=ob) if form.is_valid(): #data = form.cleaned_data submit_value = request.POST[submit_name] workitem.instance.condition = submit_value workitem.instance.save() ob = form.save(workitem=workitem, submit_value=submit_value) #ob.comment = data['comment'] #ob.save(workitem=workitem, submit_value=submit_value) workitem.complete(request.user) return HttpResponseRedirect(redirect) else: workitem = WorkItem.objects.get_safe(id, user=request.user) inst = workitem.instance ob = inst.wfobject() form = DefaultAppForm(instance=ob) # add header with activity description, submit buttons dynamically if workitem.activity.split_mode == 'x': tlist = workitem.activity.transition_inputs.all() if tlist.count() > 0: submit_values = [] for t in tlist: submit_values.append(_cond_to_button_value(t.condition)) return render_to_response(template, { 'form': form, 'activity': workitem.activity, 'workitem': workitem, 'instance': inst, 'history': inst.wfobject().history, 'submit_values': submit_values, }, context_instance=RequestContext(request))
workitem.instance.save() ob = form.save(workitem=workitem, submit_value=submit_value) #ob.comment = data['comment'] #ob.save(workitem=workitem, submit_value=submit_value) workitem.complete(request.user) return HttpResponseRedirect(redirect) else: try : workitem = WorkItem.objects.get_safe(int(id), user=request.user) except Exception, e : return HttpResponseRedirect('/error/role_denied/%s/' % id) inst = workitem.instance ob = inst.wfobject() form = DefaultAppForm(instance=ob) # add header with activity description, submit buttons dynamically if workitem.activity.split_mode == 'x': tlist = workitem.activity.transition_inputs.all() if tlist.count() > 0: submit_values = [] for t in tlist: submit_values.append( _cond_to_button_value(t.condition) ) return render_to_response(template, {'form': form, 'activity':workitem.activity, 'workitem':workitem, 'instance':inst, 'history':inst.wfobject().history, 'submit_values':submit_values,}, context_instance=RequestContext(request))