diff --git a/infoscreen/migrations/0006_delete_hsldatamodel.py b/infoscreen/migrations/0006_delete_hsldatamodel.py
index 9214e52..fdc0f83 100644
--- a/infoscreen/migrations/0006_delete_hsldatamodel.py
+++ b/infoscreen/migrations/0006_delete_hsldatamodel.py
@@ -15,10 +15,6 @@ class Migration(migrations.Migration):
migrations.DeleteModel(
name='HSLDataModel',
),
- migrations.RemoveField(
- model_name='hslinfoitem',
- name='infoitem_ptr',
- ),
migrations.DeleteModel(
name='HslInfoItem',
),
diff --git a/infoscreen/migrations/0007_lunchitem.py b/infoscreen/migrations/0007_lunchitem.py
new file mode 100644
index 0000000..ed201b6
--- /dev/null
+++ b/infoscreen/migrations/0007_lunchitem.py
@@ -0,0 +1,21 @@
+# Generated by Django 2.1.5 on 2019-03-26 12:49
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('infoscreen', '0006_delete_hsldatamodel'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='LunchItem',
+ fields=[
+ ('infoitem_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='infoscreen.InfoItem')),
+ ],
+ bases=('infoscreen.infoitem',),
+ ),
+ ]
diff --git a/infoscreen/models.py b/infoscreen/models.py
index e1479f8..65058a1 100644
--- a/infoscreen/models.py
+++ b/infoscreen/models.py
@@ -193,6 +193,19 @@ class SossoInfoItem(InfoItem):
return "/static/infoscreen/html/sosso_create.html"
+class LunchItem(InfoItem):
+ """Class for Lunch Infoscreen item."""
+
+ display_name = _("Today's lunch")
+
+ def get_template_url(self):
+ return "/static/infoscreen/html/lunch.html"
+
+ @staticmethod
+ def get_create_template_url():
+ return "/static/infoscreen/html/lunch_create.html"
+
+
class EventInfoItem(InfoItem):
"""Class for Event Infoscreen item."""
diff --git a/infoscreen/static/infoscreen/css/lunch.css b/infoscreen/static/infoscreen/css/lunch.css
new file mode 100644
index 0000000..1d324f6
--- /dev/null
+++ b/infoscreen/static/infoscreen/css/lunch.css
@@ -0,0 +1,53 @@
+#header {
+ height: 30%;
+ width: 100%;
+ background-color:#7c1330;
+ text-align: center;
+}
+
+#header-image {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+ max-width: 100%;
+}
+
+.article-row {
+ min-height: 20vh;
+ margin: 10px 10px 10px 10px;
+}
+
+.article-thumb-col {
+ max-height: 200px;
+ text-align: left;
+}
+
+.article-title-col {
+ font-size: 3vw;
+}
+
+.thumbnail {
+ max-width: 355px;
+ max-height: 200px;
+}
+
+#sossoimage {
+ height: 300px;
+ position: relative;
+ left: 0px;
+ top: 0px;
+ }
+
+.stretch {
+ width:100%;
+ height:100%;
+}
+
+#post {
+ height: 540px;
+ border:2px solid black;
+}
+
+#container {
+ max-height: 70%;
+}
diff --git a/infoscreen/static/infoscreen/html/lunch.html b/infoscreen/static/infoscreen/html/lunch.html
new file mode 100644
index 0000000..052af38
--- /dev/null
+++ b/infoscreen/static/infoscreen/html/lunch.html
@@ -0,0 +1,11 @@
+
+
+
diff --git a/infoscreen/static/infoscreen/html/lunch_create.html b/infoscreen/static/infoscreen/html/lunch_create.html
new file mode 100644
index 0000000..81f5cfe
--- /dev/null
+++ b/infoscreen/static/infoscreen/html/lunch_create.html
@@ -0,0 +1,10 @@
+
+
+ Create new item to show restaurants. Name is used only as identifier
+
+
+
+
+
+
+
diff --git a/infoscreen/static/infoscreen/js/infoadmin_controllers.js b/infoscreen/static/infoscreen/js/infoadmin_controllers.js
index e6ded8b..22c79c1 100644
--- a/infoscreen/static/infoscreen/js/infoadmin_controllers.js
+++ b/infoscreen/static/infoscreen/js/infoadmin_controllers.js
@@ -182,6 +182,7 @@ var simple_controllers = [
"external_image",
"abbitem",
"sossoitem",
+ "lunchitem",
"eventitem",
"websiteitem",
"apyitem",
diff --git a/infoscreen/static/infoscreen/js/infoscreen_controllers.js b/infoscreen/static/infoscreen/js/infoscreen_controllers.js
index 0f37da9..4176671 100644
--- a/infoscreen/static/infoscreen/js/infoscreen_controllers.js
+++ b/infoscreen/static/infoscreen/js/infoscreen_controllers.js
@@ -82,6 +82,21 @@ app.controller('SossoController', function($scope, $http) {
})
});
+app.controller('LunchController', function ($scope, $http) {
+ $scope.data = [];
+ var restaurants = [42];
+ var restaurant_names = ["TUAS"]
+ var cur_date = new Date().toISOString().split("T")[0]
+ $http.get("https://kitchen.kanttiinit.fi/menus?restaurants=" + restaurants.join(",") + "&days=" + cur_date).then(function (response) {
+ $scope.data = restaurant_names.map(function(n, idx) {
+ return {
+ name: n,
+ lunch: response[idx][cur_date],
+ }
+ });
+ })
+});
+
app.controller('ApyController', function($scope, $http) {
$scope.items = [];
$http.get("/infoscreen/apyjson").then(function(response)
diff --git a/infoscreen/urls.py b/infoscreen/urls.py
index d366950..3de40b3 100644
--- a/infoscreen/urls.py
+++ b/infoscreen/urls.py
@@ -18,6 +18,7 @@ from infoscreen.views import create_image_item
from infoscreen.views import create_video_item
from infoscreen.views import createABBItem
from infoscreen.views import createSossoItem
+from infoscreen.views import createLunchItem
from infoscreen.views import createEventItem
from infoscreen.views import createExternalWebsiteItem
from infoscreen.views import create_rotation
@@ -41,6 +42,7 @@ urlpatterns = [
url(r'^create_video$', create_video_item),
url(r'^create_abbitem$', createABBItem),
url(r'^create_sossoitem$', createSossoItem),
+ url(r'^create_lunchitem$', createLunchItem),
url(r'^create_eventitem$', createEventItem),
url(r'^create_apyitem$', createApyItem),
url(r'^create_websiteitem$', createExternalWebsiteItem),
diff --git a/infoscreen/views/admin_views.py b/infoscreen/views/admin_views.py
index 550a855..45d107b 100644
--- a/infoscreen/views/admin_views.py
+++ b/infoscreen/views/admin_views.py
@@ -17,7 +17,7 @@ import requests
from infoscreen.models import (
Rotation, InfoItem, InfoInstance, ABBInfoItem, ExternalImageInfoItem,
- ImageInfoItem, SossoInfoItem, EventInfoItem,
+ ImageInfoItem, SossoInfoItem, LunchItem, EventInfoItem,
ExternalWebsiteInfoItem, ImageUploadForm, ApyInfoItem, VideoInfoItem)
@@ -179,6 +179,7 @@ createInstance = create_item_generator(InfoInstance)
deleteInstance = delete_item_generator(InfoInstance)
createABBItem = create_item_generator(ABBInfoItem)
createSossoItem = create_item_generator(SossoInfoItem)
+createLunchItem = create_item_generator(LunchItem)
createExternalImageInfoItem = create_item_generator(ExternalImageInfoItem)
createExternalWebsiteItem = create_item_generator(ExternalWebsiteInfoItem)
createEventItem = create_item_generator(EventInfoItem)
diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo
index fa0ce06..794c384 100644
Binary files a/locale/en/LC_MESSAGES/django.mo and b/locale/en/LC_MESSAGES/django.mo differ
diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po
index 0a2af39..a006242 100644
--- a/locale/en/LC_MESSAGES/django.po
+++ b/locale/en/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-20 23:09+0300\n"
+"POT-Creation-Date: 2019-03-26 17:32+0200\n"
"PO-Revision-Date: 2017-11-02 23:09+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -33,19 +33,19 @@ msgstr "External website"
msgid "Sössö articles"
msgstr "Sössö articles"
-#: infoscreen/models.py:199 webapp/models.py:72
+#: infoscreen/models.py:199
+msgid "Today's lunch"
+msgstr ""
+
+#: infoscreen/models.py:212 webapp/models.py:74
msgid "Events"
msgstr "Events"
-#: infoscreen/models.py:214
+#: infoscreen/models.py:227
msgid "Image"
msgstr "Image"
-#: infoscreen/models.py:260
-msgid "HSL timetables"
-msgstr "HSL timetables"
-
-#: infoscreen/models.py:275
+#: infoscreen/models.py:273
msgid "External image"
msgstr "External image"
@@ -113,7 +113,7 @@ msgid "Delete"
msgstr "Delete"
#: infoscreen/templates/tabs/add_remove.html:23 kaehmy/models.py:56
-#: kaehmy/templates/list.html:36 webapp/models.py:118 webapp/models.py:147
+#: kaehmy/templates/list.html:36 webapp/models.py:125 webapp/models.py:154
msgid "Name"
msgstr "Name"
@@ -263,7 +263,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: kaehmy/models.py:39 webapp/models.py:129
+#: kaehmy/models.py:39 webapp/models.py:136
msgid "Description"
msgstr "Description"
@@ -311,7 +311,7 @@ msgstr "Kaehmy application"
msgid "Kaehmylomakkeet"
msgstr "Kaehmy applications"
-#: kaehmy/models.py:98 webapp/models.py:182
+#: kaehmy/models.py:98 webapp/models.py:189
msgid "Phone number"
msgstr ""
@@ -327,7 +327,7 @@ msgstr ""
msgid "Custom role name"
msgstr ""
-#: kaehmy/models.py:104 webapp/models.py:119
+#: kaehmy/models.py:104 webapp/models.py:126
msgid "Board member"
msgstr "Board member"
@@ -351,7 +351,7 @@ msgstr ""
msgid "Telegram channels"
msgstr ""
-#: kaehmy/tables.py:13 webapp/models.py:166
+#: kaehmy/tables.py:13 webapp/models.py:173
msgid "Roles"
msgstr ""
@@ -450,12 +450,12 @@ msgid ""
"%%20rekisteri.pdf\" target=\"_blank\">tietosuojaselosteen ja tietojeni "
"tallentamisen.\n"
" "
-msgstr
+msgstr ""
"\n"
" I accept the privacy statement and the saving of personal data."
-"\n"
+"%%20rekisteri.pdf\" target=\"_blank\">privacy statement and the saving "
+"of personal data.\n"
" "
#: kaehmy/templates/kaehmy.html:82 members/templates/settings.html:23
@@ -804,11 +804,11 @@ msgstr "Payments in register:"
msgid "Language"
msgstr "Language"
-#: members/templates/settings.html:20 sikweb/base.py:248
+#: members/templates/settings.html:20 sikweb/base.py:255
msgid "Finnish"
msgstr "Finnish"
-#: members/templates/settings.html:21 sikweb/base.py:249
+#: members/templates/settings.html:21 sikweb/base.py:256
msgid "English"
msgstr "English"
@@ -945,7 +945,10 @@ msgid "-sarjassa"
msgstr "series"
#: ohlhafv/templates/email.html:8
-msgid "Muistattehan vahvistaa haasteen paikan päällä Smökissä torstaina 15.2"
+#, fuzzy
+#| msgid ""
+#| "Muistattehan vahvistaa haasteen paikan päällä Smökissä torstaina 15.2"
+msgid "Muistattehan vahvistaa haasteen paikan päällä Smökissä torstaina 14.2"
msgstr ""
"Remeber to confirm the challenge at Smökki on Thursday 15.2. at the event"
@@ -977,7 +980,7 @@ msgstr ""
msgid "Challenge"
msgstr "Challenge"
-#: ohlhafv/views.py:42
+#: ohlhafv/views.py:43
msgid "Sinut on haastettu Øhlhäfviin!"
msgstr "You have been challenged at Ohlhafv!"
@@ -1006,91 +1009,95 @@ msgstr "Tags"
msgid "Tag: {}"
msgstr "Tag: {}"
-#: webapp/models.py:52
+#: webapp/models.py:53
msgid "Feed: {}"
msgstr "Feed: {}"
-#: webapp/models.py:55
+#: webapp/models.py:56
msgid "Feed"
msgstr ""
-#: webapp/models.py:56
+#: webapp/models.py:57
msgid "Feeds"
msgstr ""
-#: webapp/models.py:68
+#: webapp/models.py:70
msgid "Event: {}"
msgstr ""
-#: webapp/models.py:71
+#: webapp/models.py:73
msgid "Event"
msgstr ""
-#: webapp/models.py:82
+#: webapp/models.py:84
msgid "Template questions: {}"
msgstr ""
-#: webapp/models.py:85
+#: webapp/models.py:87
msgid "Template question"
msgstr ""
-#: webapp/models.py:86
+#: webapp/models.py:88
msgid "Template questions"
msgstr ""
-#: webapp/models.py:98
+#: webapp/models.py:102
+msgid "#{} {}"
+msgstr ""
+
+#: webapp/models.py:105
msgid "Signup form"
msgstr ""
-#: webapp/models.py:99
+#: webapp/models.py:106
msgid "Signup forms"
msgstr ""
-#: webapp/models.py:108
+#: webapp/models.py:115
msgid "Sign-ups: {}"
msgstr ""
-#: webapp/models.py:111
+#: webapp/models.py:118
msgid "Sign-up"
msgstr ""
-#: webapp/models.py:112
+#: webapp/models.py:119
msgid "Sign-ups"
msgstr ""
-#: webapp/models.py:123
+#: webapp/models.py:130
msgid "board member"
msgstr "board member"
-#: webapp/models.py:141
+#: webapp/models.py:148
msgid "Committee"
msgstr ""
-#: webapp/models.py:142
+#: webapp/models.py:149
msgid "Committees"
msgstr ""
-#: webapp/models.py:145
+#: webapp/models.py:152
msgid "Committee: {}"
msgstr ""
-#: webapp/models.py:165
+#: webapp/models.py:172
msgid "Role"
msgstr ""
-#: webapp/models.py:168
+#: webapp/models.py:175
msgid "Start date"
msgstr ""
-#: webapp/models.py:169
+#: webapp/models.py:176
msgid "End date"
msgstr ""
-#: webapp/models.py:179
+#: webapp/models.py:186
msgid "Official"
msgstr ""
-#: webapp/models.py:180
+#: webapp/models.py:187
msgid "Officials"
msgstr ""
@@ -1138,6 +1145,9 @@ msgstr "Sössö"
msgid "Corporate"
msgstr "Corporate"
+#~ msgid "HSL timetables"
+#~ msgstr "HSL timetables"
+
#~ msgid "Username"
#~ msgstr "Username"
diff --git a/locale/fi/LC_MESSAGES/django.mo b/locale/fi/LC_MESSAGES/django.mo
index 3dcd57c..1c09845 100644
Binary files a/locale/fi/LC_MESSAGES/django.mo and b/locale/fi/LC_MESSAGES/django.mo differ
diff --git a/locale/fi/LC_MESSAGES/django.po b/locale/fi/LC_MESSAGES/django.po
index 5c62364..9037226 100644
--- a/locale/fi/LC_MESSAGES/django.po
+++ b/locale/fi/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-20 23:09+0300\n"
+"POT-Creation-Date: 2019-03-26 17:32+0200\n"
"PO-Revision-Date: 2017-11-02 23:04+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -34,19 +34,19 @@ msgstr "Ulkoinen verkkosivu"
msgid "Sössö articles"
msgstr "Sössön artikkelit"
-#: infoscreen/models.py:199 webapp/models.py:72
+#: infoscreen/models.py:199
+msgid "Today's lunch"
+msgstr "Päivän lounas"
+
+#: infoscreen/models.py:212 webapp/models.py:74
msgid "Events"
msgstr "Tapahtumat"
-#: infoscreen/models.py:214
+#: infoscreen/models.py:227
msgid "Image"
msgstr "Kuva"
-#: infoscreen/models.py:260
-msgid "HSL timetables"
-msgstr "HSL-aikataulut"
-
-#: infoscreen/models.py:275
+#: infoscreen/models.py:273
msgid "External image"
msgstr "Ulkoinen kuva"
@@ -114,7 +114,7 @@ msgid "Delete"
msgstr "Poista"
#: infoscreen/templates/tabs/add_remove.html:23 kaehmy/models.py:56
-#: kaehmy/templates/list.html:36 webapp/models.py:118 webapp/models.py:147
+#: kaehmy/templates/list.html:36 webapp/models.py:125 webapp/models.py:154
msgid "Name"
msgstr "Nimi"
@@ -264,7 +264,7 @@ msgstr "Muut"
msgid "Category"
msgstr "Kategoria"
-#: kaehmy/models.py:39 webapp/models.py:129
+#: kaehmy/models.py:39 webapp/models.py:136
msgid "Description"
msgstr "Kuvaus"
@@ -312,7 +312,7 @@ msgstr "Kaehmylomake"
msgid "Kaehmylomakkeet"
msgstr "Kaehmylomakkeet"
-#: kaehmy/models.py:98 webapp/models.py:182
+#: kaehmy/models.py:98 webapp/models.py:189
msgid "Phone number"
msgstr "Puhelinnumero"
@@ -328,7 +328,7 @@ msgstr "Teksti"
msgid "Custom role name"
msgstr "Uusi virka"
-#: kaehmy/models.py:104 webapp/models.py:119
+#: kaehmy/models.py:104 webapp/models.py:126
msgid "Board member"
msgstr "Hallituksen jäsen"
@@ -352,7 +352,7 @@ msgstr "Telegram-kanava"
msgid "Telegram channels"
msgstr "Telegram-kanavat"
-#: kaehmy/tables.py:13 webapp/models.py:166
+#: kaehmy/tables.py:13 webapp/models.py:173
msgid "Roles"
msgstr "Roolit"
@@ -800,11 +800,11 @@ msgstr "Maksutapahtumia:"
msgid "Language"
msgstr "Kieli"
-#: members/templates/settings.html:20 sikweb/base.py:248
+#: members/templates/settings.html:20 sikweb/base.py:255
msgid "Finnish"
msgstr "suomi"
-#: members/templates/settings.html:21 sikweb/base.py:249
+#: members/templates/settings.html:21 sikweb/base.py:256
msgid "English"
msgstr "englanti"
@@ -940,7 +940,7 @@ msgid "-sarjassa"
msgstr ""
#: ohlhafv/templates/email.html:8
-msgid "Muistattehan vahvistaa haasteen paikan päällä Smökissä torstaina 15.2"
+msgid "Muistattehan vahvistaa haasteen paikan päällä Smökissä torstaina 14.2"
msgstr ""
#: ohlhafv/templates/email.html:10
@@ -971,7 +971,7 @@ msgstr "Haasta kaverisi mittelöön!"
msgid "Challenge"
msgstr "Haasta"
-#: ohlhafv/views.py:42
+#: ohlhafv/views.py:43
msgid "Sinut on haastettu Øhlhäfviin!"
msgstr ""
@@ -1000,91 +1000,95 @@ msgstr "Tunnisteet"
msgid "Tag: {}"
msgstr "Tunniste: {}"
-#: webapp/models.py:52
+#: webapp/models.py:53
msgid "Feed: {}"
msgstr "Uutinen: {}"
-#: webapp/models.py:55
+#: webapp/models.py:56
msgid "Feed"
msgstr "Uutinen"
-#: webapp/models.py:56
+#: webapp/models.py:57
msgid "Feeds"
msgstr "Uutiset"
-#: webapp/models.py:68
+#: webapp/models.py:70
msgid "Event: {}"
msgstr "Tapahtuma: {}"
-#: webapp/models.py:71
+#: webapp/models.py:73
msgid "Event"
msgstr "Tapahtuma"
-#: webapp/models.py:82
+#: webapp/models.py:84
msgid "Template questions: {}"
msgstr "Vakiokysymykset: {}"
-#: webapp/models.py:85
+#: webapp/models.py:87
msgid "Template question"
msgstr "Vakiokysymys"
-#: webapp/models.py:86
+#: webapp/models.py:88
msgid "Template questions"
msgstr "Vakiokysymykset"
-#: webapp/models.py:98
+#: webapp/models.py:102
+msgid "#{} {}"
+msgstr ""
+
+#: webapp/models.py:105
msgid "Signup form"
msgstr "Ilmoittautumislomake"
-#: webapp/models.py:99
+#: webapp/models.py:106
msgid "Signup forms"
msgstr "Ilmoittautumislomakkeet"
-#: webapp/models.py:108
+#: webapp/models.py:115
msgid "Sign-ups: {}"
msgstr "Ilmoittautumiset: {}"
-#: webapp/models.py:111
+#: webapp/models.py:118
msgid "Sign-up"
msgstr "Ilmoittautuminen"
-#: webapp/models.py:112
+#: webapp/models.py:119
msgid "Sign-ups"
msgstr "Ilmoittautumiset"
-#: webapp/models.py:123
+#: webapp/models.py:130
msgid "board member"
msgstr "hallituksen jäsen"
-#: webapp/models.py:141
+#: webapp/models.py:148
msgid "Committee"
msgstr "Toimikunta"
-#: webapp/models.py:142
+#: webapp/models.py:149
msgid "Committees"
msgstr "Toimikunnat"
-#: webapp/models.py:145
+#: webapp/models.py:152
msgid "Committee: {}"
msgstr "Toimikunta: {}"
-#: webapp/models.py:165
+#: webapp/models.py:172
msgid "Role"
msgstr "Rooli"
-#: webapp/models.py:168
+#: webapp/models.py:175
msgid "Start date"
msgstr "Alkupäivämäärä"
-#: webapp/models.py:169
+#: webapp/models.py:176
msgid "End date"
msgstr "Loppupäivämäärä"
-#: webapp/models.py:179
+#: webapp/models.py:186
msgid "Official"
msgstr "Toimihenkilö"
-#: webapp/models.py:180
+#: webapp/models.py:187
msgid "Officials"
msgstr "Toimihenkilöt"
@@ -1132,6 +1136,9 @@ msgstr "Sössö"
msgid "Corporate"
msgstr "Yritys"
+#~ msgid "HSL timetables"
+#~ msgstr "HSL-aikataulut"
+
#~ msgid "Culture"
#~ msgstr "Kulttuuri"