diff --git a/ofu_app/apps/events/urls.py b/ofu_app/apps/events/urls.py index 53922e3..4e9d892 100644 --- a/ofu_app/apps/events/urls.py +++ b/ofu_app/apps/events/urls.py @@ -19,6 +19,7 @@ from apps.events import views urlpatterns = [ url(r'^$', views.events_main_page, name='events-main'), + url(r'^today/$', views.day_events, name='day-events'), url(r'^week/$', views.week_events, name='week-events'), url(r'^all/$', views.all_events, name='all-events'), ] diff --git a/ofu_app/apps/events/views.py b/ofu_app/apps/events/views.py index 59e62b7..18789b1 100644 --- a/ofu_app/apps/events/views.py +++ b/ofu_app/apps/events/views.py @@ -1,10 +1,20 @@ import datetime +from time import time from django.shortcuts import render from apps.events.models import Event +# Helper Methods +def get_categories(events: list): + categories = [] + for event in events: + if not categories.__contains__(event.category): + categories.append(event.category) + return categories + + # Create your views here. def events_main_page(request): return render(request, "events/home.jinja") @@ -12,21 +22,33 @@ def events_main_page(request): def all_events(request): today = datetime.datetime.now() - all_future_events = Event.objects.filter(date__gte=today) + all_future_events = Event.objects.filter(date__gte=today).order_by('date', 'time') lastdate = Event.objects.latest('date').date return render(request, "events/all_events.jinja", { 'startdate': today, 'events': all_future_events, 'enddate': lastdate, + 'categories': get_categories(all_future_events), }) def week_events(request): today = datetime.datetime.now() weekdelta = today + datetime.timedelta(7) - events = Event.objects.filter(date__gte=today, date__lte=weekdelta) + events = Event.objects.filter(date__gte=today, date__lte=weekdelta).order_by('date', 'time') return render(request, "events/week_events.jinja", { 'startdate': today, 'enddate': weekdelta, 'events': events, + 'categories': get_categories(events), + }) + + +def day_events(request): + today = datetime.datetime.now() + events = Event.objects.filter(date=today).order_by('time') + return render(request, "events/day_events.jinja", { + 'date': today, + 'events': events, + 'categories': get_categories(events), }) diff --git a/ofu_app/static/css/events/main.css b/ofu_app/static/css/events/main.css new file mode 100644 index 0000000..5319d67 --- /dev/null +++ b/ofu_app/static/css/events/main.css @@ -0,0 +1,47 @@ +#food-nav { + padding-top: 0; + padding-bottom: 0; +} + +#food-nav .container, #food-nav .container .nav-link { + height: 100%; +} + +.jump-up-menu { + position: fixed; + margin-bottom: 50px; + bottom: 0; + right: 0; + background: white; + display: none; + border: 1px solid #343a40; + border-top-left-radius: 3px; +} + +#category-jump-up:hover .jump-up-menu, .jump-up-menu:hover { + display: block; +} + +.jump-up-elem { + padding: 5px; + margin-bottom: 0; + border-bottom: 1px solid #343a40; +} + +.jump-up-elem:hover { + background-color: #cfcfcf; +} + +footer { + /*mb equal height in #food-nav*/ + margin-bottom: 50px; +} + +/** Sticky Bottom Nav **/ +#food-nav { + z-index: 5000; + bottom: 0; + position: fixed; + width: 100%; + height: 50px; +} \ No newline at end of file diff --git a/ofu_app/static/js/events/sort_categories.js b/ofu_app/static/js/events/sort_categories.js new file mode 100644 index 0000000..42a2e9d --- /dev/null +++ b/ofu_app/static/js/events/sort_categories.js @@ -0,0 +1,19 @@ +/** + * Created by michigg on 16.10.17. + */ +function showCategory(category) { + // TODO: Überarbeiten. Uni eigentlich /= Univis geht das auch schöner? + var events = document.getElementsByClassName('event'); + for (var i = 0; i < events.length; i++) { + events[i].style.display = 'none'; + } + for (var i = 0; i < events.length; i++) { + var classes = events[i].classList; + for (var j = 0; j < classes.length; j++) { + if (category.includes(classes[j])) { + console.log(events[i]) + events[i].style.display = 'block'; + } + } + } +} \ No newline at end of file diff --git a/ofu_app/templates/base.jinja b/ofu_app/templates/base.jinja index 0fcac34..985df21 100644 --- a/ofu_app/templates/base.jinja +++ b/ofu_app/templates/base.jinja @@ -8,8 +8,6 @@
{{ startdate.strftime("%d.%m.%Y") }} bis {{ enddate.strftime("%d.%m.%Y") }}
{% endblock %} {% block content %}Wann: {{ event.date.strftime("%d.%m.") }} ab {{ event.time.strftime("%H:%M") }}
-Wo:
-Organisator: {{ event.orgname }}
- {% endif %} - {% if event.link %} - Details - {% endif %} - -Kategorie: {{ event.category }}
-{{ date.strftime("%d.%m.%Y") }}
+{% endblock %} +{% block content %} +{{ startdate.strftime("%d.%m.%Y") }} bis {{ enddate.strftime("%d.%m.%Y") }}
{% endblock %} {% block content %}Wann: {{ event.date.strftime("%d.%m.") }} ab {{ event.time.strftime("%H:%M") }}
-Wo:
-Kategorie: {{ event.category }}
-Wann: {{ event.date.strftime("%d.%m.") }} + ab {{ event.time.strftime("%H:%M") }}
+Wo: + {% for location in event.locations.all() %} + {{ location.name }} + {% endfor %} +
+