def get_permissions(user): permission_dict = get_member_permissions(user) permission_dict.update({ 'can_edit_resources':Permissions.can_manage_electee_progress(user), 'can_edit_surveys':Permissions.can_manage_electee_progress(user), 'can_complete_surveys':Permissions.can_complete_electee_survey(user), 'can_submit_background_form':can_submit_background_form(user), 'can_submit_interview_followups':user_is_member(user) and user.userprofile.memberprofile.status.name=='Active', 'can_view_interview_pairings':Permissions.can_view_interview_pairings(user), 'can_view_followups':Permissions.can_see_follow_up(user), }) return permission_dict
def get_permissions(user): permission_dict = get_member_permissions(user) permission_dict.update({ 'can_edit_resources':Permissions.can_manage_electee_progress(user), 'can_edit_surveys':Permissions.can_manage_electee_progress(user), 'can_complete_surveys':Permissions.can_complete_electee_survey(user), 'can_submit_background_form':can_submit_background_form(user), 'can_submit_interview_followups':user_is_member(user) and user.userprofile.memberprofile.status.name=='Active', 'can_view_interview_pairings':Permissions.can_view_interview_pairings(user), 'can_view_followups':Permissions.can_see_follow_up(user), }) return permission_dict
def complete_survey_for_term(request,term_id): if not Permissions.can_complete_electee_survey(request.user): request.session['error_message']='You are not authorized to preview the electee survey.' return redirect('electees:view_electee_groups') term = get_object_or_404(AcademicTerm,id=term_id) current_surveys = ElecteeInterviewSurvey.objects.filter(term = term) submitter=request.user.userprofile.memberprofile if current_surveys.exists(): current_survey=current_surveys[0] existed=True else: raise Http404 questions = current_survey.questions.all() if request.method =='POST': form = ElecteeSurveyForm(request.POST,questions=questions) if form.is_valid(): print form.cleaned_data for (question, answer) in form.get_answers(): existing_answer = SurveyAnswer.objects.filter(term=term,submitter=submitter,question=question) if existing_answer.exists(): old_answer = existing_answer[0] if len(answer): old_answer.answer=answer old_answer.save() else: existing_answer.delete() else: if len(answer): new_answer = SurveyAnswer(term=term,submitter=submitter,answer=answer,question=question) new_answer.save() request.session['success_message']='Electee survey updated successfully' return redirect('electees:view_electee_groups') else: request.session['error_message']='Form is invalid. Please correct the noted errors.' else: answers = SurveyAnswer.objects.filter(submitter=submitter,term=term,question__in=questions).distinct() form = ElecteeSurveyForm(questions=questions,answers=answers) template = loader.get_template('electees/complete_survey.html') context_dict = { 'real_form':True, 'form':form, 'survey':current_survey, 'questions':questions, } context_dict.update(get_common_context(request)) context_dict.update(get_permissions(request.user)) context = RequestContext(request, context_dict) return HttpResponse(template.render(context))
def complete_survey_for_term(request,term_id): if not Permissions.can_complete_electee_survey(request.user): request.session['error_message']='You are not authorized to preview the electee survey.' return redirect('electees:view_electee_groups') term = get_object_or_404(AcademicTerm,id=term_id) current_surveys = ElecteeInterviewSurvey.objects.filter(term = term) submitter=request.user.userprofile.memberprofile if current_surveys.exists(): current_survey=current_surveys[0] existed=True else: raise Http404 questions = current_survey.questions.all() if request.method =='POST': form = ElecteeSurveyForm(request.POST,questions=questions) if form.is_valid(): print form.cleaned_data for (question, answer) in form.get_answers(): existing_answer = SurveyAnswer.objects.filter(term=term,submitter=submitter,question=question) if existing_answer.exists(): old_answer = existing_answer[0] if len(answer): old_answer.answer=answer old_answer.save() else: existing_answer.delete() else: if len(answer): new_answer = SurveyAnswer(term=term,submitter=submitter,answer=answer,question=question) new_answer.save() request.session['success_message']='Electee survey updated successfully' return redirect('electees:view_electee_groups') else: request.session['error_message']='Form is invalid. Please correct the noted errors.' else: answers = SurveyAnswer.objects.filter(submitter=submitter,term=term,question__in=questions).distinct() form = ElecteeSurveyForm(questions=questions,answers=answers) template = loader.get_template('electees/complete_survey.html') context_dict = { 'real_form':True, 'form':form, 'survey':current_survey, 'questions':questions, } context_dict.update(get_common_context(request)) context_dict.update(get_permissions(request.user)) return HttpResponse(template.render(context_dict, request))