From 423b574cca95394789abcd292b338d6f8cf8e6cb Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Tue, 26 Mar 2019 17:33:09 +0200 Subject: [PATCH] Add Today's lunch infoscreen --- .../migrations/0006_delete_hsldatamodel.py | 4 - infoscreen/migrations/0007_lunchitem.py | 21 ++++ infoscreen/models.py | 13 +++ infoscreen/static/infoscreen/css/lunch.css | 53 ++++++++++ infoscreen/static/infoscreen/html/lunch.html | 11 ++ .../static/infoscreen/html/lunch_create.html | 10 ++ .../infoscreen/js/infoadmin_controllers.js | 1 + .../infoscreen/js/infoscreen_controllers.js | 15 +++ infoscreen/urls.py | 2 + infoscreen/views/admin_views.py | 3 +- locale/en/LC_MESSAGES/django.mo | Bin 14364 -> 14152 bytes locale/en/LC_MESSAGES/django.po | 94 ++++++++++-------- locale/fi/LC_MESSAGES/django.mo | Bin 16647 -> 16647 bytes locale/fi/LC_MESSAGES/django.po | 85 ++++++++-------- 14 files changed, 226 insertions(+), 86 deletions(-) create mode 100644 infoscreen/migrations/0007_lunchitem.py create mode 100644 infoscreen/static/infoscreen/css/lunch.css create mode 100644 infoscreen/static/infoscreen/html/lunch.html create mode 100644 infoscreen/static/infoscreen/html/lunch_create.html 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 fa0ce06f895d4659060ca63ea6340ee8608fe37d..794c384e9aeb145c39b11d19b5a3c9ba01afd668 100644 GIT binary patch delta 4213 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 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 3dcd57c30b908c7cf2b0fa54064b2ec8cc0981fa..1c09845d8824af8098584cb5f60eccfdaa1dfc87 100644 GIT binary patch delta 4289 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 L>ApR~hWq^k)T7e` delta 4289 zcmY+`3shBA0><%u1$o57%S#gkFDU^E$}=SuD_yxrCo;1#vn3c7sbvOZ>eO+Rz(->` zSMk+AQ9h!4g;thkVMaPrY7euAW+^$A&2n_56V__}-#xpv>MXze+k4-0&VHPIF4oQS z)Xnp39USCD8)F)K7?XpW@h1EVv#?LHF===Q#^Gbw8JFP|xDr#b$=2V&1nLLTi|w|4 z5yPlQrWlif2^fXNDaJAJ6h_eyjAa;(lQ9UV+x999p*{;^aV~a6KX$=p>+5*hW6S}J zr2S=|`~4m)pnecFfnY|hey&J$+>yoGhGc6x#&AL|s)J#u8;-F~M9p9thTEGPT@bO8--nE0xRN0)zeTn&PM*3Vm?-38EVBkPy_iD z^+=+68Iy!pqE@H?yWvP%pM-i8vr!Xr=2Os8EJby=1~v00WE+_6s3kv)n#n2Dp84L| zfx2OMZ}-{9qHdglnph#~`ci8-Y9*?X^Bl8~f;z58_K9ggE!{2*##UQzLv{2%YQRS@ z7*C+~P&;aX9jF<5(%kR6quNtY14~2QCl90O-wdLl5tX0@GQplufx6&9jKDdzUWdBj za@3NqwXR29zs-KX6E)Dckf&=7pjPB8^3Q}^ZH$lpO%??`vp=DhywcWdZM_L~<2|Uo z&}Kb~LDbLK?|(q8$dA|$J1`eB)7^oNM_oS|^@wMpqryT8dPZwen`SfWM*DCK9>6J> zlHm??5o%`ZQP*!p?TJ>@b%&8R&>TUn+>h87J(=$NpN)*o+@8t$hfsKo1}$|Bs=f@v zaTV%@O{iVI0d?LE?1Zg2(!)Tpm3j=l==+aRGyNKM-FehX=~s=S3C1wY$zuIODHPEV zj@P4RGSYgNwGwrsM^P(PYui_&-s6q7{u=7MHq@T_1ho=pPy-6fcK1SeyoUN9hk|~Y zX5b*)fEw9J)aE*i>fjQp<4_)KBqpN1Pe%=;q zK{vRFJSJoMyEo3nXsQJmfx}QUDn$)o5*FfgR0r!Z3OAt--@u;uC9-|Y&&VQ}-Z^gj zXk;Lcd6#8Oun(6vF+zjD{$Ew!Oqj)`6SeUf(E$X zdy!L&4>j|#sE)?ldIjo{O+ihxY5?o6rKzPs9jrjr*P%wf9o0drtsg}F59b)_{0pd# zf(E(+4@WO`FY0wmMV(iSL-1zQ0G>omc!fhjGkykj;|-|Yy&G5I3Dl#QRpjo8$E}M{ zkE9;;w_`i%xf!-r5KuR>i=W9v&$ z=QW@@*n%3sZq%mz%-U}Kuk{zyjKler)4=1Ai905bf|jtzZ7@SoOLQZu<5F86hpE)d zQG2EalW+m*{O3{k*@PNM3+nnksAs(&^+>)zP2hh4dH&&p-S;`s+8?`d!f@21xf|nf z5^4!&qF&Ql>k`xe>aiC#qTY_Z$Qx%)q6XfT4dBCpn1SQ)D*89`DCqTDhr010REI|~ z7SEzO_!YGo!;0OdOu&BBeVBu#wtX(@(Je;JbS>(-mu&k^)cyBknr3*6!Yz0TCt~4H z_cyy9wS;f_OS&wc@B$?rQ(gY>`2n>BWD0qNd`NUWPx_L#$UjIrnM^j2dx+NS3$oRp z>+PAgiPBBv0Qs1VBw6GPd7IowKJr(4dpUkeYsmLx6q!bTf9#_2SKIK^@4oni@={wL zhsVe}WHvcYcvOZ-2ae5rmXY_}s(BJukoDTNI+g@J-H#czT!nfqv=jeE>c}~AnKYA? zWFL8%q!1l7E`iVCe72By@&nmV9wIvQ`>=;hF#h_O=*klm^}n@KWD7Y>mXQmj6A2|1 zM2B7&?KvIUL=#v`UL)n?cG8a|lj-Djq9=`R-)re^5;Ow{Rn}>Nc4Y96=tp_0O#BcncXsX4$~xKTNZQ3+?J>We`wU0QNF6m zX%$svDCJ(^qA<;O*~yf<{H=l{Gg&vO6( 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"