From a4a3aa91a9eacf0f67442d79d8aaee01b7a1256b Mon Sep 17 00:00:00 2001 From: Alban Gruin Date: Wed, 25 Jan 2017 14:25:04 +0100 Subject: Suppression du slug de l'emploi du temps dans les URLs ainsi que sa récupération manuelle inutile car déjà référencée par le groupe --- templates/index.html | 2 +- templates/subscribe.html | 6 +++--- templates/timetable.html | 6 +++--- urls.py | 4 ++-- views.py | 19 ++++++++----------- 5 files changed, 17 insertions(+), 20 deletions(-) diff --git a/templates/index.html b/templates/index.html index 5fe6678..812a991 100644 --- a/templates/index.html +++ b/templates/index.html @@ -61,7 +61,7 @@ li.course {

{{ timetable.name }}

{% endfor %}{% endblock %} diff --git a/templates/subscribe.html b/templates/subscribe.html index b1aa71b..2cd6d87 100644 --- a/templates/subscribe.html +++ b/templates/subscribe.html @@ -1,10 +1,10 @@ {% extends "index.html" %} -{% block title %}S'abonner à {{ timetable.name }} – {{ group.name }}{% endblock %} +{% block title %}S'abonner à {{ group.timetable.name }} – {{ group.name }}{% endblock %} {% block body %} -

S'abonner à {{ timetable.name }} – {{ group.name }}

-
+

S'abonner à {{ group.timetable.name }} – {{ group.name }}

+ {% csrf_token %} {{ form }} diff --git a/templates/timetable.html b/templates/timetable.html index 28f6005..9d05be6 100644 --- a/templates/timetable.html +++ b/templates/timetable.html @@ -1,9 +1,9 @@ {% extends "index.html" %} -{% block title %}{{ timetable.name }} – {{ group.name }} – Semaine {{ week }} – {% endblock %} +{% block title %}{{ group.timetable.name }} – {{ group.name }} – Semaine {{ week }} – {% endblock %} {% block body %} -

{{ timetable.name }} – {{ group.name }} – Semaine {{ week }}

+

{{ group.timetable.name }} – {{ group.name }} – Semaine {{ week }}

Dernière mise à jour le {{ last_update|date:"l j F o" }} à {{ last_update|date:"H:i" }}

{% for day in courses %}

{{ day.0.begin|date:"l j F o" }} – de {{ day.0.begin|date:"H:i" }} à {% with day|last as last %}{{ last.end|date:"H:i" }}{% endwith %}

@@ -11,4 +11,4 @@
  • {{ course.name }}, de {{ course.begin|date:"H:i" }} à {{ course.end|date:"H:i" }}{% if course.rooms.all|length > 0 %}
    Salle{% if course.rooms.all|length > 1 %}s{% endif %} {% for room in course.rooms.all %}{{ room }} {% endfor %}{% endif %}
  • {% endfor %}
    {% endfor %} -

    {% endblock %} +

    {% endblock %} diff --git a/urls.py b/urls.py index a8369e8..72c3dff 100644 --- a/urls.py +++ b/urls.py @@ -4,8 +4,8 @@ from . import views urlpatterns = [ url(r"^$", views.index, name="index"), - url(r"^(?P[-\w]+)/(?P[0-9]{4})/(?P[0-4]?[0-9]|5[0-3])/(?P[-\w]+)/$", views.timetable, name="timetable"), - url(r"^(?P[-\w]+)/(?P[0-9]{4})/(?P[0-4]?[0-9]|5[0-3])/(?P[-\w]+)/subscribe$", views.subscribe, name="subscribe"), + url(r"^(?P[-\w]+)/(?P[0-9]{4})/(?P[0-4]?[0-9]|5[0-3])/$", views.timetable, name="timetable"), + url(r"^(?P[-\w]+)/(?P[0-9]{4})/(?P[0-4]?[0-9]|5[0-3])/subscribe$", views.subscribe, name="subscribe"), url(r"^subscriptions/confirm/(?P[0-9a-f]{40})$", views.confirm_subscription, name="confirm"), url(r"^subscriptions/cancel/(?P[0-9a-f]{40})$", views.cancel_subscription, name="cancel"), ] diff --git a/views.py b/views.py index b4518f3..dbcf937 100644 --- a/views.py +++ b/views.py @@ -33,20 +33,18 @@ def index(request): return render(request, "index.html", {"timetables": timetables, "groups": groups}) -def timetable(request, timetable_slug, year, week, group_slug): +def timetable(request, group_slug, year, week): start, end = get_week(int(year), int(week)) - timetable = get_object_or_404(Timetable, slug=timetable_slug) - group = get_object_or_404(Group, slug=group_slug, timetable=timetable) - + group = get_object_or_404(Group, slug=group_slug) courses = Course.objects.get_courses_for_group(group, begin__gte=start, begin__lt=end) - last_update = LastUpdate.objects.get(timetable=timetable, week=week, year=year) + last_update = LastUpdate.objects.get(timetable=group.timetable, week=week, year=year) grouped_courses = group_courses(courses) - return render(request, "timetable.html", {"timetable": timetable, "group": group, "courses": grouped_courses, "last_update": last_update.date, "year": year, "week": int(week)}) + return render(request, "timetable.html", {"group": group, "courses": grouped_courses, "last_update": last_update.date, "year": year, "week": int(week)}) -def subscribe(request, timetable_slug, year, week, group_slug): +def subscribe(request, group_slug, year, week): group = get_object_or_404(Group, slug=group_slug) if request.method == "POST": @@ -59,12 +57,11 @@ def subscribe(request, timetable_slug, year, week, group_slug): context = Context({"group": group, "admins": settings.ADMINS, "token": subscription.token}) send_mail("Confirmation de l'abonnemenent", template.render(context), settings.DEFAULT_FROM_EMAIL, [request.POST["email"]]) - return redirect("timetable", timetable_slug=timetable_slug, year=year, week=int(week), group_slug=group_slug) + return redirect("timetable", group_slug=group_slug, year=year, week=int(week)) else: form = SubscribeForm() - timetable = get_object_or_404(Timetable, slug=timetable_slug) - return render(request, "subscribe.html", {"timetable": timetable, "year": year, "week": week, "group": group, "form": form}) + return render(request, "subscribe.html", {"year": year, "week": week, "group": group, "form": form}) def confirm_subscription(request, token): subscription = get_object_or_404(Subscription, token=token) @@ -78,7 +75,7 @@ def confirm_subscription(request, token): if day >= 6: year, week, _ = (timezone.now() + datetime.timedelta(weeks=1)).isocalendar() - return redirect("timetable", timetable_slug=subscription.group.timetable.slug, year=year, week=week, group_slug=subscription.group.slug) + return redirect("timetable", group_slug=subscription.group.slug, year=year, week=week) def cancel_subscription(request, token): subscription = get_object_or_404(Subscription, token=token) -- cgit v1.2.1