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:
michigg 2017-10-03 02:14:19 +02:00
commit 51e7b14087
23 changed files with 209 additions and 30 deletions

View File

@ -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)

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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'),
]

View File

@ -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"}

View File

@ -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"}

View File

@ -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"}]}

View File

@ -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"}

View File

@ -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"}

View File

@ -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", {
})

View File

@ -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
View 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", {})

View 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 %}

View 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 %}

View File

@ -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>

View 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 %}

View 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 %}