kers/events/views.py

42 lines
1.1 KiB
Python
Raw Normal View History

2020-07-22 04:08:30 +02:00
from django.http import HttpResponseRedirect
from django.shortcuts import render, get_object_or_404
2020-07-22 05:03:01 +02:00
2020-07-22 04:08:30 +02:00
from django.utils import timezone
from django.urls import reverse
import datetime
2020-07-21 22:24:45 +02:00
2020-07-22 04:08:30 +02:00
from .models import Event, EventRegistration, CustomUser
2020-07-21 22:24:45 +02:00
2020-07-22 04:02:13 +02:00
from events.tasks import assign_reservations
2020-07-21 22:24:45 +02:00
def index(request):
2020-07-22 04:08:30 +02:00
events = Event.objects.filter(date__gte=timezone.now().date()).order_by("date")[:20]
events_data = [
{ "event": event, "my_registration": event.registration_of(request.user) }
for event in events
]
return render(request, "events/index.html", {"events": events_data})
2020-07-22 04:02:13 +02:00
def view_score_stuff(request):
return HttpResponse(
assign_reservations()
)
2020-07-22 04:13:20 +02:00
2020-07-22 04:08:30 +02:00
def register(request, event_id):
if request.method == "POST":
if not request.user.has_ugent_info:
raise ValueError("User has missing UGent info missing")
2020-07-22 04:08:30 +02:00
event = get_object_or_404(Event, id=event_id)
2020-07-22 04:45:01 +02:00
event.eventregistration_set.create(
state=EventRegistration.INTERESTED,
event=event,
user=request.user,
2020-07-22 04:45:01 +02:00
)
2020-07-22 04:27:18 +02:00
return HttpResponseRedirect(reverse("events:index") + f"#{event.id}")