Exemple #1
0
def eval(request, event_id):
    my_template_data = dict()
    
    #TODO: put in authentication stuff

    #get champ_info for this event
    champ_info = ChampInfo.objects.get(event=event_id)

    #find which program areas this event has
    program_areas = ProgramArea.objects.filter(programlink__champ_info=champ_info)
    formgroup = FormGroup()

    #add all forms for selected program areas    
    for i,pa in enumerate(program_areas):
        
        form = Empty()
       
        form.groupname = pa.name
        form.program_area = pa
        field_group = pa.eval_model
        form.subform = FieldGroupForm(request.POST or None, field_group=field_group, owner = champ_info.value_owner)
        formgroup.add_form(form)
    
    my_template_data["formgroup"] = formgroup.forms
    
    
    #validate fields
    if request.POST:#formgroup.is_valid(): # check if fields validated

        valid = False
        #TODO... do not trust user entered data... should verify correctness here
        
        #loop thru formgroup and save stuff
        for form in formgroup.forms:
            
            if form.subform.is_valid():
                #process the subform for this program group from
                form.subform.save()
            else:
                valid = False

#        return HttpResponseRedirect(domain + reverse(events) ) # Redirect after POST
        
        if valid:
            return HttpResponseRedirect(domain ) # Redirect after POST

    return render_to_response('champ2/event.html', my_template_data, context_instance=RequestContext(request))