diff --git a/kaehmy/models.py b/kaehmy/models.py index 237c349..24f8a60 100644 --- a/kaehmy/models.py +++ b/kaehmy/models.py @@ -9,7 +9,6 @@ from django.utils.translation import ugettext_lazy as _ from django.contrib.auth.models import User from auditlog.registry import auditlog from phonenumber_field.modelfields import PhoneNumberField -from django.contrib.postgres.fields import JSONField import logging diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo index ec01ae1..943f63b 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 f3d30c9..f0cecbc 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-03-02 02:43+0200\n" +"POT-Creation-Date: 2018-06-19 20:44+0300\n" "PO-Revision-Date: 2017-11-02 23:09+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -33,7 +33,7 @@ msgstr "External website" msgid "Sössö articles" msgstr "Sössö articles" -#: infoscreen/models.py:199 webapp/models.py:72 +#: infoscreen/models.py:199 signup/models.py:30 msgid "Events" msgstr "Events" @@ -112,8 +112,8 @@ msgstr "Preview" msgid "Delete" msgstr "Delete" -#: infoscreen/templates/tabs/add_remove.html:23 kaehmy/models.py:39 -#: kaehmy/templates/list.html:36 webapp/models.py:110 +#: infoscreen/templates/tabs/add_remove.html:23 kaehmy/models.py:38 +#: kaehmy/templates/list.html:36 webapp/models.py:61 webapp/models.py:90 msgid "Name" msgstr "Name" @@ -201,105 +201,103 @@ msgstr "Invalid phone number" msgid "Custom role with the same name already exists." msgstr "Custom role with the same name already exists." -#: kaehmy/models.py:18 +#: kaehmy/models.py:17 msgid "Kaehmy" msgstr "Kaehmy" -#: kaehmy/models.py:25 +#: kaehmy/models.py:24 msgid "Preset kaehmy role" msgstr "Preset kaehmy role" -#: kaehmy/models.py:26 +#: kaehmy/models.py:25 msgid "Preset kaehmy roles" msgstr "Preset kaehmy roles" -#: kaehmy/models.py:33 +#: kaehmy/models.py:32 msgid "Custom kaehmy role" msgstr "Custom kaehmy role" -#: kaehmy/models.py:34 +#: kaehmy/models.py:33 msgid "Custom kaehmy roles" msgstr "Custom kaehmy roles" -#: kaehmy/models.py:40 kaehmy/templates/list.html:40 members/models.py:16 +#: kaehmy/models.py:39 kaehmy/templates/list.html:40 members/models.py:15 msgid "Email" msgstr "Email" -#: kaehmy/models.py:41 +#: kaehmy/models.py:40 msgid "Timestamp" msgstr "" -#: kaehmy/models.py:55 +#: kaehmy/models.py:54 msgid "Kaehmykommentti" msgstr "Kaehmy comment" -#: kaehmy/models.py:56 +#: kaehmy/models.py:55 msgid "Kaehmykommentit" msgstr "Kaehmy comments" -#: kaehmy/models.py:58 ohlhafv/models.py:37 +#: kaehmy/models.py:57 ohlhafv/models.py:36 msgid "Message" msgstr "" -#: kaehmy/models.py:77 kaehmy/templates/kaehmy.html:12 +#: kaehmy/models.py:76 kaehmy/templates/kaehmy.html:12 msgid "Kaehmylomake" msgstr "Kaehmy application" -#: kaehmy/models.py:78 +#: kaehmy/models.py:77 msgid "Kaehmylomakkeet" msgstr "Kaehmy applications" -#: kaehmy/models.py:81 webapp/models.py:153 +#: kaehmy/models.py:80 webapp/models.py:125 msgid "Phone number" msgstr "" -#: kaehmy/models.py:82 +#: kaehmy/models.py:81 msgid "Year" msgstr "" -#: kaehmy/models.py:83 +#: kaehmy/models.py:82 msgid "Text" msgstr "" -#: kaehmy/models.py:85 +#: kaehmy/models.py:84 msgid "Custom role name" msgstr "" -#: kaehmy/models.py:87 webapp/models.py:111 +#: kaehmy/models.py:86 webapp/models.py:62 msgid "Board member" msgstr "Board member" -#: kaehmy/models.py:95 +#: kaehmy/models.py:94 msgid "Kaehmy application: {}" msgstr "Kaehmy application: {}" -#: kaehmy/models.py:117 +#: kaehmy/models.py:116 msgid "Board: {}" msgstr "" -#: kaehmy/models.py:123 +#: kaehmy/models.py:122 msgid "Official: {}" msgstr "" -#: kaehmy/models.py:140 +#: kaehmy/models.py:139 msgid "Telegram channel" msgstr "" -#: kaehmy/models.py:141 +#: kaehmy/models.py:140 msgid "Telegram channels" msgstr "" -#: kaehmy/tables.py:13 webapp/models.py:137 +#: kaehmy/tables.py:13 webapp/models.py:109 msgid "Roles" msgstr "" -#: kaehmy/templates/error.html:8 members/templates/error.html:8 -#: templates/error.html:8 +#: kaehmy/templates/error.html:8 templates/error.html:8 msgid "Error" msgstr "Error" -#: kaehmy/templates/error.html:15 members/templates/error.html:15 -#: templates/error.html:15 +#: kaehmy/templates/error.html:15 templates/error.html:15 msgid "Back" msgstr "Back" @@ -436,7 +434,7 @@ msgstr "New application" msgid "Statistics" msgstr "" -#: members/forms.py:107 members/models.py:103 members/tables.py:46 +#: members/forms.py:107 members/models.py:102 members/tables.py:41 msgid "Member" msgstr "Member" @@ -448,65 +446,65 @@ msgstr "I'm a member of AYY" msgid "I want to receive a weekly newsletter" msgstr "I want to receive a weekly newsletter" -#: members/models.py:14 +#: members/models.py:13 msgid "First name" msgstr "First name" -#: members/models.py:15 +#: members/models.py:14 msgid "Last name" msgstr "Last name" -#: members/models.py:17 +#: members/models.py:16 msgid "Place of residence" msgstr "Place of residence" -#: members/models.py:19 members/models.py:70 +#: members/models.py:18 members/models.py:69 #: members/templates/member_add_many.html:39 msgid "AYY" msgstr "AYY" -#: members/models.py:20 +#: members/models.py:19 msgid "JAS" msgstr "JAS" -#: members/models.py:51 +#: members/models.py:50 msgid "Submitted" msgstr "Submitted" -#: members/models.py:68 +#: members/models.py:67 msgid "Date" msgstr "Date" -#: members/models.py:69 +#: members/models.py:68 msgid "Source" msgstr "Source" -#: members/models.py:71 +#: members/models.py:70 msgid "Cash" msgstr "Cash" -#: members/models.py:72 members/templates/member_add_many.html:40 +#: members/models.py:71 members/templates/member_add_many.html:40 msgid "Bank transfer" msgstr "Bank transfer" -#: members/models.py:96 +#: members/models.py:95 msgid "Created" msgstr "Created" -#: members/models.py:104 members/templates/base.html:52 +#: members/models.py:103 members/templates/base.html:52 #: members/templates/member_add_many_confirm.html:12 msgid "Members" msgstr "Members" -#: members/tables.py:14 +#: members/tables.py:15 msgid "Last paid" msgstr "Last paid" -#: members/tables.py:19 members/tables.py:51 members/tables.py:68 +#: members/tables.py:19 members/tables.py:45 members/tables.py:60 msgid "Edit" msgstr "Edit" -#: members/tables.py:33 +#: members/tables.py:31 msgid " (not paid)" msgstr " (not paid)" @@ -728,11 +726,11 @@ msgstr "Payments in register:" msgid "Language" msgstr "Language" -#: members/templates/settings.html:20 sikweb/base.py:232 +#: members/templates/settings.html:20 sikweb/base.py:247 msgid "Finnish" msgstr "Finnish" -#: members/templates/settings.html:21 sikweb/base.py:233 +#: members/templates/settings.html:21 sikweb/base.py:248 msgid "English" msgstr "English" @@ -762,32 +760,32 @@ msgstr "Successfully deleted application" msgid "Could not delete application object" msgstr "Could not delete application object" -#: members/views/members.py:73 members/views/members.py:175 -#: members/views/members.py:199 +#: members/views/members.py:87 members/views/members.py:189 +#: members/views/members.py:213 msgid "No member id specified" msgstr "No member id specified" -#: members/views/members.py:114 +#: members/views/members.py:128 msgid "Failed to import members" msgstr "Failed to import members" -#: members/views/members.py:128 +#: members/views/members.py:142 msgid "Successfully added member" msgstr "Successfully added member" -#: members/views/members.py:149 +#: members/views/members.py:163 msgid "Member missing 'id' field." msgstr "Member missing 'id' field." -#: members/views/members.py:158 +#: members/views/members.py:172 msgid "Successfully updated member" msgstr "Successfully updated member" -#: members/views/members.py:179 +#: members/views/members.py:193 msgid "Successfully deleted member" msgstr "Successfully deleted member" -#: members/views/members.py:188 +#: members/views/members.py:202 msgid "Could not delete member object" msgstr "Could not delete member object" @@ -820,39 +818,39 @@ msgstr "Could not update payment object" msgid "Missing CSV file" msgstr "Missing CSV file" -#: ohlhafv/models.py:16 +#: ohlhafv/models.py:15 msgid "Ohlhafv" msgstr "Øhlhäfv" -#: ohlhafv/models.py:23 +#: ohlhafv/models.py:22 msgid "Ohlhafv challenge" msgstr "" -#: ohlhafv/models.py:24 +#: ohlhafv/models.py:23 msgid "Ohlhafv challenges" msgstr "" -#: ohlhafv/models.py:30 +#: ohlhafv/models.py:29 msgid "Team Challenge (1 x 0.33 L, 2 x 0.5 L, 1 x 1.0 L)" msgstr "" -#: ohlhafv/models.py:33 +#: ohlhafv/models.py:32 msgid "Challenger" msgstr "" -#: ohlhafv/models.py:34 +#: ohlhafv/models.py:33 msgid "Victim" msgstr "" -#: ohlhafv/models.py:35 +#: ohlhafv/models.py:34 msgid "Victim email" msgstr "" -#: ohlhafv/models.py:36 +#: ohlhafv/models.py:35 msgid "Series" msgstr "" -#: ohlhafv/models.py:41 +#: ohlhafv/models.py:40 msgid "Ohlhafv challenge: {} vs. {}" msgstr "" @@ -905,6 +903,50 @@ msgstr "Challenge" msgid "Sinut on haastettu Øhlhäfviin!" msgstr "You have been challenged at Ohlhafv!" +#: signup/models.py:14 webapp/models.py:16 +msgid "Webapp" +msgstr "Webapp" + +#: signup/models.py:26 +msgid "Event: {}" +msgstr "" + +#: signup/models.py:29 +msgid "Event" +msgstr "" + +#: signup/models.py:40 +msgid "Template questions: {}" +msgstr "" + +#: signup/models.py:43 +msgid "Template question" +msgstr "" + +#: signup/models.py:44 +msgid "Template questions" +msgstr "" + +#: signup/models.py:56 +msgid "Signup form" +msgstr "" + +#: signup/models.py:57 +msgid "Signup forms" +msgstr "" + +#: signup/models.py:66 +msgid "Sign-ups: {}" +msgstr "" + +#: signup/models.py:69 +msgid "Sign-up" +msgstr "" + +#: signup/models.py:70 +msgid "Sign-ups" +msgstr "" + #: templates/admin/base_site.html:43 msgid "Go" msgstr "Go" @@ -977,145 +1019,71 @@ msgstr "" "An email was sent to %(email)s %(ago)s ago. Use the link in " "it to set a new password." -#: webapp/models.py:17 -msgid "Webapp" -msgstr "Webapp" - -#: webapp/models.py:28 +#: webapp/models.py:27 msgid "Tag" msgstr "Tag" -#: webapp/models.py:29 +#: webapp/models.py:28 msgid "Tags" msgstr "Tags" -#: webapp/models.py:32 +#: webapp/models.py:31 msgid "Tag: {}" msgstr "Tag: {}" -#: webapp/models.py:52 +#: webapp/models.py:51 msgid "Feed: {}" msgstr "Feed: {}" -#: webapp/models.py:55 +#: webapp/models.py:54 msgid "Feed" msgstr "" -#: webapp/models.py:56 +#: webapp/models.py:55 msgid "Feeds" msgstr "" -#: webapp/models.py:68 -msgid "Event: {}" -msgstr "" - -#: webapp/models.py:71 -msgid "Event" -msgstr "" - -#: webapp/models.py:83 -msgid "Registration: {}" -msgstr "" - -#: webapp/models.py:86 -msgid "Registration" -msgstr "" - -#: webapp/models.py:87 -msgid "Registrations" -msgstr "" - -#: webapp/models.py:94 -msgid "Corporate affairs" -msgstr "" - -#: webapp/models.py:95 webapp/templates/freshmen.html:10 -#: webapp/templates/navigation.html:8 -msgid "Freshmen" -msgstr "Freshmen" - -#: webapp/models.py:96 webapp/templates/international.html:10 -#: webapp/templates/navigation.html:14 -msgid "International" -msgstr "International" - -#: webapp/models.py:97 -msgid "External affairs" -msgstr "" - -#: webapp/models.py:98 -msgid "Media" -msgstr "" - -#: webapp/models.py:99 -msgid "Technology" -msgstr "" - -#: webapp/models.py:100 -msgid "Wellbeing" -msgstr "" - -#: webapp/models.py:101 -msgid "Elepaja" -msgstr "" - -#: webapp/models.py:102 -msgid "Ceremonies" -msgstr "" - -#: webapp/models.py:103 -msgid "Culture" -msgstr "" - -#: webapp/models.py:104 -msgid "Studies" -msgstr "" - -#: webapp/models.py:105 -msgid "Sössö magazine" -msgstr "Sössö magazine" - -#: webapp/models.py:106 -msgid "Alumni relations" -msgstr "Alumni relations" - -#: webapp/models.py:107 -msgid "Others" -msgstr "" - -#: webapp/models.py:112 -msgid "Category" -msgstr "" - -#: webapp/models.py:116 +#: webapp/models.py:66 msgid "board member" msgstr "board member" -#: webapp/models.py:122 +#: webapp/models.py:72 msgid "Description" msgstr "Description" -#: webapp/models.py:136 +#: webapp/models.py:84 +msgid "Committee" +msgstr "" + +#: webapp/models.py:85 +msgid "Committees" +msgstr "" + +#: webapp/models.py:88 +msgid "Committee: {}" +msgstr "" + +#: webapp/models.py:108 msgid "Role" msgstr "" -#: webapp/models.py:139 +#: webapp/models.py:111 msgid "Start date" msgstr "" -#: webapp/models.py:140 +#: webapp/models.py:112 msgid "End date" msgstr "" -#: webapp/models.py:150 +#: webapp/models.py:122 msgid "Official" msgstr "" -#: webapp/models.py:151 +#: webapp/models.py:123 msgid "Officials" msgstr "" -#: webapp/templates/contact.html:10 webapp/templates/navigation.html:20 +#: webapp/templates/contact.html:9 webapp/templates/navigation.html:20 msgid "Contact" msgstr "Contact" @@ -1123,6 +1091,10 @@ msgstr "Contact" msgid "Event calendar" msgstr "Event calendar" +#: webapp/templates/freshmen.html:10 webapp/templates/navigation.html:8 +msgid "Freshmen" +msgstr "Freshmen" + #: webapp/templates/guild.html:10 msgid "Kilta" msgstr "Guild" @@ -1143,6 +1115,10 @@ msgstr "Infoscreen Admin Pane" msgid "Kaehmy application" msgstr "Kaehmy application" +#: webapp/templates/international.html:10 webapp/templates/navigation.html:14 +msgid "International" +msgstr "International" + #: webapp/templates/jobs.html:10 webapp/templates/navigation.html:27 msgid "Jobs" msgstr "Jobs" @@ -1159,6 +1135,12 @@ msgstr "Sössö" msgid "Corporate" msgstr "Corporate" +#~ msgid "Sössö magazine" +#~ msgstr "Sössö magazine" + +#~ msgid "Alumni relations" +#~ msgstr "Alumni relations" + #~ msgid "SIK Admin" #~ msgstr "SIK Admin" diff --git a/locale/fi/LC_MESSAGES/django.mo b/locale/fi/LC_MESSAGES/django.mo index 6ed19a4..669eeea 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 03f7e96..235c146 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-03-02 02:43+0200\n" +"POT-Creation-Date: 2018-06-19 20:44+0300\n" "PO-Revision-Date: 2017-11-02 23:04+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -34,7 +34,7 @@ msgstr "Ulkoinen verkkosivu" msgid "Sössö articles" msgstr "Sössön artikkelit" -#: infoscreen/models.py:199 webapp/models.py:72 +#: infoscreen/models.py:199 signup/models.py:30 msgid "Events" msgstr "Tapahtumat" @@ -51,10 +51,8 @@ msgid "External image" msgstr "Ulkoinen kuva" #: infoscreen/templates/infoscreen_admin.html:10 -#, fuzzy -#| msgid "Infoscreen admin pane" msgid "Infoscreen admin" -msgstr "Infonäyttöjen hallintapaneeli" +msgstr "Infonäyttöjen hallinta" #: infoscreen/templates/infoscreen_admin.html:26 members/templates/base.html:79 msgid "Log out" @@ -115,8 +113,8 @@ msgstr "Esikatsele" msgid "Delete" msgstr "Poista" -#: infoscreen/templates/tabs/add_remove.html:23 kaehmy/models.py:39 -#: kaehmy/templates/list.html:36 webapp/models.py:110 +#: infoscreen/templates/tabs/add_remove.html:23 kaehmy/models.py:38 +#: kaehmy/templates/list.html:36 webapp/models.py:61 webapp/models.py:90 msgid "Name" msgstr "Nimi" @@ -204,107 +202,103 @@ msgstr "Virheellinen puhelinnumero" msgid "Custom role with the same name already exists." msgstr "Samanniminen virka on jo olemassa." -#: kaehmy/models.py:18 -#, fuzzy -#| msgid "Kaehmylomake" +#: kaehmy/models.py:17 msgid "Kaehmy" -msgstr "Kaehmylomake" +msgstr "Kaehmy" -#: kaehmy/models.py:25 +#: kaehmy/models.py:24 msgid "Preset kaehmy role" msgstr "Kaehmyvirka" -#: kaehmy/models.py:26 +#: kaehmy/models.py:25 msgid "Preset kaehmy roles" msgstr "Kaehmyvirat" -#: kaehmy/models.py:33 +#: kaehmy/models.py:32 msgid "Custom kaehmy role" msgstr "Uusi virka" -#: kaehmy/models.py:34 +#: kaehmy/models.py:33 msgid "Custom kaehmy roles" msgstr "Uudet kaehmyvirat" -#: kaehmy/models.py:40 kaehmy/templates/list.html:40 members/models.py:16 +#: kaehmy/models.py:39 kaehmy/templates/list.html:40 members/models.py:15 msgid "Email" msgstr "Sähköposti" -#: kaehmy/models.py:41 +#: kaehmy/models.py:40 msgid "Timestamp" msgstr "Aikaleima" -#: kaehmy/models.py:55 +#: kaehmy/models.py:54 msgid "Kaehmykommentti" msgstr "Kaehmykommentti" -#: kaehmy/models.py:56 +#: kaehmy/models.py:55 msgid "Kaehmykommentit" msgstr "Kaehmykommentit" -#: kaehmy/models.py:58 ohlhafv/models.py:37 +#: kaehmy/models.py:57 ohlhafv/models.py:36 msgid "Message" msgstr "Viesti" -#: kaehmy/models.py:77 kaehmy/templates/kaehmy.html:12 +#: kaehmy/models.py:76 kaehmy/templates/kaehmy.html:12 msgid "Kaehmylomake" msgstr "Kaehmylomake" -#: kaehmy/models.py:78 +#: kaehmy/models.py:77 msgid "Kaehmylomakkeet" msgstr "Kaehmylomakkeet" -#: kaehmy/models.py:81 webapp/models.py:153 +#: kaehmy/models.py:80 webapp/models.py:125 msgid "Phone number" msgstr "Puhelinnumero" -#: kaehmy/models.py:82 +#: kaehmy/models.py:81 msgid "Year" msgstr "Vuosi" -#: kaehmy/models.py:83 +#: kaehmy/models.py:82 msgid "Text" msgstr "Teksti" -#: kaehmy/models.py:85 +#: kaehmy/models.py:84 msgid "Custom role name" msgstr "Uusi virka" -#: kaehmy/models.py:87 webapp/models.py:111 +#: kaehmy/models.py:86 webapp/models.py:62 msgid "Board member" msgstr "Hallituksen jäsen" -#: kaehmy/models.py:95 +#: kaehmy/models.py:94 msgid "Kaehmy application: {}" msgstr "Kaehmy: {}" -#: kaehmy/models.py:117 +#: kaehmy/models.py:116 msgid "Board: {}" msgstr "Hallitus: {}" -#: kaehmy/models.py:123 +#: kaehmy/models.py:122 msgid "Official: {}" msgstr "Toimari: {}" -#: kaehmy/models.py:140 +#: kaehmy/models.py:139 msgid "Telegram channel" msgstr "Telegram-kanava" -#: kaehmy/models.py:141 +#: kaehmy/models.py:140 msgid "Telegram channels" msgstr "Telegram-kanavat" -#: kaehmy/tables.py:13 webapp/models.py:137 +#: kaehmy/tables.py:13 webapp/models.py:109 msgid "Roles" msgstr "Roolit" -#: kaehmy/templates/error.html:8 members/templates/error.html:8 -#: templates/error.html:8 +#: kaehmy/templates/error.html:8 templates/error.html:8 msgid "Error" msgstr "Virhe" -#: kaehmy/templates/error.html:15 members/templates/error.html:15 -#: templates/error.html:15 +#: kaehmy/templates/error.html:15 templates/error.html:15 msgid "Back" msgstr "Takaisin" @@ -444,7 +438,7 @@ msgstr "Uusi kaehmy" msgid "Statistics" msgstr "Kaehmytilastot" -#: members/forms.py:107 members/models.py:103 members/tables.py:46 +#: members/forms.py:107 members/models.py:102 members/tables.py:41 msgid "Member" msgstr "Jäsen" @@ -456,65 +450,65 @@ msgstr "Olen AYY:n jäsen" msgid "I want to receive a weekly newsletter" msgstr "Haluan saada viikottaisen jäsentiedotteen" -#: members/models.py:14 +#: members/models.py:13 msgid "First name" msgstr "Etunimi" -#: members/models.py:15 +#: members/models.py:14 msgid "Last name" msgstr "Sukunimi" -#: members/models.py:17 +#: members/models.py:16 msgid "Place of residence" msgstr "Asuinpaikka" -#: members/models.py:19 members/models.py:70 +#: members/models.py:18 members/models.py:69 #: members/templates/member_add_many.html:39 msgid "AYY" msgstr "AYY" -#: members/models.py:20 +#: members/models.py:19 msgid "JAS" msgstr "JAS" -#: members/models.py:51 +#: members/models.py:50 msgid "Submitted" msgstr "Lisätty" -#: members/models.py:68 +#: members/models.py:67 msgid "Date" msgstr "Päivämäärä" -#: members/models.py:69 +#: members/models.py:68 msgid "Source" msgstr "Lähde" -#: members/models.py:71 +#: members/models.py:70 msgid "Cash" msgstr "Käteinen" -#: members/models.py:72 members/templates/member_add_many.html:40 +#: members/models.py:71 members/templates/member_add_many.html:40 msgid "Bank transfer" msgstr "Tilisiirto" -#: members/models.py:96 +#: members/models.py:95 msgid "Created" msgstr "Lisätty" -#: members/models.py:104 members/templates/base.html:52 +#: members/models.py:103 members/templates/base.html:52 #: members/templates/member_add_many_confirm.html:12 msgid "Members" msgstr "Jäsenet" -#: members/tables.py:14 +#: members/tables.py:15 msgid "Last paid" msgstr "Viimeksi maksettu" -#: members/tables.py:19 members/tables.py:51 members/tables.py:68 +#: members/tables.py:19 members/tables.py:45 members/tables.py:60 msgid "Edit" msgstr "Muokkaa" -#: members/tables.py:33 +#: members/tables.py:31 msgid " (not paid)" msgstr " (ei maksua)" @@ -734,11 +728,11 @@ msgstr "Maksutapahtumia:" msgid "Language" msgstr "Kieli" -#: members/templates/settings.html:20 sikweb/base.py:232 +#: members/templates/settings.html:20 sikweb/base.py:247 msgid "Finnish" msgstr "suomi" -#: members/templates/settings.html:21 sikweb/base.py:233 +#: members/templates/settings.html:21 sikweb/base.py:248 msgid "English" msgstr "englanti" @@ -767,32 +761,32 @@ msgstr "Onnistuneesti poistettiin hakemus" msgid "Could not delete application object" msgstr "Hakemusobjektia ei voitu poistaa" -#: members/views/members.py:73 members/views/members.py:175 -#: members/views/members.py:199 +#: members/views/members.py:87 members/views/members.py:189 +#: members/views/members.py:213 msgid "No member id specified" msgstr "Jäsenen ID ei määritelty" -#: members/views/members.py:114 +#: members/views/members.py:128 msgid "Failed to import members" msgstr "Jäsenten tuonti epäonnistui" -#: members/views/members.py:128 +#: members/views/members.py:142 msgid "Successfully added member" msgstr "Onnistuneesti lisättiin jäsen" -#: members/views/members.py:149 +#: members/views/members.py:163 msgid "Member missing 'id' field." msgstr "Jäsenen ID ei määritelty." -#: members/views/members.py:158 +#: members/views/members.py:172 msgid "Successfully updated member" msgstr "Onnistuneesti päivitettiin jäsen" -#: members/views/members.py:179 +#: members/views/members.py:193 msgid "Successfully deleted member" msgstr "Onnistuneesti poistettiin jäsen" -#: members/views/members.py:188 +#: members/views/members.py:202 msgid "Could not delete member object" msgstr "Jäsenobjektia ei voitu poistaa" @@ -825,39 +819,39 @@ msgstr "Maksutapahtumaobjektia ei voitu päivittää" msgid "Missing CSV file" msgstr "Puuttuva CSV-tiedosto" -#: ohlhafv/models.py:16 +#: ohlhafv/models.py:15 msgid "Ohlhafv" msgstr "Øhlhäfv" -#: ohlhafv/models.py:23 +#: ohlhafv/models.py:22 msgid "Ohlhafv challenge" msgstr "Ohlhafv haaste" -#: ohlhafv/models.py:24 +#: ohlhafv/models.py:23 msgid "Ohlhafv challenges" msgstr "Ohlhafv haasteet" -#: ohlhafv/models.py:30 +#: ohlhafv/models.py:29 msgid "Team Challenge (1 x 0.33 L, 2 x 0.5 L, 1 x 1.0 L)" msgstr "Joukkuehaaste (1 x 0.33 L, 2 x 0.5 L, 1 x 1.0 L)" -#: ohlhafv/models.py:33 +#: ohlhafv/models.py:32 msgid "Challenger" msgstr "Haastaja" -#: ohlhafv/models.py:34 +#: ohlhafv/models.py:33 msgid "Victim" msgstr "Uhri" -#: ohlhafv/models.py:35 +#: ohlhafv/models.py:34 msgid "Victim email" msgstr "Uhrin sähköpostiosoite" -#: ohlhafv/models.py:36 +#: ohlhafv/models.py:35 msgid "Series" msgstr "Sarja" -#: ohlhafv/models.py:41 +#: ohlhafv/models.py:40 msgid "Ohlhafv challenge: {} vs. {}" msgstr "Ohlhafv-haaste: {} vs. {}" @@ -909,6 +903,50 @@ msgstr "Haasta" msgid "Sinut on haastettu Øhlhäfviin!" msgstr "" +#: signup/models.py:14 webapp/models.py:16 +msgid "Webapp" +msgstr "Nettisivut" + +#: signup/models.py:26 +msgid "Event: {}" +msgstr "Tapahtuma: {}" + +#: signup/models.py:29 +msgid "Event" +msgstr "Tapahtuma" + +#: signup/models.py:40 +msgid "Template questions: {}" +msgstr "Vakiokysymykset: {}" + +#: signup/models.py:43 +msgid "Template question" +msgstr "Vakiokysymys" + +#: signup/models.py:44 +msgid "Template questions" +msgstr "Vakiokysymykset" + +#: signup/models.py:56 +msgid "Signup form" +msgstr "Ilmoittautumislomake" + +#: signup/models.py:57 +msgid "Signup forms" +msgstr "Ilmoittautumislomakkeet" + +#: signup/models.py:66 +msgid "Sign-ups: {}" +msgstr "Ilmoittautumiset: {}" + +#: signup/models.py:69 +msgid "Sign-up" +msgstr "Ilmoittautuminen" + +#: signup/models.py:70 +msgid "Sign-ups" +msgstr "Ilmoittautumiset" + #: templates/admin/base_site.html:43 msgid "Go" msgstr "Vaihda" @@ -980,145 +1018,71 @@ msgstr "" "Sähköposti on lähetetty osoitteeseen %(email)s %(ago)s:a " "sitten. Käytä linkkiä asettaaksesi uuden salasanan." -#: webapp/models.py:17 -msgid "Webapp" -msgstr "Nettisivut" - -#: webapp/models.py:28 +#: webapp/models.py:27 msgid "Tag" msgstr "Tunniste" -#: webapp/models.py:29 +#: webapp/models.py:28 msgid "Tags" msgstr "Tunnisteet" -#: webapp/models.py:32 +#: webapp/models.py:31 msgid "Tag: {}" msgstr "Tunniste: {}" -#: webapp/models.py:52 +#: webapp/models.py:51 msgid "Feed: {}" msgstr "Uutinen: {}" -#: webapp/models.py:55 +#: webapp/models.py:54 msgid "Feed" msgstr "Uutinen" -#: webapp/models.py:56 +#: webapp/models.py:55 msgid "Feeds" msgstr "Uutiset" -#: webapp/models.py:68 -msgid "Event: {}" -msgstr "Tapahtuma: {}" - -#: webapp/models.py:71 -msgid "Event" -msgstr "Tapahtuma" - -#: webapp/models.py:83 -msgid "Registration: {}" -msgstr "Registration: {}" - -#: webapp/models.py:86 -msgid "Registration" -msgstr "Ilmoittautuminen" - -#: webapp/models.py:87 -msgid "Registrations" -msgstr "Ilmoittautumiset" - -#: webapp/models.py:94 -msgid "Corporate affairs" -msgstr "Yrityssuhteet" - -#: webapp/models.py:95 webapp/templates/freshmen.html:10 -#: webapp/templates/navigation.html:8 -msgid "Freshmen" -msgstr "Fuksit" - -#: webapp/models.py:96 webapp/templates/international.html:10 -#: webapp/templates/navigation.html:14 -msgid "International" -msgstr "International" - -#: webapp/models.py:97 -msgid "External affairs" -msgstr "Ulkosuhteet" - -#: webapp/models.py:98 -msgid "Media" -msgstr "Media" - -#: webapp/models.py:99 -msgid "Technology" -msgstr "Teknologia" - -#: webapp/models.py:100 -msgid "Wellbeing" -msgstr "Hyvinvointi" - -#: webapp/models.py:101 -msgid "Elepaja" -msgstr "Elepaja" - -#: webapp/models.py:102 -msgid "Ceremonies" -msgstr "Hupitapahtumat" - -#: webapp/models.py:103 -msgid "Culture" -msgstr "Kulttuuri" - -#: webapp/models.py:104 -msgid "Studies" -msgstr "Opinnot" - -#: webapp/models.py:105 -msgid "Sössö magazine" -msgstr "Kiltalehti Sössö" - -#: webapp/models.py:106 -msgid "Alumni relations" -msgstr "Alumnisuhteet" - -#: webapp/models.py:107 -msgid "Others" -msgstr "Muut" - -#: webapp/models.py:112 -msgid "Category" -msgstr "Kategoria" - -#: webapp/models.py:116 +#: webapp/models.py:66 msgid "board member" msgstr "hallituksen jäsen" -#: webapp/models.py:122 +#: webapp/models.py:72 msgid "Description" msgstr "Kuvaus" -#: webapp/models.py:136 +#: webapp/models.py:84 +msgid "Committee" +msgstr "Toimikunta" + +#: webapp/models.py:85 +msgid "Committees" +msgstr "Toimikunnat" + +#: webapp/models.py:88 +msgid "Committee: {}" +msgstr "Toimikunta: {}" + +#: webapp/models.py:108 msgid "Role" msgstr "Rooli" -#: webapp/models.py:139 +#: webapp/models.py:111 msgid "Start date" msgstr "Alkupäivämäärä" -#: webapp/models.py:140 +#: webapp/models.py:112 msgid "End date" msgstr "Loppupäivämäärä" -#: webapp/models.py:150 +#: webapp/models.py:122 msgid "Official" msgstr "Toimihenkilö" -#: webapp/models.py:151 +#: webapp/models.py:123 msgid "Officials" msgstr "Toimihenkilöt" -#: webapp/templates/contact.html:10 webapp/templates/navigation.html:20 +#: webapp/templates/contact.html:9 webapp/templates/navigation.html:20 msgid "Contact" msgstr "Yhteystiedot" @@ -1126,6 +1090,10 @@ msgstr "Yhteystiedot" msgid "Event calendar" msgstr "Tapahtumakalenteri" +#: webapp/templates/freshmen.html:10 webapp/templates/navigation.html:8 +msgid "Freshmen" +msgstr "Fuksit" + #: webapp/templates/guild.html:10 msgid "Kilta" msgstr "Kilta" @@ -1146,6 +1114,10 @@ msgstr "Infonäyttöjen hallintapaneeli" msgid "Kaehmy application" msgstr "Kaehmy" +#: webapp/templates/international.html:10 webapp/templates/navigation.html:14 +msgid "International" +msgstr "International" + #: webapp/templates/jobs.html:10 webapp/templates/navigation.html:27 msgid "Jobs" msgstr "Työpaikat" @@ -1162,6 +1134,54 @@ msgstr "Sössö" msgid "Corporate" msgstr "Yritys" +#~ msgid "Registration: {}" +#~ msgstr "Registration: {}" + +#~ msgid "Registration" +#~ msgstr "Ilmoittautuminen" + +#~ msgid "Registrations" +#~ msgstr "Ilmoittautumiset" + +#~ msgid "Corporate affairs" +#~ msgstr "Yrityssuhteet" + +#~ msgid "External affairs" +#~ msgstr "Ulkosuhteet" + +#~ msgid "Media" +#~ msgstr "Media" + +#~ msgid "Technology" +#~ msgstr "Teknologia" + +#~ msgid "Wellbeing" +#~ msgstr "Hyvinvointi" + +#~ msgid "Elepaja" +#~ msgstr "Elepaja" + +#~ msgid "Ceremonies" +#~ msgstr "Hupitapahtumat" + +#~ msgid "Culture" +#~ msgstr "Kulttuuri" + +#~ msgid "Studies" +#~ msgstr "Opinnot" + +#~ msgid "Sössö magazine" +#~ msgstr "Kiltalehti Sössö" + +#~ msgid "Alumni relations" +#~ msgstr "Alumnisuhteet" + +#~ msgid "Others" +#~ msgstr "Muut" + +#~ msgid "Category" +#~ msgstr "Kategoria" + #~ msgid "Challenger email" #~ msgstr "Haastajan sähköpostiosoite" diff --git a/members/models.py b/members/models.py index ff023b1..64856ba 100644 --- a/members/models.py +++ b/members/models.py @@ -3,8 +3,7 @@ from django.db import models from django.utils import timezone from django.utils.translation import ugettext_lazy as _ -from django.db.models import Q - +from django.db.models import Q, F, OuterRef, Subquery import csv @@ -125,6 +124,11 @@ class Member(BaseMember): qs = qs.filter(Q(first_name__icontains=term) | Q(last_name__icontains=term)) return qs + def get_members_with_latest_payment(members_query): + """Return QuerySet of given members QS with last_paid attribute.""" + latest = Payment.objects.filter(member=OuterRef('pk')).order_by('-date') + return members_query.annotate(last_paid=Subquery(latest.values('date')[:1])) + # To avoid problems with a cyclical import, this is at the bottom of the file from members.forms import MemberForm # nopep8 diff --git a/members/tables.py b/members/tables.py index a70aff6..89ecca1 100644 --- a/members/tables.py +++ b/members/tables.py @@ -4,6 +4,7 @@ import django_tables2 as tables from django.utils.translation import ugettext as _ from django.core.exceptions import ObjectDoesNotExist from django.db.models import F, OuterRef, Subquery +from django.utils import timezone from members.models import Member, Payment, Request @@ -15,10 +16,7 @@ class MemberTable(tables.Table): options = tables.TemplateColumn( ('') + - _('Edit') + - '', - verbose_name="" + 'href="/members/edit/{{ record.id }}">') + _('Edit') + '', verbose_name="" ) class Meta: @@ -28,13 +26,12 @@ class MemberTable(tables.Table): def render_last_paid(self, record): try: - return record.payments.filter(member=record).latest('date').date.strftime('%e.%m.%Y %H:%M') + return timezone.localtime(record.payments.filter(member=record).latest('date').date).strftime('%-d.%-m.%Y %H:%M') except ObjectDoesNotExist: - return record.created.strftime('%e.%m.%Y %H:%M') + _(" (not paid)") + return timezone.localtime(record.created).strftime('%-d.%-m.%Y %H:%M') + _(" (not paid)") def order_last_paid(self, queryset, is_descending): - latest = Payment.objects.filter(member=OuterRef('pk')).order_by('-date') - queryset = queryset.annotate(last_paid=Subquery(latest.values('date')[:1])).order_by(('-' if is_descending else '') + 'last_paid') + queryset = Member.get_members_with_latest_payment(queryset).order_by(('-' if is_descending else '') + 'last_paid') return (queryset, True) @@ -45,9 +42,7 @@ class PaymentTable(tables.Table): options = tables.TemplateColumn( ('') + - _('Edit') + - '', + 'href="/members/edit_payment/{{ record.id }}">') + _('Edit') + '', verbose_name="" ) @@ -62,9 +57,7 @@ class RequestTable(tables.Table): options = tables.TemplateColumn( ('') + - _('Edit') + - '', + 'href="/members/edit_application/{{ record.id }}">') + _('Edit') + '', verbose_name="" ) diff --git a/members/templates/error.html b/members/templates/error.html deleted file mode 100644 index 3d09501..0000000 --- a/members/templates/error.html +++ /dev/null @@ -1,18 +0,0 @@ -{% extends "members:base.html" %} - -{% load static %} -{% load i18n %} -{% block content %} -
+ {% load static %}
+
+ {% trans "Contact" %}+ + {% if committees %} + {% for committee in committees %} + +{{ committee.name }}+ {% for role in committee.current_roles %} + {% for official in role.official.all %} +
+
+
- |
-
- {{ teekkari.first_name }} {{ teekkari.last_name }} -{{ teekkari.email }} -{{ teekkari.phone_number }} - |
-
Ei henkilöitä
- {% endif %} -{{official.first_name}} + {{official.last_name}} + {{official.email}}
+Ei Toimikuntia
+ {% endif %} {% endblock %} diff --git a/webapp/translation.py b/webapp/translation.py index 3ab2c6e..73713ca 100644 --- a/webapp/translation.py +++ b/webapp/translation.py @@ -1,7 +1,7 @@ """Translation classes.""" from modeltranslation.translator import register, TranslationOptions -from webapp.models import BaseFeed, Feed, Tag, Event, Registration +from webapp.models import BaseFeed, Feed, Tag, Event, Signup, SignupForm, TemplateQuestion from webapp.models import PresetRole, BaseRole @@ -19,13 +19,6 @@ class FeedTranslationOptions(TranslationOptions): fields = () -@register(Event) -class EventTranslationOptions(TranslationOptions): - """Class for event translation options.""" - - fields = () - - @register(Tag) class TagTranslationOptions(TranslationOptions): """Class for tag translation options.""" @@ -33,11 +26,32 @@ class TagTranslationOptions(TranslationOptions): fields = ('name',) -@register(Registration) -class RegistrationTranslationOptions(TranslationOptions): +@register(Event) +class EventTranslationOptions(TranslationOptions): + """Class for event translation options.""" + + fields = () + + +@register(Signup) +class SignupTranslationOptions(TranslationOptions): """Class for registration translation options.""" - fields = ('name',) + fields = () + + +@register(SignupForm) +class SignupFormTranslationOptions(TranslationOptions): + """Class for registration translation options.""" + + fields = () + + +@register(TemplateQuestion) +class TemplateQuestionTranslationOptions(TranslationOptions): + """Class for registration translation options.""" + + fields = () @register(BaseRole) diff --git a/webapp/urls.py b/webapp/urls.py index 8095c52..dfd12a9 100644 --- a/webapp/urls.py +++ b/webapp/urls.py @@ -1,45 +1,70 @@ """Webapp urls.""" -from django.conf.urls import url -from django.conf import settings -from django.utils.translation import ugettext_lazy as _ +from django.conf.urls import url, include +from rest_framework import routers +# from rest_framework.urlpatterns import format_suffix_patterns +# from django.conf import settings +# from django.utils.translation import ugettext_lazy as _ -from webapp.views import main_index +# from webapp.views import main_index from webapp.views import login_view from webapp.views import logout_view -from webapp.views import about_view -from webapp.views import guild_view -from webapp.views import freshmen_view -from webapp.views import jobs_view -from webapp.views import event_calendar_view -from webapp.views import international_view -from webapp.views import sosso_view -from webapp.views import contact_view +# from webapp.views import about_view +# from webapp.views import guild_view +# from webapp.views import freshmen_view +# from webapp.views import jobs_view +# from webapp.views import event_calendar_view +# from webapp.views import international_view +# from webapp.views import sosso_view +# from webapp.views import contact_view + +from webapp.views import EventViewSet, SignupFormViewSet, SignupViewSet + +router = routers.DefaultRouter() +router.register(r'events', EventViewSet) +router.register(r'signupForm', SignupFormViewSet) +router.register(r'signup', SignupViewSet) urlpatterns = [ - # main - url(r'^$', main_index), - + url(r'^', include(router.urls)), # login stuff url(r'^login$', login_view), url(r'^logout$', logout_view), - - # git revision - url(r'^about', about_view), - - # pages - url(r'^guild', guild_view), - url(r'^freshmen', freshmen_view), - url(r'^event_calendar', event_calendar_view), - url(r'^international', international_view), - url(r'^sosso', sosso_view), - url(r'^contact', contact_view), - - # corporate - url(r'^jobs', jobs_view), ] +# urlpatterns = [ +# # main +# url(r'^$', main_index), +# url(r'^api/$', api_root), +# url(r'^api/events/$', EventList.as_view(), name='event-list'), +# url(r'^api/events/(?P