def add_scratch(request): if request.method == 'POST': form = ScratchForm(request.POST) if (form.is_valid()): form.save() judge = form.cleaned_data['judge'].name team = form.cleaned_data['team'].name return redirect_and_flash_success(request, "Scratch created successfully") else: form = ScratchForm(initial={'scratch_type':0}) return render(request, 'common/data_entry.html', {'title':"Adding Scratch", 'form': form})
def add_scratches(request, team_id, number_scratches): try: team_id, number_scratches = int(team_id), int(number_scratches) except ValueError: return render( request, 'error.html', { 'error_type': "Scratch", 'error_name': "Data Entry", 'error_info': "I require INTEGERS!" }) try: team = Team.objects.get(pk=team_id) except Team.DoesNotExist: return render( request, 'error.html', { 'error_type': "Add Scratches for Team", 'error_name': str(team_id), 'error_info': "No such Team" }) if request.method == 'POST': forms = [ ScratchForm(request.POST, prefix=str(i)) for i in range(1, number_scratches + 1) ] all_good = True for form in forms: all_good = all_good and form.is_valid() if all_good: for form in forms: form.save() return render( request, 'thanks.html', { 'data_type': "Scratches for team", 'data_name': "[" + str(team_id) + "]", 'data_modification': "CREATED" }) else: forms = [ ScratchForm(prefix=str(i), initial={ 'team': team_id, 'scratch_type': 0 }) for i in range(1, number_scratches + 1) ] return render( request, 'data_entry_multiple.html', { 'forms': list(zip(forms, [None] * len(forms))), 'data_type': 'Scratch', 'title': "Adding Scratch(es) for %s" % (team.name) })
def view_scratches(request, team_id): try: team_id = int(team_id) except ValueError: return render( request, 'error.html', { 'error_type': "Scratch", 'error_name': "Delete", 'error_info': "I require INTEGERS!" }) scratches = Scratch.objects.filter(team=team_id) number_scratches = len(scratches) team = Team.objects.get(pk=team_id) if request.method == 'POST': forms = [ ScratchForm(request.POST, prefix=str(i), instance=scratches[i - 1]) for i in range(1, number_scratches + 1) ] all_good = True for form in forms: all_good = all_good and form.is_valid() if all_good: for form in forms: form.save() return render( request, 'thanks.html', { 'data_type': "Scratches for team", 'data_name': "[" + str(team_id) + "]", 'data_modification': "EDITED" }) else: forms = [ ScratchForm(prefix=str(i), instance=scratches[i - 1]) for i in range(1, len(scratches) + 1) ] delete_links = [ "/team/" + str(team_id) + "/scratches/delete/" + str(scratches[i].id) for i in range(len(scratches)) ] links = [('/team/' + str(team_id) + '/scratches/add/1/', 'Add Scratch')] return render( request, 'data_entry_multiple.html', { 'forms': list(zip(forms, delete_links)), 'data_type': 'Scratch', 'links': links, 'title': "Viewing Scratch Information for %s" % (team.name) })
def view_scratches(request, judge_id): try: judge_id = int(judge_id) except ValueError: return redirect_and_flash_error(request, "Received invalid data") scratches = Scratch.objects.filter(judge=judge_id) judge = Judge.objects.get(pk=judge_id) number_scratches = len(scratches) if request.method == "POST": forms = [ ScratchForm(request.POST, prefix=str(i), instance=scratches[i - 1]) for i in range(1, number_scratches + 1) ] all_good = True for form in forms: all_good = all_good and form.is_valid() if all_good: for form in forms: form.save() return redirect_and_flash_success( request, "Scratches created successfully") else: forms = [ ScratchForm(prefix=str(i), instance=scratches[i - 1]) for i in range(1, len(scratches) + 1) ] delete_links = [ "/judge/" + str(judge_id) + "/scratches/delete/" + str(scratches[i].id) for i in range(len(scratches)) ] links = [("/judge/" + str(judge_id) + "/scratches/add/1/", "Add Scratch")] return render( request, "common/data_entry_multiple.html", { "forms": list(zip(forms, delete_links)), "data_type": "Scratch", "links": links, "title": "Viewing Scratch Information for %s" % (judge.name) })
def import_row(self, row, row_number): team_name = row[0] judge_name = row[1] scratch_type = row[2] got_error = False if not Team.objects.filter(name=team_name).exists(): self.error("Team '%s' does not exist" % team_name, row_number) got_error = True if not Judge.objects.filter(name=judge_name).exists(): self.error("Judge '%s' does not exist" % judge_name, row_number) got_error = True if scratch_type.strip().lower() in self.team_scratch_values: scratch_type = Scratch.TEAM_SCRATCH elif scratch_type.strip().lower() in self.tab_scratch_values: scratch_type = Scratch.TAB_SCRATCH else: got_error = True self.error("'%s' is not a valid scratch type" % scratch_type, row_number) if got_error: return form = ScratchForm( data={ "scratch_type": scratch_type, "team": Team.objects.get(name=team_name).id, "judge": Judge.objects.get(name=judge_name).id }) if form.is_valid(): self.create(form) else: for _field, error_msgs in form.errors.items(): for error_msg in error_msgs: self.error( "%s x %s - %s" % (team_name, judge_name, error_msg), row_number)
def add_scratches(request, judge_id, number_scratches): try: judge_id, number_scratches = int(judge_id), int(number_scratches) except ValueError: return redirect_and_flash_error(request, "Got invalid data") try: judge = Judge.objects.get(pk=judge_id) except Judge.DoesNotExist: return redirect_and_flash_error(request, "No such judge") if request.method == "POST": forms = [ ScratchForm(request.POST, prefix=str(i)) for i in range(1, number_scratches + 1) ] all_good = True for form in forms: all_good = all_good and form.is_valid() if all_good: for form in forms: form.save() return redirect_and_flash_success( request, "Scratches created successfully") else: forms = [ ScratchForm(prefix=str(i), initial={ "judge": judge_id, "scratch_type": 0 }) for i in range(1, number_scratches + 1) ] return render( request, "common/data_entry_multiple.html", { "forms": list(zip(forms, [None] * len(forms))), "data_type": "Scratch", "title": "Adding Scratch(es) for %s" % (judge.name) })
def add_scratches(request, team_id, number_scratches): try: team_id, number_scratches = int(team_id), int(number_scratches) except ValueError: return redirect_and_flash_error(request, "Received invalid data") try: team = Team.objects.get(pk=team_id) except Team.DoesNotExist: return redirect_and_flash_error(request, "The selected team does not exist") if request.method == "POST": forms = [ ScratchForm(request.POST, prefix=str(i)) for i in range(1, number_scratches + 1) ] all_good = True for form in forms: all_good = all_good and form.is_valid() if all_good: for form in forms: form.save() return redirect_and_flash_success( request, "Scratches created successfully") else: forms = [ ScratchForm(prefix=str(i), initial={ "team": team_id, "scratch_type": 0 }) for i in range(1, number_scratches + 1) ] return render( request, "common/data_entry_multiple.html", { "forms": list(zip(forms, [None] * len(forms))), "data_type": "Scratch", "title": "Adding Scratch(es) for %s" % (team.display_backend) })
def add_scratch(request): if request.method == "POST": form = ScratchForm(request.POST) if form.is_valid(): form.save() return redirect_and_flash_success(request, "Scratch created successfully") else: form = ScratchForm(initial={"scratch_type": 0}) return render(request, "common/data_entry.html", { "title": "Adding Scratch", "form": form })
def add_scratch(request): if request.method == 'POST': form = ScratchForm(request.POST) if (form.is_valid()): form.save() judge = form.cleaned_data['judge'].name team = form.cleaned_data['team'].name return render( request, 'thanks.html', { 'data_type': "Scratch", 'data_name': ' from {0} on {1}'.format(team, judge), 'data_modification': "CREATED", 'enter_again': True }) else: form = ScratchForm(initial={'scratch_type': 0}) return render(request, 'data_entry.html', { 'title': "Adding Scratch", 'form': form })