Merge branch 'master' of /media/data_1/www/gogs/gogs-repositories/michigg/ofu-app
Conflicts: ofu_app/apps/events/utils/json_generator/jsons/events-fekide.json ofu_app/apps/food/utils/json_generator/jsons/cafete-erba.json ofu_app/apps/food/utils/json_generator/jsons/cafete-markus.json ofu_app/apps/food/utils/json_generator/jsons/happyhourguide-fekide.json ofu_app/apps/food/utils/json_generator/jsons/mensa-austr.json ofu_app/apps/food/utils/json_generator/jsons/mensa-feki.json
This commit is contained in:
commit
51e7b14087
25
README.md
25
README.md
@ -2,16 +2,24 @@
|
||||
Die OFU APP ist überwiegend eine WebApplikation, die auf Mobile Devices optimiert werden soll.
|
||||
Die OFU APP soll keine Kopie der Feki.de Webseite darstellen oder dahingehend entwickelt werden, sondern Informationen verschiedenster Portale, die für Studenten relevant sind oder sein könnten, zusammentragen und diese nutzerfreundlich und auch mobil bedienbar darzustellen.
|
||||
|
||||
## Phase 1: Implementierung der Grundfunktionen:
|
||||
siehe Auflistung Infos/Funktionen
|
||||
## Phasen:
|
||||
### Phase 1: Implementierung der Grundfunktionen:
|
||||
- Univis
|
||||
- Flexnow 2
|
||||
- Virtueller Campus
|
||||
- ZUV ZUL Portal
|
||||
- Roofis: Room finder service mit Erweiterung: Donar - Find my Room
|
||||
- Essensmöglichkeiten: Speisepläne Mensen und Cafeten; Happy Hours (Feki.de)
|
||||
- Veranstaltungen: HSnGs (Feki.de), Uni (Univis), Zusätzlicher: (Bsp.: Bockbieranstiche)
|
||||
- Weitere Folgen...
|
||||
|
||||
## Phase 2: Erweiterung der Grundfunktionen:
|
||||
### Phase 2: Erweiterung der Grundfunktionen:
|
||||
Die nun bestehenden Systeme sollen hinsichtlich ihrer Erweiterungsmöglichkeiten überdacht werden und dahingehend optimiert werden. Auch neue Services sind denkbar, die die Vernetzung der OFU-Studenten fördern.
|
||||
|
||||
## Entwicklungsübersicht:
|
||||
### Alpha (Oktober 2017 - Dezember 2017):
|
||||
- Versionsnummer: 0.#.#
|
||||
- Umsetzung der Phase 1
|
||||
- Umsetzung der 1. Phase
|
||||
- Beginn Phase 2
|
||||
|
||||
### Beta (Januar 2018 - Februar 2018):
|
||||
@ -36,12 +44,3 @@ Die nun bestehenden Systeme sollen hinsichtlich ihrer Erweiterungsmöglichkeiten
|
||||
### Release (Ende Juni 2018 evtl. darauf folgendes Semester):
|
||||
- Versionsnummer: 2.0.0
|
||||
- Bekanntmachung der App an der ganzen OFU
|
||||
|
||||
## Zugängliche Infos/Funktionen:
|
||||
- Univis
|
||||
- Flexnow 2
|
||||
- Virtueller Campus
|
||||
- ZUV ZUL Portal
|
||||
- Roofis: Room finder service mit Erweiterung: Donar - Find my Room
|
||||
- Essensmöglichkeiten: Speisepläne Mensen und Cafeten; Happy Hours (Feki.de)
|
||||
- Veranstaltungen: HSnGs (Feki.de), Uni (Univis), Zusätzlicher: (Bsp.: Bockbieranstiche)
|
||||
@ -18,5 +18,7 @@ from django.conf.urls import url
|
||||
from apps.events import views
|
||||
|
||||
urlpatterns = [
|
||||
url(r'^week/', views.week_events, name='week-events'),
|
||||
url(r'^$', views.events_main_page, name='events-main'),
|
||||
url(r'^week/$', views.week_events, name='week-events'),
|
||||
url(r'^all/$', views.all_events, name='all-events'),
|
||||
]
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -6,8 +6,6 @@ from pprint import pprint
|
||||
import os
|
||||
import locale
|
||||
|
||||
os.environ['TZ'] = 'Europe/Berlin'
|
||||
|
||||
SPEISEPLAN_NAME_SELECTOR = '.csc-default .csc-header .csc-firstHeader'
|
||||
LINK_FEKIDE_Events = "https://www.feki.de/terminkalender"
|
||||
LINK_FEKIDE = "https://www.feki.de"
|
||||
|
||||
@ -6,6 +6,21 @@ from apps.events.models import Event
|
||||
|
||||
|
||||
# Create your views here.
|
||||
def events_main_page(request):
|
||||
return render(request, "events/events.jinja")
|
||||
|
||||
|
||||
def all_events(request):
|
||||
today = datetime.datetime.now()
|
||||
all_future_events = Event.objects.filter(date__gte=today)
|
||||
lastdate = all_future_events.last().date
|
||||
return render(request, "events/all_events.jinja", {
|
||||
'startdate': today,
|
||||
'events': all_future_events,
|
||||
'enddate': lastdate,
|
||||
})
|
||||
|
||||
|
||||
def week_events(request):
|
||||
today = datetime.datetime.now()
|
||||
weekdelta = today + datetime.timedelta(7)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -18,7 +18,9 @@ from django.conf.urls import url
|
||||
from apps.food import views
|
||||
|
||||
urlpatterns = [
|
||||
url(r'^all/', views.food, name='food'),
|
||||
url(r'^$', views.food, name='food'),
|
||||
# Daily Menus
|
||||
url(r'^daily/$', views.daily_food, name='daily-food'),
|
||||
url(r'^weekly/$', views.daily_food, name='weekly-food'),
|
||||
url(r'^all/$', views.food, name='all-food'),
|
||||
]
|
||||
|
||||
@ -1 +0,0 @@
|
||||
{"execution_time": "Monday, 02.10.2017", "weekmenu": [{"menu": ["Rinderhacksteak an Cognacso\u00dfe und Sp\u00e4tzle"], "date": "24.07."}, {"menu": ["Gem\u00fcseschnitzel mit Kr\u00e4utercreme und Kartoffeln"], "date": "25.07."}, {"menu": ["Penne-Nudeln mit Hackfleischso\u00dfe"], "date": "26.07."}, {"menu": ["Kaiserschmarrn mit Apfelmus"], "date": "27.07."}], "name": "Cafeteria Erba-Insel"}
|
||||
@ -1 +0,0 @@
|
||||
{"execution_time": "Monday, 02.10.2017", "weekmenu": [{"menu": ["Vegetarisches Chili sin Carne"], "date": "24.07."}, {"menu": ["Gem\u00fcseschnitzel mit Kr\u00e4utercreme und Kartoffeln"], "date": "25.07."}, {"menu": ["\u00dcberbackene Zucchini an Paprikaso\u00dfe mit P\u00fcree"], "date": "26.07."}, {"menu": ["Kaiserschmarrn mit Apfelmus"], "date": "27.07."}], "name": "Cafeteria Markusplatz"}
|
||||
@ -1 +0,0 @@
|
||||
{"execution_time": "Monday, 02.10.2017", "day": "Monday, 02.10.2017", "happyhours": [{"time": "16:00 - 23:59", "location": "Bowlinghaus Bamberg", "description": "Salat-Tag: Varianten f\u00fcr je 6 \u20ac"}, {"time": "19:00 - 01:00", "location": "Mainfranken Bowling", "description": "Jede Pizza 4,90 \u20ac"}]}
|
||||
@ -1 +0,0 @@
|
||||
{"execution_time": "Monday, 02.10.2017", "weekmenu": [{"menu": ["Pennenudeln mit Lachs, Spinat und Kirschtomaten", "Rinderhacksteak mit Cognac - Pfefferso\u00dfe", "Schneller Teller: H\u00e4hnchenspie\u00df mit Gefl\u00fcgelso\u00dfe, Bratkartoffeln und Blumenkohl", "Kartoffelgnocchi - Gem\u00fcsepfanne", "Dampfkartoffeln mit hausgemachtem Schnittlauchquark"], "date": "02.10."}, {"menu": [], "date": "03.10."}, {"menu": ["Siebenschwabenplatte mit Bratenso\u00dfe", "Putenbrustgeschnetzeltes in Pilzrahm", "Schneller Teller: Veganes Soja - Gem\u00fcsegeschnetzeltes mit Penine Rigate, Apfel", "\u00dcberbackene Zucchini \"mediterrane Art\" an Paprikaso\u00dfe"], "date": "04.10."}, {"menu": ["Chicken Burger mit Ananas Currydip", "Schneller Teller: Paprikagulsch vom Schwein mit Spiralnudeln und Rosenkohl", "Nudelgem\u00fcseauflauf", "Pizza \"Spinat & Hirtenk\u00e4se\""], "date": "05.10."}, {"menu": ["Schneller Teller: Seelachsfilet an \"S\u00fc\u00df - Scharfer\" Tomatenso\u00dfe, Langkornreis und Brokkoli", "Gyros mit hausgemachtem Tsatsiki", "Green Tacos mit Walnuss - Chili - P\u00e2t\u00e9", "Kartoffel Broccoli Gratin"], "date": "06.10."}], "name": "Speiseplan f\u00fcr Austra\u00dfe Bamberg"}
|
||||
@ -1 +0,0 @@
|
||||
{"execution_time": "Monday, 02.10.2017", "weekmenu": [{"menu": ["Rinderhacksteak mit Cognac - Pfefferso\u00dfe", "Schneller Teller: H\u00e4hnchenspie\u00df mit Gefl\u00fcgelso\u00dfe, Bratkartoffeln und Blumenkohl", "Kartoffelgnocchi - Gem\u00fcsepfanne", "Dampfkartoffeln mit hausgemachtem Schnittlauchquark"], "date": "02.10."}, {"menu": [], "date": "03.10."}, {"menu": ["Siebenschwabenplatte mit Bratenso\u00dfe", "Putenbrustgeschnetzeltes in Pilzrahm", "Schneller Teller: Veganes Soja - Gem\u00fcsegeschnetzeltes mit Penine Rigate, Apfel", "\u00dcberbackene Zucchini \"mediterrane Art\" an Paprikaso\u00dfe"], "date": "04.10."}, {"menu": ["Chicken Burger mit Ananas Currydip", "Schneller Teller: Paprikagulsch vom Schwein mit Spiralnudeln und Rosenkohl", "Nudelgem\u00fcseauflauf", "Pizza \"Spinat & Hirtenk\u00e4se\""], "date": "05.10."}, {"menu": ["Schneller Teller: Seelachsfilet an \"S\u00fc\u00df - Scharfer\" Tomatenso\u00dfe, Langkornreis und Brokkoli", "Gyros mit hausgemachtem Tsatsiki", "Green Tacos mit Walnuss - Chili - P\u00e2t\u00e9", "Kartoffel Broccoli Gratin"], "date": "06.10."}], "name": "Speiseplan f\u00fcr Feldkirchenstra\u00dfe Bamberg"}
|
||||
@ -10,7 +10,7 @@ from apps.food.models import Menu, HappyHour
|
||||
|
||||
# Create your views here.
|
||||
def daily_food(request):
|
||||
today = datetime.datetime.now() + datetime.timedelta(2)
|
||||
today = datetime.datetime.now()
|
||||
daily_menus = Menu.objects.filter(date__exact=today)
|
||||
feki_menu = daily_menus.filter(location__contains="Feldkirchenstraße").last()
|
||||
austr_menu = daily_menus.filter(location__contains="Austraße").last()
|
||||
@ -28,6 +28,42 @@ def daily_food(request):
|
||||
})
|
||||
|
||||
|
||||
def weekly_food(request):
|
||||
today = datetime.datetime.now()
|
||||
lastday = datetime.datetime.now() + datetime.timedelta(7)
|
||||
weekly_menus = Menu.objects.filter(date__gte=today, date__lte=lastday)
|
||||
feki_menu = weekly_menus.filter(location__contains="Feldkirchenstraße")
|
||||
austr_menu = weekly_menus.filter(location__contains="Austraße")
|
||||
erba_cafete = weekly_menus.filter(location__contains="Erba")
|
||||
markus_cafete = weekly_menus.filter(location__contains="markus")
|
||||
happy_hours = HappyHour.objects.filter(date__gte=today, date__lte=lastday)
|
||||
print(feki_menu.menu)
|
||||
return render(request, "food/daily_food.jinja", {
|
||||
'day': today,
|
||||
'happy_hours': happy_hours,
|
||||
'feki_menu': feki_menu,
|
||||
'austr_menu': austr_menu,
|
||||
'erba_cafete': erba_cafete,
|
||||
'markus_cafete': markus_cafete,
|
||||
})
|
||||
|
||||
|
||||
def all_food(request):
|
||||
menus = Menu.objects.all()
|
||||
feki_menu = menus.filter(location__contains="Feldkirchenstraße")
|
||||
austr_menu = menus.filter(location__contains="Austraße")
|
||||
erba_cafete = menus.filter(location__contains="Erba")
|
||||
markus_cafete = menus.filter(location__contains="markus")
|
||||
happy_hours = HappyHour.objects.all()
|
||||
return render(request, "food/daily_food.jinja", {
|
||||
'happy_hours': happy_hours,
|
||||
'feki_menu': feki_menu,
|
||||
'austr_menu': austr_menu,
|
||||
'erba_cafete': erba_cafete,
|
||||
'markus_cafete': markus_cafete,
|
||||
})
|
||||
|
||||
|
||||
def food(request):
|
||||
return render(request, "food/food.jinja", {
|
||||
})
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -15,10 +15,12 @@ Including another URLconf
|
||||
"""
|
||||
from django.conf.urls import url, include
|
||||
from django.contrib import admin
|
||||
from ofu_app import views
|
||||
|
||||
urlpatterns = [
|
||||
url(r'^admin/', admin.site.urls),
|
||||
|
||||
url(r'^$', views.home, name="home"),
|
||||
# -- Apps --
|
||||
url(r'^food/', include('apps.food.urls')),
|
||||
url(r'^events/', include('apps.events.urls')),
|
||||
|
||||
9
ofu_app/ofu_app/views.py
Normal file
9
ofu_app/ofu_app/views.py
Normal file
@ -0,0 +1,9 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.shortcuts import render
|
||||
|
||||
|
||||
# Create your views here.
|
||||
def home(request):
|
||||
return render(request, "home.jinja", {})
|
||||
22
ofu_app/templates/events/all_events.jinja
Normal file
22
ofu_app/templates/events/all_events.jinja
Normal file
@ -0,0 +1,22 @@
|
||||
{% extends 'base.jinja' %}
|
||||
{% block headline %}
|
||||
<h1 class="text-center">Alle Events an der OFU </h1>
|
||||
<h2 class="text-center">{{ startdate }} bis {{ enddate }}</h2>
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
{% for event in events %}
|
||||
<div class="col-6 p-3">
|
||||
<div class="p-3 border border-dark roundep-3 border border-dark rounded bg-light text-dark">
|
||||
<h3>{{ event.title }}</h3>
|
||||
<p>Wann: {{ event.date|date:"D, d.M" }} ab {{ event.time }}</p>
|
||||
<p>Wo: {{ event.location }}</p>
|
||||
<a href="{{ event.link }}">Details</a>
|
||||
<p>Kategorie: {{ event.category }}</p>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
29
ofu_app/templates/events/events.jinja
Normal file
29
ofu_app/templates/events/events.jinja
Normal file
@ -0,0 +1,29 @@
|
||||
{% extends 'base.jinja' %}
|
||||
{% block headline %}
|
||||
<h1 class="text-center">Events in Bamberg</h1>
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div class="container text-dark">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">Events for a Week</h4>
|
||||
<p class="card-text">Übersicht über alle Events an der Uni und Veranstaltungen der HSnGs</p>
|
||||
<a href="{% url 'all-events' %}" class="btn btn-primary">Zur Gesamtübersicht</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">Events for a Week</h4>
|
||||
<p class="card-text">Übersicht über alle Events an der Uni und Veranstaltungen der HSnGs in der
|
||||
zukünftigen Woche.</p>
|
||||
<a href="{% url 'week-events' %}" class="btn btn-primary">Zur Wochenübersicht</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@ -7,12 +7,14 @@
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
{% for event in events %}
|
||||
<div class="col m-2 p-3 border border-dark rounded">
|
||||
<h3>{{ event.title }}</h3>
|
||||
<p>Wann: {{ event.date|date:"M Y" }} ab {{ event.time }}</p>
|
||||
<p>Wo: {{ event.location }}</p>
|
||||
<a href="{{ event.link }}">Details</a>
|
||||
<p>Kategorie: {{ event.category }}</p>
|
||||
<div class="col-6 p-3">
|
||||
<div class="p-3 border border-dark rounded bg-light text-dark">
|
||||
<h3>{{ event.title }}</h3>
|
||||
<p>Wann: {{ event.date|date:"D, d.M" }} ab {{ event.time }}</p>
|
||||
<p>Wo: {{ event.location }}</p>
|
||||
<a href="{{ event.link }}">Details</a>
|
||||
<p>Kategorie: {{ event.category }}</p>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
41
ofu_app/templates/food/food_home.jinja
Normal file
41
ofu_app/templates/food/food_home.jinja
Normal file
@ -0,0 +1,41 @@
|
||||
{% extends 'base.jinja' %}
|
||||
{% block headline %}
|
||||
<h1 class="text-center">Übersicht Food</h1>
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div class="container text-dark">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">Daily</h4>
|
||||
<p class="card-text">Übersicht über Essensmöglichkeiten des aktuellen Tages.</p>
|
||||
<a href="{% url 'daily-food' %}" class="btn btn-primary">Zur Daily Page</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">Weekly</h4>
|
||||
<p class="card-text">Übersicht über Essensmöglichkeiten der aktuellen Woche.</p>
|
||||
<a href="{% url 'events-main' %}" class="btn btn-primary">Zur Weekly Page</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">All</h4>
|
||||
<p class="card-text">Übersicht über alle zukünftigen Essensmöglichkeiten an der Universität
|
||||
Bamberg. </p>
|
||||
<a href="{% url 'food' %}" class="btn btn-primary">Zur All Page</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
28
ofu_app/templates/home.jinja
Normal file
28
ofu_app/templates/home.jinja
Normal file
@ -0,0 +1,28 @@
|
||||
{% extends 'base.jinja' %}
|
||||
{% block headline %}
|
||||
<h1 class="text-center">App für die Uni Bamberg</h1>
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div class="container text-dark">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">Food</h4>
|
||||
<p class="card-text">Übersicht über Essensmöglichkeiten für Studenten in der Stadt Bamberg </p>
|
||||
<a href="{% url 'food' %}" class="btn btn-primary">Zur Mainpage</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">Events</h4>
|
||||
<p class="card-text">Übersicht über alle Events an der Universität Bambergs und Veranstaltungen der HSnGs.</p>
|
||||
<a href="{% url 'events-main' %}" class="btn btn-primary">Zur Mainpage</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user