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})
def personal_preferences(student): return {'preference': PreferenceForm(instance=student)}
def personal_preferences(student, preferences_popup): return { 'preference': PreferenceForm(instance=student), 'preferences_popup': preferences_popup }
def create_form(does_party=False, hobbies=None): form_data = {'party': does_party, 'hobbies': hobbies} return PreferenceForm(data=form_data)