コード例 #1
0
def preferences(request, id):
    if not Student.objects.filter(magic_id=id).exists():
        return index(request, popup=get_invalid_id_popup())

    student = Student.objects.get(magic_id=id)
    response = None

    if request.method == 'POST':
        if 'preference' in request.POST:
            preference = PreferenceForm(request.POST, instance=student)

            if preference.is_valid():
                preference.save()
        elif 'partner' in request.POST:
            partner = PartnerForm(request.POST, instance=student)

            if student.partner is None and partner.is_valid():
                partner.save()

                response = partner.get_successful_proposal_popup()
        elif 'username' in request.POST:
            partner = Student.objects.get(username=request.POST.get("username"))

            if partner is None:
                response = get_student_does_not_exist_popup()
            elif 'accept' in request.POST:
                response = student.marry_to(partner)
            elif 'reject' in request.POST:
                response = student.reject_proposal(partner)
            elif 'withdraw' in request.POST:
                response = student.withdraw_proposal()

    return render(request, 'portal/preferences.html', {'student': student, 'partner_popup': response})
コード例 #2
0
ファイル: preferences.py プロジェクト: kz/mad
def personal_preferences(student):
    return {'preference': PreferenceForm(instance=student)}
コード例 #3
0
def personal_preferences(student, preferences_popup):
    return {
        'preference': PreferenceForm(instance=student),
        'preferences_popup': preferences_popup
    }
コード例 #4
0
ファイル: test_forms.py プロジェクト: martinzlocha/mad
 def create_form(does_party=False, hobbies=None):
     form_data = {'party': does_party, 'hobbies': hobbies}
     return PreferenceForm(data=form_data)