def competition_details(request, event_id, competition_id): # Get competition competition = competition_times_formatter( get_object_or_404(Competition, pk=int(competition_id), active=True, event_id=int(event_id))) # Check if user can participate (deadline not caught yet) can_participate = False if timezone.now() < competition.participation_end: can_participate = True # Handle signup form if request.method == 'POST' and can_participate: # Make sure user is authenticated if not request.user.is_active or not request.user.is_authenticated(): raise Http403 # Handle post data participationform = ParticipationForm(request.POST) if participationform.is_valid(): p = participationform.save(commit=False) p.competition = competition p.user = request.user p.save() return HttpResponseRedirect( reverse('km:competition', args=( event_id, competition_id, ))) else: participationform = ParticipationForm() # Get all participants participants = CompetitionParticipation.objects.filter( competition=competition) # Check if user has participated signed_up = False participation = None if request.user.is_active and request.user.is_authenticated(): try: participation = CompetitionParticipation.objects.get( competition=competition, user=request.user) signed_up = True except CompetitionParticipation.DoesNotExist: pass # All done, dump template return render( request, 'kompomaatti/competition_details.html', { 'sel_event_id': int(event_id), 'competition': competition, 'participation': participation, 'signed_up': signed_up, 'can_participate': can_participate, 'participationform': participationform, 'participants': participants, })
def competitions(request, event_id): # Get competitions competitions = [] for competition in Competition.objects.filter(active=True, event_id=int(event_id)): competitions.append(competition_times_formatter(competition)) # Dump the template return render(request, 'kompomaatti/competitions.html', { 'sel_event_id': int(event_id), 'competitions': competitions, })
def competitions(request, event_id): # Get competitions competitions = [] for competition in Competition.objects.filter(active=True, event_id=int(event_id)): competitions.append(competition_times_formatter(competition)) # Dump the template return render(request, 'kompomaatti/competitions.html', { 'sel_event_id': int(event_id), 'competitions': competitions, })
def competition_details(request, event_id, competition_id): # Get competition competition = competition_times_formatter(get_object_or_404(Competition, pk=int(competition_id), active=True, event_id=int(event_id))) # Check if user can participate (deadline not caught yet) can_participate = False if datetime.now() < competition.participation_end: can_participate = True # Handle signup form if request.method == 'POST' and can_participate: # Make sure user is authenticated if not request.user.is_active or not request.user.is_authenticated(): raise Http403 # Handle post data participationform = ParticipationForm(request.POST) if participationform.is_valid(): p = participationform.save(commit=False) p.competition = competition p.user = request.user p.save() return HttpResponseRedirect(reverse('km:competition', args=(event_id, competition_id,))) else: participationform = ParticipationForm() # Get all participants participants = CompetitionParticipation.objects.filter(competition=competition) # Check if user has participated signed_up = False participation = None if request.user.is_active and request.user.is_authenticated(): try: participation = CompetitionParticipation.objects.get(competition=competition, user=request.user) signed_up = True except CompetitionParticipation.DoesNotExist: pass # All done, dump template return render(request, 'kompomaatti/competition_details.html', { 'sel_event_id': int(event_id), 'competition': competition, 'participation': participation, 'signed_up': signed_up, 'can_participate': can_participate, 'participationform': participationform, 'participants': participants, })