Example #1
0
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
Example #2
0
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
Example #3
0
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)) 
Example #4
0
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))