def patchrecursive_submit(request): # Initialize data array and some default values. data = {} data['patchrecursive_form'] = forms.PatchRecursiveUploadForm() data['patchrecursive_success'] = False if request.method == 'POST': form = forms.PatchRecursiveUploadForm(request.POST) if form.is_valid(): set_mission_completed(request.user.get_profile(), 'diffpatch_patchrecursive') return HttpResponseRedirect(reverse(recursive_patch)) data['patchrecursive_form'] = form return recursive_patch(request, data)
def diffrecursive_submit(request): # Initialize data array and some default values. data = {} data['diffrecursive_form'] = forms.DiffRecursiveUploadForm() data['diffrecursive_success'] = False data['diffrecursive_error_message'] = '' if request.method == 'POST': form = forms.DiffRecursiveUploadForm(request.POST, request.FILES) if form.is_valid(): try: controllers.DiffRecursiveMission.validate_patch(form.cleaned_data['diff'].read()) set_mission_completed(request.user.get_profile(), 'diffpatch_diffrecursive') data['diffrecursive_success'] = True except controllers.IncorrectPatch, e: data['diffrecursive_error_message'] = str(e) data['diffrecursive_form'] = form
def patchsingle_submit(request): # Initialize data array and some default values. data = {} data['patchsingle_form'] = forms.PatchSingleUploadForm() data['patchsingle_success'] = False data['patchsingle_error_message'] = '' if request.method == 'POST': form = forms.PatchSingleUploadForm(request.POST, request.FILES) if form.is_valid(): if form.cleaned_data['patched_file'].read() == open(controllers.PatchSingleFileMission.NEW_FILE).read(): set_mission_completed(request.user.get_profile(), 'diffpatch_patchsingle') data['patchsingle_success'] = True else: data['patchsingle_error_message'] = 'The file did not match the contents it should have.' data['patchsingle_form'] = form return single_file_patch(request, data)
def patchrecursive_submit(request): # Initialize data array and some default values. data = {} data['patchrecursive_form'] = forms.PatchRecursiveUploadForm() data['patchrecursive_success'] = False wrong_answers_present = False if request.method == 'POST': form = forms.PatchRecursiveUploadForm(request.POST) if form.is_valid(): for key, value in controllers.PatchRecursiveMission.ANSWERS.iteritems(): if form.cleaned_data[key] != value: data['patchrecursive_%s_error_message' % key] = 'This answer is incorrect.' wrong_answers_present = True else: data['patchrecursive_%s_error_message' % key] = '' if not wrong_answers_present: set_mission_completed(request.user.get_profile(), 'diffpatch_patchrecursive') data['patchrecursive_success'] = True data['patchrecursive_form'] = form return recursive_patch(request, data)
def form_valid(self, form): controllers.set_mission_completed(request.user.get_profile(), self.mission_step)