Ejemplo n.º 1
0
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})
Ejemplo n.º 2
0
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)
        })
Ejemplo n.º 3
0
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)
        })
Ejemplo n.º 4
0
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)
        })
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
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)
        })
Ejemplo n.º 7
0
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)
        })
Ejemplo n.º 8
0
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
    })
Ejemplo n.º 9
0
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
    })