diff options
author | Alban Gruin | 2017-01-19 21:55:29 +0100 |
---|---|---|
committer | Alban Gruin | 2017-01-19 21:55:29 +0100 |
commit | d17c1152615162e33703dd67b92b64d0cbf5b63d (patch) | |
tree | f2db90f8c83c3da626090efee9133c0754849530 | |
parent | f55e7ff672ba18291d7361c4c8649e174c9fa556 (diff) |
Travail initial sur les vues
-rw-r--r-- | templates/index.html | 20 | ||||
-rw-r--r-- | templates/timetable.html | 16 | ||||
-rw-r--r-- | urls.py | 8 | ||||
-rw-r--r-- | views.py | 20 |
4 files changed, 62 insertions, 2 deletions
diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000..262d454 --- /dev/null +++ b/templates/index.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html lang="fr"> + <head> + <meta charset="utf-8" /> + <title>celcatsanitizer</title> + </head> + <body> + <h1>celcatsanitizer</h1> + {% for timetable in timetables %} + <h3>{{ timetable.name }}</h3> + <ul> + {% for group in groups %} + {% if group.timetable.id == timetable.id %} + <li><a href="{% url "timetable" timetable.slug group.slug %}">{{ group.name }}</a></li> + {% endif %} + {% endfor %} + </ul> + {% endfor %} + </body> +</html> diff --git a/templates/timetable.html b/templates/timetable.html new file mode 100644 index 0000000..23de166 --- /dev/null +++ b/templates/timetable.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html lang="fr"> + <head> + <meta charset="utf-8" /> + <title>{{ timetable.name }} – {{ group.name }} – celcatsanitizer</title> + </head> + <body> + <h1>celcatsanitizer</h1> + <h3>{{ timetable.name }} – {{ group.name }}</h3> + <ul> + {% for course in courses %} + <li>{{ course.name }}</li> + {% endfor %} + </ul> + </body> +</html> @@ -0,0 +1,8 @@ +from django.conf.urls import url, handler404 + +from . import views + +urlpatterns = [ + url(r"^$", views.index, name="index"), + url(r"^(?P<timetable_slug>[-\w]+)/(?P<group_slug>[-\w]+)/$", views.timetable, name="timetable"), +] @@ -1,3 +1,19 @@ -from django.shortcuts import render +from django.http import HttpResponse +from django.shortcuts import get_object_or_404, render, render_to_response +from django.db.models import Q -# Create your views here. +from edt.models import Timetable, Group, Course + +def index(request): + timetables = Timetable.objects.all() + groups = Group.objects.filter(tp__isnull=False).order_by("name") + + return render_to_response("index.html", {"timetables": timetables, "groups": groups}) + +def timetable(request, timetable_slug, group_slug): + timetable = get_object_or_404(Timetable, slug=timetable_slug) + group = get_object_or_404(Group, slug=group_slug, timetable=timetable) + + courses = Course.objects.filter(Q(groups__td__isnull=True) | Q(groups__td=group.td), Q(groups__tp__isnull=True) | Q(groups__tp=group.tp), groups__mention=group.mention, groups__subgroup=group.subgroup).order_by("begin").distinct() + + return render_to_response("timetable.html", {"timetable": timetable, "group": group, "courses": courses}) |