예제 #1
0
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)
예제 #2
0
파일: views.py 프로젝트: glasslion/djflow
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))
예제 #3
0
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))
예제 #4
0
         
         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))