From 331d4b86b969efdeb9f872295f753f905dbf593f Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Sat, 28 Oct 2017 16:50:38 +0300 Subject: [PATCH] Fix multiple form and table issues --- .gitignore | 1 + locale/en/LC_MESSAGES/django.mo | Bin 9502 -> 9813 bytes locale/en/LC_MESSAGES/django.po | 638 +++++++++-------- locale/fi/LC_MESSAGES/django.mo | Bin 12732 -> 13116 bytes locale/fi/LC_MESSAGES/django.po | 643 ++++++++++-------- members/forms.py | 14 +- members/models.py | 2 + members/tables.py | 6 +- .../templates/application_delete_confirm.html | 24 + members/templates/application_edit.html | 2 +- members/templates/application_index.html | 72 +- members/templates/application_success.html | 8 +- members/urls.py | 6 +- members/views/applications.py | 74 +- members/views/members.py | 17 +- {members/templates => templates}/error.html | 0 webapp/templates/error.html | 10 - webapp/templates/kaehmy_error.html | 18 + webapp/views.py | 8 +- 19 files changed, 830 insertions(+), 713 deletions(-) create mode 100644 members/templates/application_delete_confirm.html rename {members/templates => templates}/error.html (100%) delete mode 100644 webapp/templates/error.html create mode 100644 webapp/templates/kaehmy_error.html diff --git a/.gitignore b/.gitignore index 9baaf61..9d57179 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ db.sqlite3 requirements_henu.txt /collected_static/ mydatabase +settings.json diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo index d97e0dc5890c6de8a58d167f1cb1a25e6577388d..87e21ae6bd60ea527ac0ea80617ec689cf2bcf7e 100644 GIT binary patch delta 3597 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 diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index d5b3b4c..938639e 100644 --- a/locale/en/LC_MESSAGES/django.po +++ b/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-10-18 12:06+0300\n" +"POT-Creation-Date: 2017-10-28 14:37+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,289 +17,312 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: infoscreen/models.py:97 +#: .\infoscreen\models.py:97 msgid "ABB jobs" msgstr "ABB jobs" -#: infoscreen/models.py:112 +#: .\infoscreen\models.py:112 msgid "APY Item" msgstr "ÄPY Item" -#: infoscreen/models.py:127 +#: .\infoscreen\models.py:127 msgid "External website" msgstr "External website" -#: infoscreen/models.py:184 +#: .\infoscreen\models.py:184 msgid "Sössö articles" msgstr "Sössö articles" -#: infoscreen/models.py:199 webapp/models.py:72 +#: .\infoscreen\models.py:199 .\webapp\models.py:72 msgid "Events" msgstr "Events" -#: infoscreen/models.py:214 +#: .\infoscreen\models.py:214 msgid "Image" msgstr "Image" -#: infoscreen/models.py:260 +#: .\infoscreen\models.py:260 msgid "HSL timetables" msgstr "HSL timetables" -#: infoscreen/models.py:275 +#: .\infoscreen\models.py:275 msgid "External image" msgstr "External image" -#: infoscreen/templates/infoscreen_admin.html:24 -#: members/templates/members_base.html:79 +#: .\infoscreen\templates\infoscreen_admin.html:24 +#: .\members\templates\members_base.html:79 msgid "Log out" msgstr "Log out" -#: infoscreen/templates/infoscreen_admin.html:31 +#: .\infoscreen\templates\infoscreen_admin.html:31 msgid "Infoscreen Admin Pane" msgstr "Infoscreen Admin Pane" -#: infoscreen/templates/infoscreen_admin.html:35 +#: .\infoscreen\templates\infoscreen_admin.html:35 msgid "Manage Slides" msgstr "Manage Slides" -#: infoscreen/templates/infoscreen_admin.html:37 +#: .\infoscreen\templates\infoscreen_admin.html:37 msgid "Manage Rotations" msgstr "Manage Rotations" -#: infoscreen/templates/infoscreen_admin.html:41 +#: .\infoscreen\templates\infoscreen_admin.html:41 msgid "Create/Delete" msgstr "Create/Delete" -#: infoscreen/templates/infoscreen_admin.html:43 -#: infoscreen/templates/infoscreen_admin.html:152 -#: members/templates/members_base.html:75 members/templates/settings.html:11 -msgid "Settings" -msgstr "Settings" - -#: infoscreen/templates/infoscreen_admin.html:49 +#: .\infoscreen\templates\infoscreen_admin.html:48 msgid "Create new item" msgstr "Create new item" -#: infoscreen/templates/infoscreen_admin.html:50 +#: .\infoscreen\templates\infoscreen_admin.html:49 msgid "Create a new item by type" msgstr "Create a new item by type" -#: infoscreen/templates/infoscreen_admin.html:53 +#: .\infoscreen\templates\infoscreen_admin.html:52 msgid "Item type" msgstr "Item type" -#: infoscreen/templates/infoscreen_admin.html:64 -#: infoscreen/templates/infoscreen_admin.html:84 +#: .\infoscreen\templates\infoscreen_admin.html:63 +#: .\infoscreen\templates\infoscreen_admin.html:83 msgid "Info items" msgstr "Info items" -#: infoscreen/templates/infoscreen_admin.html:65 -#: infoscreen/templates/infoscreen_admin.html:85 +#: .\infoscreen\templates\infoscreen_admin.html:64 +#: .\infoscreen\templates\infoscreen_admin.html:84 msgid "Infoitems available for rotations" msgstr "Infoitems available for rotations" -#: infoscreen/templates/infoscreen_admin.html:68 -#: infoscreen/templates/infoscreen_admin.html:88 +#: .\infoscreen\templates\infoscreen_admin.html:67 +#: .\infoscreen\templates\infoscreen_admin.html:87 msgid "Item" msgstr "Item" -#: infoscreen/templates/infoscreen_admin.html:69 -#: infoscreen/templates/infoscreen_admin.html:89 +#: .\infoscreen\templates\infoscreen_admin.html:68 +#: .\infoscreen\templates\infoscreen_admin.html:88 msgid "Type" msgstr "Type" -#: infoscreen/templates/infoscreen_admin.html:70 -#: infoscreen/templates/infoscreen_admin.html:75 -#: infoscreen/templates/infoscreen_admin.html:92 -#: infoscreen/templates/infoscreen_admin.html:99 -#: infoscreen/templates/infoscreen_admin.html:112 -#: infoscreen/templates/infoscreen_admin.html:116 -#: infoscreen/templates/infoscreen_admin.html:132 -#: infoscreen/templates/infoscreen_admin.html:138 -#: members/templates/member_edit.html:20 members/templates/payment_edit.html:20 +#: .\infoscreen\templates\infoscreen_admin.html:69 +#: .\infoscreen\templates\infoscreen_admin.html:74 +#: .\infoscreen\templates\infoscreen_admin.html:91 +#: .\infoscreen\templates\infoscreen_admin.html:98 +#: .\infoscreen\templates\infoscreen_admin.html:111 +#: .\infoscreen\templates\infoscreen_admin.html:115 +#: .\infoscreen\templates\infoscreen_admin.html:131 +#: .\infoscreen\templates\infoscreen_admin.html:137 +#: .\members\templates\member_edit.html:20 +#: .\members\templates\payment_edit.html:20 msgid "Delete" msgstr "Delete" -#: infoscreen/templates/infoscreen_admin.html:90 +#: .\infoscreen\templates\infoscreen_admin.html:89 msgid "Set duration" msgstr "Set duration" -#: infoscreen/templates/infoscreen_admin.html:91 +#: .\infoscreen\templates\infoscreen_admin.html:90 msgid "Add to rotation" msgstr "Add to rotation" -#: infoscreen/templates/infoscreen_admin.html:98 +#: .\infoscreen\templates\infoscreen_admin.html:97 msgid "Add" msgstr "Add" -#: infoscreen/templates/infoscreen_admin.html:106 -#: infoscreen/templates/infoscreen_admin.html:129 +#: .\infoscreen\templates\infoscreen_admin.html:105 +#: .\infoscreen\templates\infoscreen_admin.html:128 msgid "Rotation" msgstr "Rotation" -#: infoscreen/templates/infoscreen_admin.html:106 -#: infoscreen/templates/infoscreen_admin.html:131 -#: infoscreen/templates/infoscreen_admin.html:137 +#: .\infoscreen\templates\infoscreen_admin.html:105 +#: .\infoscreen\templates\infoscreen_admin.html:130 +#: .\infoscreen\templates\infoscreen_admin.html:136 msgid "Preview" msgstr "Preview" -#: infoscreen/templates/infoscreen_admin.html:107 +#: .\infoscreen\templates\infoscreen_admin.html:106 msgid "Instances in currently selected rotation" msgstr "Instances in currently selected rotation" -#: infoscreen/templates/infoscreen_admin.html:110 +#: .\infoscreen\templates\infoscreen_admin.html:109 msgid "Instance" msgstr "Instance" -#: infoscreen/templates/infoscreen_admin.html:111 +#: .\infoscreen\templates\infoscreen_admin.html:110 msgid "Duration" msgstr "Duration" -#: infoscreen/templates/infoscreen_admin.html:123 +#: .\infoscreen\templates\infoscreen_admin.html:122 msgid "Rotations" msgstr "Rotations" -#: infoscreen/templates/infoscreen_admin.html:125 +#: .\infoscreen\templates\infoscreen_admin.html:124 msgid "Select rotation to edit" msgstr "Select rotation to edit" -#: infoscreen/templates/infoscreen_admin.html:130 +#: .\infoscreen\templates\infoscreen_admin.html:129 msgid "id" msgstr "id" -#: infoscreen/templates/infoscreen_admin.html:141 webapp/models.py:110 -#: webapp/models.py:144 webapp/templates/kaehmy_list.html:36 +#: .\infoscreen\templates\infoscreen_admin.html:140 .\webapp\models.py:110 +#: .\webapp\models.py:143 .\webapp\templates\kaehmy_list.html:36 msgid "Name" msgstr "Name" -#: infoscreen/templates/infoscreen_admin.html:142 +#: .\infoscreen\templates\infoscreen_admin.html:141 msgid "Create new" msgstr "Create new" -#: infoscreen/templates/infoscreen_admin.html:157 -#: members/templates/settings.html:17 -msgid "Language" -msgstr "Language" - -#: infoscreen/templates/infoscreen_admin.html:161 -#: members/templates/settings.html:20 sikweb/base.py:222 -msgid "Finnish" -msgstr "Finnish" - -#: infoscreen/templates/infoscreen_admin.html:162 -#: members/templates/settings.html:21 sikweb/base.py:223 -msgid "English" -msgstr "English" - -#: infoscreen/templates/infoscreen_admin.html:166 -#: members/templates/settings.html:23 webapp/templates/kaehmy.html:77 -msgid "Submit" -msgstr "Submit" - -#: members/forms.py:115 members/tables.py:32 +#: .\members\forms.py:107 .\members\models.py:103 .\members\tables.py:32 msgid "Member" msgstr "Member" -#: members/models.py:14 +#: .\members\forms.py:123 +msgid "I'm a member of AYY" +msgstr "" + +#: .\members\forms.py:124 +msgid "I want to receive a weekly newsletter" +msgstr "" + +#: .\members\models.py:14 msgid "First name" msgstr "First name" -#: members/models.py:15 +#: .\members\models.py:15 msgid "Last name" msgstr "Last name" -#: members/models.py:16 webapp/models.py:145 -#: webapp/templates/kaehmy_list.html:40 +#: .\members\models.py:16 .\webapp\models.py:144 +#: .\webapp\templates\kaehmy_list.html:40 msgid "Email" msgstr "Email" -#: members/models.py:17 +#: .\members\models.py:17 msgid "Place of residence" msgstr "Place of residence" -#: members/models.py:19 members/models.py:70 -#: members/templates/member_add_many.html:35 +#: .\members\models.py:19 .\members\models.py:70 +#: .\members\templates\member_add_many.html:35 msgid "AYY" msgstr "AYY" -#: members/models.py:20 +#: .\members\models.py:20 msgid "JAS" msgstr "JAS" -#: members/models.py:51 +#: .\members\models.py:51 msgid "Submitted" msgstr "Submitted" -#: members/models.py:68 +#: .\members\models.py:68 msgid "Date" msgstr "Date" -#: members/models.py:69 +#: .\members\models.py:69 msgid "Source" msgstr "Source" -#: members/models.py:71 +#: .\members\models.py:71 msgid "Cash" msgstr "Cash" -#: members/models.py:72 members/templates/member_add_many.html:36 +#: .\members\models.py:72 .\members\templates\member_add_many.html:36 msgid "Bank transfer" msgstr "Bank transfer" -#: members/models.py:96 +#: .\members\models.py:96 msgid "Created" msgstr "Created" -#: members/tables.py:13 +#: .\members\models.py:104 .\members\templates\member_add_many_confirm.html:12 +#: .\members\templates\members_base.html:52 +#: .\webapp\templates\main_index.html:7 +msgid "Members" +msgstr "Members" + +#: .\members\tables.py:13 msgid "Last paid" msgstr "Last paid" -#: members/tables.py:18 members/tables.py:37 members/tables.py:54 +#: .\members\tables.py:18 .\members\tables.py:37 .\members\tables.py:54 msgid "Edit" msgstr "Edit" -#: members/tables.py:20 members/tables.py:39 members/tables.py:56 +#: .\members\tables.py:20 .\members\tables.py:39 .\members\tables.py:56 msgid "Options" msgstr "Options" -#: members/templates/application_edit.html:9 +#: .\members\templates\application_delete_confirm.html:9 +#, fuzzy +#| msgid "Are you sure you want to delete this payment?" +msgid "Are you sure you want to delete this application?" +msgstr "Are you sure you want to delete this payment?" + +#: .\members\templates\application_delete_confirm.html:19 +#: .\members\templates\member_delete_confirm.html:19 +#: .\members\templates\payment_delete_confirm.html:19 +msgid "Yes, I'm sure" +msgstr "Yes, I'm sure" + +#: .\members\templates\application_edit.html:9 msgid "Edit application" msgstr "Edit application" -#: members/templates/application_edit.html:18 +#: .\members\templates\application_edit.html:18 msgid "Accept" msgstr "Accept" -#: members/templates/application_edit.html:20 +#: .\members\templates\application_edit.html:20 msgid "Decline" msgstr "Decline" -#: members/templates/application_list.html:8 +#: .\members\templates\application_index.html:8 +msgid "Killan jäseneksi liittyminen on helppoa ja hauskaa!" +msgstr "Joining the guild is fun and games!" + +#: .\members\templates\application_index.html:9 +msgid "Täytä vain alla oleva lomake" +msgstr "Just fill the form below." + +#: .\members\templates\application_index.html:10 +msgid "Muista myös maksaa jäsenmaksusi!" +msgstr "Don't forget to pay your membership fee!" + +#: .\members\templates\application_index.html:16 +#: .\members\templates\member_add_many.html:48 +#: .\members\templates\member_add_many_confirm.html:22 +#: .\webapp\templates\kaehmy_list.html:48 +msgid "Send" +msgstr "Send" + +#: .\members\templates\application_list.html:8 msgid "Member applications" msgstr "Member applications" -#: members/templates/error.html:8 -msgid "Error" -msgstr "Error" +#: .\members\templates\application_success.html:8 +msgid "Hienoa! Jäsenhakemuksesi on nyt lähetetty." +msgstr "Amazing! Your membership application has been sent." -#: members/templates/error.html:15 -msgid "Back" -msgstr "Back" +#: .\members\templates\application_success.html:9 +msgid "Takaisin Sähköinsinöörikillan web-sivuille" +msgstr "Back to the front page" -#: members/templates/member_add.html:8 members/templates/members_base.html:55 +#: .\members\templates\member_add.html:8 +#: .\members\templates\members_base.html:55 msgid "Add member" msgstr "Add member" -#: members/templates/member_add.html:15 members/templates/member_edit.html:18 -#: members/templates/payment_add.html:20 members/templates/payment_edit.html:18 +#: .\members\templates\member_add.html:15 +#: .\members\templates\member_edit.html:18 +#: .\members\templates\payment_add.html:20 +#: .\members\templates\payment_edit.html:18 msgid "Save" msgstr "Save" -#: members/templates/member_add_many.html:8 +#: .\members\templates\member_add_many.html:8 msgid "Add many members" msgstr "" -#: members/templates/member_add_many.html:13 +#: .\members\templates\member_add_many.html:13 msgid "" "\n" " Enter member information in CSV format, separate members on " @@ -307,7 +330,7 @@ msgid "" " " msgstr "" -#: members/templates/member_add_many.html:18 +#: .\members\templates\member_add_many.html:18 msgid "" "\n" " first_name, last_name, email_address and place_of_origin should " @@ -323,518 +346,536 @@ msgstr "" "or 1 (on).\n" " " -#: members/templates/member_add_many.html:23 +#: .\members\templates\member_add_many.html:23 msgid "Syntax" msgstr "Syntax" -#: members/templates/member_add_many.html:29 +#: .\members\templates\member_add_many.html:29 msgid "Data" msgstr "" -#: members/templates/member_add_many.html:33 +#: .\members\templates\member_add_many.html:33 msgid "Payment source" msgstr "" -#: members/templates/member_add_many.html:37 +#: .\members\templates\member_add_many.html:37 msgid "Cash payment" msgstr "" -#: members/templates/member_add_many.html:41 +#: .\members\templates\member_add_many.html:41 msgid "CSV delimiter" msgstr "" -#: members/templates/member_add_many.html:44 +#: .\members\templates\member_add_many.html:44 msgid "" "The symbol that is used to separate items in one line. Defaults to " "';' (semicolon)." msgstr "" -#: members/templates/member_add_many.html:48 -#: members/templates/member_add_many_confirm.html:22 -#: webapp/templates/kaehmy_list.html:48 -msgid "Send" -msgstr "Send" - -#: members/templates/member_add_many_confirm.html:8 +#: .\members\templates\member_add_many_confirm.html:8 msgid "Confirm adding these entries?" msgstr "" -#: members/templates/member_add_many_confirm.html:12 -#: members/templates/members_base.html:52 webapp/templates/main_index.html:7 -msgid "Members" -msgstr "Members" - -#: members/templates/member_add_many_confirm.html:16 -#: members/templates/members_base.html:60 +#: .\members\templates\member_add_many_confirm.html:16 +#: .\members\templates\members_base.html:60 msgid "Payments" msgstr "Payments" -#: members/templates/member_delete_confirm.html:9 +#: .\members\templates\member_delete_confirm.html:9 msgid "Are you sure you want to delete this member?" msgstr "Are you sure you want to delete this member?" -#: members/templates/member_delete_confirm.html:19 -#: members/templates/payment_delete_confirm.html:19 -msgid "Yes, I'm sure" -msgstr "Yes, I'm sure" - -#: members/templates/member_edit.html:9 +#: .\members\templates\member_edit.html:9 msgid "Edit member" msgstr "Edit member" -#: members/templates/member_list.html:11 members/templates/members_base.html:15 +#: .\members\templates\member_list.html:11 +#: .\members\templates\members_base.html:15 msgid "Member register" msgstr "Member register" -#: members/templates/member_list.html:21 +#: .\members\templates\member_list.html:21 msgid "Members in register:" msgstr "" -#: members/templates/member_list.html:28 members/templates/payment_list.html:25 +#: .\members\templates\member_list.html:28 +#: .\members\templates\payment_list.html:25 msgid "Search" msgstr "" -#: members/templates/member_list.html:36 members/templates/payment_list.html:33 +#: .\members\templates\member_list.html:36 +#: .\members\templates\payment_list.html:33 msgid "Showing results for" msgstr "" -#: members/templates/member_list.html:44 +#: .\members\templates\member_list.html:44 msgid "Download CSV" msgstr "Download CSV" -#: members/templates/members_base.html:33 -#: members/templates/members_base.html:42 +#: .\members\templates\members_base.html:33 +#: .\members\templates\members_base.html:42 msgid "Member register of SIK ry" msgstr "Member register of SIK ry" -#: members/templates/members_base.html:54 +#: .\members\templates\members_base.html:54 msgid "List members" msgstr "List members" -#: members/templates/members_base.html:56 +#: .\members\templates\members_base.html:56 msgid "Add multiple" msgstr "Add multiple" -#: members/templates/members_base.html:62 +#: .\members\templates\members_base.html:62 msgid "List payments" msgstr "List payments" -#: members/templates/members_base.html:63 members/templates/payment_add.html:13 +#: .\members\templates\members_base.html:63 +#: .\members\templates\payment_add.html:13 msgid "Add payment" msgstr "Add payment" -#: members/templates/members_base.html:67 +#: .\members\templates\members_base.html:67 msgid "Applications" msgstr "Applications" -#: members/templates/members_base.html:69 +#: .\members\templates\members_base.html:69 msgid "List applications" msgstr "List applications" -#: members/templates/members_base.html:70 +#: .\members\templates\members_base.html:70 msgid "Application form" msgstr "Application form" -#: members/templates/payment_delete_confirm.html:9 +#: .\members\templates\members_base.html:75 +#: .\members\templates\settings.html:11 +msgid "Settings" +msgstr "Settings" + +#: .\members\templates\payment_delete_confirm.html:9 msgid "Are you sure you want to delete this payment?" msgstr "Are you sure you want to delete this payment?" -#: members/templates/payment_edit.html:9 +#: .\members\templates\payment_edit.html:9 msgid "Edit payment" msgstr "Edit payment" -#: members/templates/payment_list.html:8 +#: .\members\templates\payment_list.html:8 msgid "Payment events" msgstr "Payment events" -#: members/templates/payment_list.html:18 +#: .\members\templates\payment_list.html:18 #, fuzzy #| msgid "Member register" msgid "Payments in register:" msgstr "Member register" -#: members/views/applications.py:51 members/views/applications.py:100 -#: members/views/applications.py:129 +#: .\members\templates\settings.html:17 +msgid "Language" +msgstr "Language" + +#: .\members\templates\settings.html:20 .\sikweb\base.py:222 +msgid "Finnish" +msgstr "Finnish" + +#: .\members\templates\settings.html:21 .\sikweb\base.py:223 +msgid "English" +msgstr "English" + +#: .\members\templates\settings.html:23 .\webapp\templates\kaehmy.html:77 +msgid "Submit" +msgstr "Submit" + +#: .\members\views\applications.py:51 .\members\views\applications.py:119 +#: .\members\views\applications.py:148 msgid "No application id specified" msgstr "No application id specified" -#: members/views/applications.py:80 +#: .\members\views\applications.py:73 +msgid "Application missing 'id' field." +msgstr "" + +#: .\members\views\applications.py:83 +msgid "Email {} is already in use by a member. Application cannot be accepted." +msgstr "" + +#: .\members\views\applications.py:93 msgid "Successfully accepted application" msgstr "Successfully accepted application" -#: members/views/applications.py:87 -msgid "Could not accept application object" -msgstr "Could not accept application object" - -#: members/views/applications.py:104 +#: .\members\views\applications.py:123 msgid "Successfully deleted application" msgstr "Successfully deleted application" -#: members/views/applications.py:116 +#: .\members\views\applications.py:135 msgid "Could not delete application object" msgstr "Could not delete application object" -#: members/views/members.py:74 members/views/members.py:172 -#: members/views/members.py:199 +#: .\members\views\members.py:74 .\members\views\members.py:179 +#: .\members\views\members.py:206 msgid "No member id specified" msgstr "No member id specified" -#: members/views/members.py:111 +#: .\members\views\members.py:111 msgid "Failed to import members" msgstr "Failed to import members" -#: members/views/members.py:125 +#: .\members\views\members.py:125 msgid "Successfully added member" msgstr "Successfully added member" -#: members/views/members.py:151 +#: .\members\views\members.py:148 +msgid "Member missing 'id' field." +msgstr "" + +#: .\members\views\members.py:158 msgid "Successfully updated member" msgstr "Successfully updated member" -#: members/views/members.py:159 -msgid "Could not update member object" -msgstr "Could not update member object" - -#: members/views/members.py:176 +#: .\members\views\members.py:183 msgid "Successfully deleted member" msgstr "Successfully deleted member" -#: members/views/members.py:187 +#: .\members\views\members.py:194 msgid "Could not delete member object" msgstr "Could not delete member object" -#: members/views/payments.py:70 +#: .\members\views\payments.py:70 msgid "Successfully added payment for member" msgstr "Successfully added payment for member" -#: members/views/payments.py:89 members/views/payments.py:108 -#: members/views/payments.py:128 +#: .\members\views\payments.py:89 .\members\views\payments.py:108 +#: .\members\views\payments.py:128 msgid "No payment id specified" msgstr "No payment id specified" -#: members/views/payments.py:133 +#: .\members\views\payments.py:133 msgid "Successfully deleted payment" msgstr "Successfully deleted payment" -#: members/views/payments.py:143 +#: .\members\views\payments.py:143 msgid "Could not delete payment object" msgstr "Could not delete payment object" -#: members/views/payments.py:163 +#: .\members\views\payments.py:163 msgid "Successfully updated payment" msgstr "Successfully updated payment" -#: members/views/payments.py:170 +#: .\members\views\payments.py:170 msgid "Could not update payment object" msgstr "Could not update payment object" -#: members/views/utils.py:117 +#: .\members\views\utils.py:117 msgid "Missing \"textfield\" POST request field" msgstr "Missing \"textfield\" POST request field" -#: templates/admin/base_site.html:43 +#: .\templates\admin\base_site.html:43 msgid "Go" msgstr "" -#: templates/footer.html:22 +#: .\templates\error.html:8 .\webapp\templates\kaehmy_error.html:8 +msgid "Error" +msgstr "Error" + +#: .\templates\error.html:15 .\webapp\templates\kaehmy_error.html:15 +msgid "Back" +msgstr "Back" + +#: .\templates\footer.html:23 msgid "Copyright Aalto-yliopiston Sähköinsinöörikilta ry" msgstr "Copyright Aalto-yliopiston Sähköinsinöörikilta ry" -#: webapp/forms.py:38 +#: .\webapp\forms.py:38 msgid "Email (not public)" msgstr "" -#: webapp/forms.py:39 +#: .\webapp\forms.py:39 msgid "Phone number (not public)" msgstr "" -#: webapp/forms.py:44 +#: .\webapp\forms.py:44 msgid "Custom roles" msgstr "" -#: webapp/forms.py:52 webapp/templates/kaehmy.html:41 +#: .\webapp\forms.py:52 .\webapp\templates\kaehmy.html:41 msgid "Preset roles" msgstr "" -#: webapp/forms.py:76 +#: .\webapp\forms.py:76 msgid "Invalid phone number" msgstr "" -#: webapp/forms.py:84 +#: .\webapp\forms.py:84 msgid "Custom role with the same name already exists." msgstr "" -#: webapp/models.py:17 +#: .\webapp\models.py:17 msgid "Webapp" msgstr "" -#: webapp/models.py:28 +#: .\webapp\models.py:28 msgid "Tag" msgstr "" -#: webapp/models.py:29 +#: .\webapp\models.py:29 msgid "Tags" msgstr "" -#: webapp/models.py:32 +#: .\webapp\models.py:32 msgid "Tag: {}" msgstr "" -#: webapp/models.py:52 +#: .\webapp\models.py:52 msgid "Feed: {}" msgstr "" -#: webapp/models.py:55 +#: .\webapp\models.py:55 msgid "Feed" msgstr "" -#: webapp/models.py:56 +#: .\webapp\models.py:56 msgid "Feeds" msgstr "" -#: webapp/models.py:68 +#: .\webapp\models.py:68 msgid "Event: {}" msgstr "" -#: webapp/models.py:71 +#: .\webapp\models.py:71 msgid "Event" msgstr "" -#: webapp/models.py:83 +#: .\webapp\models.py:83 msgid "Registration: {}" msgstr "" -#: webapp/models.py:86 +#: .\webapp\models.py:86 msgid "Registration" msgstr "" -#: webapp/models.py:87 +#: .\webapp\models.py:87 msgid "Registrations" msgstr "" -#: webapp/models.py:94 +#: .\webapp\models.py:94 msgid "Corporate affairs" msgstr "" -#: webapp/models.py:95 webapp/templates/freshmen.html:7 -#: webapp/templates/navigation.html:16 +#: .\webapp\models.py:95 .\webapp\templates\freshmen.html:7 +#: .\webapp\templates\navigation.html:10 msgid "Freshmen" msgstr "Freshmen" -#: webapp/models.py:96 webapp/templates/international.html:7 -#: webapp/templates/navigation.html:30 +#: .\webapp\models.py:96 .\webapp\templates\international.html:7 +#: .\webapp\templates\navigation.html:16 msgid "International" msgstr "International" -#: webapp/models.py:97 +#: .\webapp\models.py:97 msgid "External affairs" msgstr "" -#: webapp/models.py:98 +#: .\webapp\models.py:98 msgid "Media" msgstr "" -#: webapp/models.py:99 +#: .\webapp\models.py:99 msgid "Technology" msgstr "" -#: webapp/models.py:100 +#: .\webapp\models.py:100 msgid "Wellbeing" msgstr "" -#: webapp/models.py:101 +#: .\webapp\models.py:101 msgid "Elepaja" msgstr "" -#: webapp/models.py:102 +#: .\webapp\models.py:102 msgid "Ceremonies" msgstr "" -#: webapp/models.py:103 +#: .\webapp\models.py:103 msgid "Culture" msgstr "" -#: webapp/models.py:104 +#: .\webapp\models.py:104 msgid "Studies" msgstr "" -#: webapp/models.py:105 +#: .\webapp\models.py:105 #, fuzzy #| msgid "Sössö articles" msgid "Sössö magazine" msgstr "Sössö articles" -#: webapp/models.py:106 +#: .\webapp\models.py:106 #, fuzzy #| msgid "Applications" msgid "Alumni relations" msgstr "Applications" -#: webapp/models.py:107 +#: .\webapp\models.py:107 msgid "Others" msgstr "" -#: webapp/models.py:111 webapp/models.py:192 +#: .\webapp\models.py:111 .\webapp\models.py:191 #, fuzzy #| msgid "Add member" msgid "Board member" msgstr "Add member" -#: webapp/models.py:112 +#: .\webapp\models.py:112 msgid "Category" msgstr "" -#: webapp/models.py:116 +#: .\webapp\models.py:116 #, fuzzy #| msgid "Add member" msgid "board member" msgstr "Add member" -#: webapp/models.py:122 +#: .\webapp\models.py:122 #, fuzzy #| msgid "Duration" msgid "Description" msgstr "Duration" -#: webapp/models.py:123 -msgid "Summary" -msgstr "" - -#: webapp/models.py:130 +#: .\webapp\models.py:129 #, fuzzy #| msgid "Total challenges:" msgid "Preset kaehmy role" msgstr "Total challenges:" -#: webapp/models.py:131 +#: .\webapp\models.py:130 #, fuzzy #| msgid "Total challenges:" msgid "Preset kaehmy roles" msgstr "Total challenges:" -#: webapp/models.py:138 +#: .\webapp\models.py:137 #, fuzzy #| msgid "Total challenges:" msgid "Custom kaehmy role" msgstr "Total challenges:" -#: webapp/models.py:139 +#: .\webapp\models.py:138 #, fuzzy #| msgid "Total challenges:" msgid "Custom kaehmy roles" msgstr "Total challenges:" -#: webapp/models.py:146 +#: .\webapp\models.py:145 msgid "Timestamp" msgstr "" -#: webapp/models.py:160 +#: .\webapp\models.py:159 msgid "Kaehmykommentti" msgstr "Kaehmy comment" -#: webapp/models.py:161 +#: .\webapp\models.py:160 msgid "Kaehmykommentit" msgstr "Kaehmy comments" -#: webapp/models.py:163 +#: .\webapp\models.py:162 msgid "Message" msgstr "" -#: webapp/models.py:182 webapp/templates/kaehmy.html:12 +#: .\webapp\models.py:181 .\webapp\templates\kaehmy.html:12 msgid "Kaehmylomake" msgstr "Kaehmy application" -#: webapp/models.py:183 +#: .\webapp\models.py:182 msgid "Kaehmylomakkeet" msgstr "Kaehmy applications" -#: webapp/models.py:186 webapp/models.py:259 +#: .\webapp\models.py:185 .\webapp\models.py:258 msgid "Phone number" msgstr "" -#: webapp/models.py:187 +#: .\webapp\models.py:186 msgid "Year" msgstr "" -#: webapp/models.py:188 +#: .\webapp\models.py:187 msgid "Text" msgstr "" -#: webapp/models.py:190 +#: .\webapp\models.py:189 msgid "Custom role name" msgstr "" -#: webapp/models.py:200 +#: .\webapp\models.py:199 #, fuzzy #| msgid "Member applications" msgid "Kaehmy application: {}" msgstr "Member applications" -#: webapp/models.py:222 +#: .\webapp\models.py:221 msgid "Board: {}" msgstr "" -#: webapp/models.py:228 +#: .\webapp\models.py:227 msgid "Official: {}" msgstr "" -#: webapp/models.py:242 +#: .\webapp\models.py:241 msgid "Role" msgstr "" -#: webapp/models.py:243 +#: .\webapp\models.py:242 msgid "Roles" msgstr "" -#: webapp/models.py:245 +#: .\webapp\models.py:244 msgid "Start date" msgstr "" -#: webapp/models.py:246 +#: .\webapp\models.py:245 msgid "End date" msgstr "" -#: webapp/models.py:256 +#: .\webapp\models.py:255 msgid "Official" msgstr "" -#: webapp/models.py:257 +#: .\webapp\models.py:256 msgid "Officials" msgstr "" -#: webapp/models.py:285 +#: .\webapp\models.py:284 msgid "Telegram channel" msgstr "" -#: webapp/models.py:286 +#: .\webapp\models.py:285 msgid "Telegram channels" msgstr "" -#: webapp/templates/admin_index.html:6 +#: .\webapp\templates\admin_index.html:6 msgid "SIK Admin" msgstr "SIK Admin" -#: webapp/templates/base.html:15 +#: .\webapp\templates\base.html:15 msgid "Aalto-yliopiston Sähköinsinöörikilta ry" msgstr "Aalto-yliopiston Sähköinsinöörikilta ry" -#: webapp/templates/contact.html:7 webapp/templates/navigation.html:32 +#: .\webapp\templates\contact.html:7 .\webapp\templates\navigation.html:22 msgid "Contact" msgstr "Contact" -#: webapp/templates/event_calendar.html:7 webapp/templates/navigation.html:29 +#: .\webapp\templates\event_calendar.html:7 +#: .\webapp\templates\navigation.html:13 msgid "Event calendar" msgstr "Event calendar" -#: webapp/templates/guild.html:7 +#: .\webapp\templates\guild.html:7 msgid "Kilta" msgstr "Guild" -#: webapp/templates/jobs.html:7 webapp/templates/navigation.html:20 +#: .\webapp\templates\jobs.html:7 .\webapp\templates\navigation.html:29 msgid "Jobs" msgstr "Jobs" -#: webapp/templates/kaehmy.html:16 +#: .\webapp\templates\kaehmy.html:16 msgid "" "Kaehmykoneella voit ilmaista kiinnostuksesi toimia killassa ensi vuonna.\n" " Listassa on vastuualueittain sekä hallitus- että " @@ -854,7 +895,7 @@ msgstr "" "Best positions to consider for English speaking people are in the " "International category." -#: webapp/templates/kaehmy.html:23 +#: .\webapp\templates\kaehmy.html:23 msgid "" "Muista, että kaehmyn lähettäminen on kiinnostuksen ilmaus \n" " eikä siis missään nimessä sitova ilmoittautumien mihinkään " @@ -863,126 +904,127 @@ msgstr "" "Note, that sending an application is not binding and should be considered as " "a gesture of interest." -#: webapp/templates/kaehmy.html:26 +#: .\webapp\templates\kaehmy.html:26 msgid "Päivämääriä & deadlineja" msgstr "Dates and deadlines" -#: webapp/templates/kaehmy.html:28 +#: .\webapp\templates\kaehmy.html:28 msgid "Hallitustyrkkypaneeli (haku hallitukseen olisi hyvä tehdä ennen tätä!)" msgstr "Board panel discussion (applications to the board before this date!)" -#: webapp/templates/kaehmy.html:29 +#: .\webapp\templates\kaehmy.html:29 msgid "Vaalikokous, osa 1 (puheenjohtajan valinta)" msgstr "Election meeting, part 1 (chairman election)" -#: webapp/templates/kaehmy.html:30 +#: .\webapp\templates\kaehmy.html:30 msgid "Vaalikokous, osa 2 (hallituksen valinta)" msgstr "Election meeting, part 2 (board election)" -#: webapp/templates/kaehmy.html:31 +#: .\webapp\templates\kaehmy.html:31 msgid "Kiltailta" msgstr "Guild night" -#: webapp/templates/kaehmy.html:32 +#: .\webapp\templates\kaehmy.html:32 msgid "Haku toimariksi olisi hyvä tehdä ennen tätä!" msgstr "Deadline to apply as a non-board official!" -#: webapp/templates/kaehmy.html:33 +#: .\webapp\templates\kaehmy.html:33 msgid "Vaalikokous, osa 3 (toimarien valinta)" msgstr "Election meeting, part 3 (non-board election)" -#: webapp/templates/kaehmy_list.html:24 webapp/templates/kaehmy_list.html:59 +#: .\webapp\templates\kaehmy_list.html:24 +#: .\webapp\templates\kaehmy_list.html:59 msgid "All kaehmys" msgstr "All applications" -#: webapp/templates/kaehmy_list.html:32 +#: .\webapp\templates\kaehmy_list.html:32 msgid "Commenting on post by " msgstr "" -#: webapp/templates/kaehmy_list.html:44 +#: .\webapp\templates\kaehmy_list.html:44 msgid "Comment" msgstr "" -#: webapp/templates/kaehmy_list.html:57 +#: .\webapp\templates\kaehmy_list.html:57 #, fuzzy #| msgid "List kaehmys" msgid "Filter kaehmys" msgstr "List applications" -#: webapp/templates/kaehmy_list.html:70 -#: webapp/templates/kaehmy_statistics.html:18 +#: .\webapp\templates\kaehmy_list.html:70 +#: .\webapp\templates\kaehmy_statistics.html:18 msgid "Total kaehmys:" msgstr "Total applications:" -#: webapp/templates/kaehmy_list.html:88 +#: .\webapp\templates\kaehmy_list.html:88 msgid "Show comments" msgstr "" -#: webapp/templates/kaehmy_list.html:94 +#: .\webapp\templates\kaehmy_list.html:94 msgid "Add comment" msgstr "" -#: webapp/templates/kaehmy_message.html:11 +#: .\webapp\templates\kaehmy_message.html:11 msgid "Reply" msgstr "" -#: webapp/templates/kaehmy_navigation.html:6 +#: .\webapp\templates\kaehmy_navigation.html:6 msgid "List kaehmys" msgstr "List applications" -#: webapp/templates/kaehmy_navigation.html:7 +#: .\webapp\templates\kaehmy_navigation.html:7 msgid "New kaehmy" msgstr "New application" -#: webapp/templates/kaehmy_navigation.html:8 -#: webapp/templates/kaehmy_statistics.html:13 +#: .\webapp\templates\kaehmy_navigation.html:8 +#: .\webapp\templates\kaehmy_statistics.html:13 msgid "Statistics" msgstr "" -#: webapp/templates/login.html:25 webapp/templates/login.html:27 +#: .\webapp\templates\login.html:25 .\webapp\templates\login.html:27 msgid "Username" msgstr "Username" -#: webapp/templates/login.html:31 webapp/templates/login.html:33 +#: .\webapp\templates\login.html:31 .\webapp\templates\login.html:33 msgid "Password" msgstr "Password" -#: webapp/templates/login.html:43 +#: .\webapp\templates\login.html:43 msgid "Log in" msgstr "Log in" -#: webapp/templates/main_index.html:8 +#: .\webapp\templates\main_index.html:8 msgid "Infoscreen" msgstr "Infoscreen" -#: webapp/templates/main_index.html:9 +#: .\webapp\templates\main_index.html:9 msgid "Admin tools" msgstr "Admin tools" -#: webapp/templates/navigation.html:15 +#: .\webapp\templates\navigation.html:7 msgid "Guild" msgstr "Guild" -#: webapp/templates/navigation.html:18 -msgid "Corporate" -msgstr "Corporate" - -#: webapp/templates/navigation.html:31 webapp/templates/sosso.html:7 +#: .\webapp\templates\navigation.html:19 .\webapp\templates\sosso.html:7 msgid "Sössö" msgstr "Sössö" -#: webapp/templates/ohlhafv.html:8 +#: .\webapp\templates\navigation.html:26 +msgid "Corporate" +msgstr "Corporate" + +#: .\webapp\templates\ohlhafv.html:8 msgid "Ohlhafv" msgstr "Ohlhafv" -#: webapp/templates/ohlhafv.html:15 +#: .\webapp\templates\ohlhafv.html:15 msgid "Challenge" msgstr "Challenge" -#: webapp/templates/ohlhafv_list.html:11 +#: .\webapp\templates\ohlhafv_list.html:11 msgid "All challenges" msgstr "All challenges" -#: webapp/templates/ohlhafv_list.html:15 +#: .\webapp\templates\ohlhafv_list.html:15 msgid "Total challenges:" -msgstr "Total challenges:" +msgstr "Total challenges:" \ No newline at end of file diff --git a/locale/fi/LC_MESSAGES/django.mo b/locale/fi/LC_MESSAGES/django.mo index 18db11325cac440b567e29aca22ccb98f060cf0b..f722445407e2aae81e4dd6b5bf7422047b1856f1 100644 GIT binary patch delta 4990 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 delta 4647 zcmYkEBrg-OoUU={XY55{8a0N)odg8IvthdYo< zxKq~tA;wWZi-~v%`{EUhcg}N>H~1Zrus>g((ASQ2jjT22oIlRMg6HQ8O$;oiG7oa4HVM*_ehk*4~1p)Hk5| zA44|Doxlt{XNDy^cN6t29Ewv^XMFdNHMHQ3)L%hO;3#TG-a)P8L)1hrnqMKi=)OS~ z<@zu??NAzy!cnM&%|q?T5_37~It}RQUag{_d(?tDp%t|g+fXO&KwWqbs^4K$zaG?u z&R`UtMNQ}e>iqxM_t)+F=oG(SJnGgCNMZlAWy5IDMDkDrjj;}QSiKwv(_W35&??jb z&8UIbqb~R?YCImUsQz!Iu>Wc}O@mJO2#4Y4R*z;>cGo4LE|i10 zSctkM_aV2}EymEqPz!2Cy%ig*y%pI6*M?v4cD;t$!GQN2e**2O0d}G;@P^rmdYHOV zCwyRDKuzH9sGYlpT6tuuzk~6p@6%8V%tQ4nLOm;EQO}k)lY$<)xu^>?qE_^z)dQGK zeJg5($5A`ggZ$^-=R+&|3fVLl#gB*HVKTK`WaaYH)5E zYC^M6Gp{rkqWUdCZRK**iW{wc6KbFU>il-pK)X>BJA^v#1ZoH0mwNxtQP4~;S%-h1 z2EL4X7{mD0(26rK3nyYaR-JhJyoY){YQjDC{VCL~{0w!Sf1!5dGHN24z52(bv;XRl zM1!_!5NZoEQSWOJF6DJ8!Nt_u*^WIJJKP^2h&t~$Y5{*i{Si8Y8c@H#T2LR+qiKvNALFVMj zF&!I`yWlpXuHzk|z`5=d%*V)Vze5pf3-3k^a6f87i>wUDi->vf>6zXu2C{Xa-STh)VF$p@$z|IOOJL~Zp|YjCB1fECz@LWJm{3>e2u_OHN zGf*qcv3e0|VWnmn>W|P2^fW**?~G<#W=_Re>N8PW{sRo%d$SQW@YAUC1E_xO)_wr> zll>-YNB)Ys{zcSIe2IE%zRqL+)gdyUCl&{y1};a<_yG)U9qM7KL+w;6#$g+3r`l1! zgk8w1?>FfG-%*S7`lhnVUE=wM9p{w_QMv`fX|@@ z*lTv0Z=0u33ps~6|B`vd?CXv4SD1?0qTyE0MNMclYQ|$x58-5MuS7iy3s4iOwsu`l z6M6=9UK{GxY)Ac#*oWHDlc?)?XDB34xP&oy+58`B0x_fgACN@ULs)`iumW{U)?zyD z#$0?Cbql`6kvOQ(e@1RcU2isOoO_W8cy0j&{WR8Fhcy^ay%n`}+ss|qpZWnz#N()y zoW}3t$EX$O75VRdsd*Qw-vZS6i%{2X#5leG%@nlt8&MMpm^(3?dMEO>xM#_3l05C?GJ(8GUL!glBVB}l4mj_ReCW87+)lKG$$87p>$? z@*ZgHnDQBzuUCSaLtPhrB|Tk^s@MfZR-aNHqDCF0hIulDmn1#}i0B`32Fjk?6tX zjdZI?4Vg?Pk#M4;k{k_{{Ew-y$?91cL6(z!M1K`uBD096e^}}`K@O7RAqNIrLwr^)N&K2kz@k1@J|i>Uq1T8?2Y8A1+_ zCeojbAUeuPU8v;$`kkaah5V4bOWr0wClzEK$sszX`MBxWLKc%05)*teDKk9q=?yu- z@dGD?MORf<*F4$~@RG9vPbF6eI+6zm&nDM~1vaLf5AGQ3MFb}e>4=DatgfzVMN{z8 zp&P^EipHiFjTv8fb6#O_uxVIMM4&5kLa->SKCJJ)5 zqqecOp`p8jwiDUIgULBnVZqMah_K+55zP_7%>}na##hwRr@oS+L Cg2Rpg diff --git a/locale/fi/LC_MESSAGES/django.po b/locale/fi/LC_MESSAGES/django.po index 9de7b01..a690686 100644 --- a/locale/fi/LC_MESSAGES/django.po +++ b/locale/fi/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-10-18 12:06+0300\n" +"POT-Creation-Date: 2017-10-28 14:37+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,289 +18,310 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: infoscreen/models.py:97 +#: .\infoscreen\models.py:97 msgid "ABB jobs" msgstr "ABB-työpaikat" -#: infoscreen/models.py:112 +#: .\infoscreen\models.py:112 msgid "APY Item" msgstr "ÄPY-tilastot" -#: infoscreen/models.py:127 +#: .\infoscreen\models.py:127 msgid "External website" msgstr "Ulkoinen verkkosivu" -#: infoscreen/models.py:184 +#: .\infoscreen\models.py:184 msgid "Sössö articles" msgstr "Sössön artikkelit" -#: infoscreen/models.py:199 webapp/models.py:72 +#: .\infoscreen\models.py:199 .\webapp\models.py:72 msgid "Events" msgstr "Tapahtumat" -#: infoscreen/models.py:214 +#: .\infoscreen\models.py:214 msgid "Image" msgstr "Kuva" -#: infoscreen/models.py:260 +#: .\infoscreen\models.py:260 msgid "HSL timetables" msgstr "HSL-aikataulut" -#: infoscreen/models.py:275 +#: .\infoscreen\models.py:275 msgid "External image" msgstr "Ulkoinen kuva" -#: infoscreen/templates/infoscreen_admin.html:24 -#: members/templates/members_base.html:79 +#: .\infoscreen\templates\infoscreen_admin.html:24 +#: .\members\templates\members_base.html:79 msgid "Log out" msgstr "Kirjaudu ulos" -#: infoscreen/templates/infoscreen_admin.html:31 +#: .\infoscreen\templates\infoscreen_admin.html:31 msgid "Infoscreen Admin Pane" msgstr "Infonäyttöjen hallintapaneeli" -#: infoscreen/templates/infoscreen_admin.html:35 +#: .\infoscreen\templates\infoscreen_admin.html:35 msgid "Manage Slides" msgstr "Hallinnoi dioja" -#: infoscreen/templates/infoscreen_admin.html:37 +#: .\infoscreen\templates\infoscreen_admin.html:37 msgid "Manage Rotations" msgstr "Hallinnoi Rotaatioita" -#: infoscreen/templates/infoscreen_admin.html:41 +#: .\infoscreen\templates\infoscreen_admin.html:41 msgid "Create/Delete" msgstr "Lisää/Poista" -#: infoscreen/templates/infoscreen_admin.html:43 -#: infoscreen/templates/infoscreen_admin.html:152 -#: members/templates/members_base.html:75 members/templates/settings.html:11 -msgid "Settings" -msgstr "Asetukset" - -#: infoscreen/templates/infoscreen_admin.html:49 +#: .\infoscreen\templates\infoscreen_admin.html:48 msgid "Create new item" msgstr "Luo uusi dia" -#: infoscreen/templates/infoscreen_admin.html:50 +#: .\infoscreen\templates\infoscreen_admin.html:49 msgid "Create a new item by type" msgstr "Luo uusi dia tyypin perusteella" -#: infoscreen/templates/infoscreen_admin.html:53 +#: .\infoscreen\templates\infoscreen_admin.html:52 msgid "Item type" msgstr "Diatyyppi" -#: infoscreen/templates/infoscreen_admin.html:64 -#: infoscreen/templates/infoscreen_admin.html:84 +#: .\infoscreen\templates\infoscreen_admin.html:63 +#: .\infoscreen\templates\infoscreen_admin.html:83 msgid "Info items" msgstr "Diat" -#: infoscreen/templates/infoscreen_admin.html:65 -#: infoscreen/templates/infoscreen_admin.html:85 +#: .\infoscreen\templates\infoscreen_admin.html:64 +#: .\infoscreen\templates\infoscreen_admin.html:84 msgid "Infoitems available for rotations" msgstr "Rotaatioon lisättävät diat" -#: infoscreen/templates/infoscreen_admin.html:68 -#: infoscreen/templates/infoscreen_admin.html:88 +#: .\infoscreen\templates\infoscreen_admin.html:67 +#: .\infoscreen\templates\infoscreen_admin.html:87 msgid "Item" msgstr "Dia" -#: infoscreen/templates/infoscreen_admin.html:69 -#: infoscreen/templates/infoscreen_admin.html:89 +#: .\infoscreen\templates\infoscreen_admin.html:68 +#: .\infoscreen\templates\infoscreen_admin.html:88 msgid "Type" msgstr "Tyyppi" -#: infoscreen/templates/infoscreen_admin.html:70 -#: infoscreen/templates/infoscreen_admin.html:75 -#: infoscreen/templates/infoscreen_admin.html:92 -#: infoscreen/templates/infoscreen_admin.html:99 -#: infoscreen/templates/infoscreen_admin.html:112 -#: infoscreen/templates/infoscreen_admin.html:116 -#: infoscreen/templates/infoscreen_admin.html:132 -#: infoscreen/templates/infoscreen_admin.html:138 -#: members/templates/member_edit.html:20 members/templates/payment_edit.html:20 +#: .\infoscreen\templates\infoscreen_admin.html:69 +#: .\infoscreen\templates\infoscreen_admin.html:74 +#: .\infoscreen\templates\infoscreen_admin.html:91 +#: .\infoscreen\templates\infoscreen_admin.html:98 +#: .\infoscreen\templates\infoscreen_admin.html:111 +#: .\infoscreen\templates\infoscreen_admin.html:115 +#: .\infoscreen\templates\infoscreen_admin.html:131 +#: .\infoscreen\templates\infoscreen_admin.html:137 +#: .\members\templates\member_edit.html:20 +#: .\members\templates\payment_edit.html:20 msgid "Delete" msgstr "Poista" -#: infoscreen/templates/infoscreen_admin.html:90 +#: .\infoscreen\templates\infoscreen_admin.html:89 msgid "Set duration" msgstr "Aseta kesto" -#: infoscreen/templates/infoscreen_admin.html:91 +#: .\infoscreen\templates\infoscreen_admin.html:90 msgid "Add to rotation" msgstr "Lisää rotaatioon" -#: infoscreen/templates/infoscreen_admin.html:98 +#: .\infoscreen\templates\infoscreen_admin.html:97 msgid "Add" msgstr "Lisää" -#: infoscreen/templates/infoscreen_admin.html:106 -#: infoscreen/templates/infoscreen_admin.html:129 +#: .\infoscreen\templates\infoscreen_admin.html:105 +#: .\infoscreen\templates\infoscreen_admin.html:128 msgid "Rotation" msgstr "Rotaatio" -#: infoscreen/templates/infoscreen_admin.html:106 -#: infoscreen/templates/infoscreen_admin.html:131 -#: infoscreen/templates/infoscreen_admin.html:137 +#: .\infoscreen\templates\infoscreen_admin.html:105 +#: .\infoscreen\templates\infoscreen_admin.html:130 +#: .\infoscreen\templates\infoscreen_admin.html:136 msgid "Preview" msgstr "Esikatsele" -#: infoscreen/templates/infoscreen_admin.html:107 +#: .\infoscreen\templates\infoscreen_admin.html:106 msgid "Instances in currently selected rotation" msgstr "Nykyisen rotaation diat" -#: infoscreen/templates/infoscreen_admin.html:110 +#: .\infoscreen\templates\infoscreen_admin.html:109 msgid "Instance" msgstr "Dia" -#: infoscreen/templates/infoscreen_admin.html:111 +#: .\infoscreen\templates\infoscreen_admin.html:110 msgid "Duration" msgstr "Kesto" -#: infoscreen/templates/infoscreen_admin.html:123 +#: .\infoscreen\templates\infoscreen_admin.html:122 msgid "Rotations" msgstr "Rotaatiot" -#: infoscreen/templates/infoscreen_admin.html:125 +#: .\infoscreen\templates\infoscreen_admin.html:124 msgid "Select rotation to edit" msgstr "Valitse muokattava rotaatio" -#: infoscreen/templates/infoscreen_admin.html:130 +#: .\infoscreen\templates\infoscreen_admin.html:129 msgid "id" msgstr "id" -#: infoscreen/templates/infoscreen_admin.html:141 webapp/models.py:110 -#: webapp/models.py:144 webapp/templates/kaehmy_list.html:36 +#: .\infoscreen\templates\infoscreen_admin.html:140 .\webapp\models.py:110 +#: .\webapp\models.py:143 .\webapp\templates\kaehmy_list.html:36 msgid "Name" msgstr "Nimi" -#: infoscreen/templates/infoscreen_admin.html:142 +#: .\infoscreen\templates\infoscreen_admin.html:141 msgid "Create new" msgstr "Luo uusi" -#: infoscreen/templates/infoscreen_admin.html:157 -#: members/templates/settings.html:17 -msgid "Language" -msgstr "Kieli" - -#: infoscreen/templates/infoscreen_admin.html:161 -#: members/templates/settings.html:20 sikweb/base.py:222 -msgid "Finnish" -msgstr "suomi" - -#: infoscreen/templates/infoscreen_admin.html:162 -#: members/templates/settings.html:21 sikweb/base.py:223 -msgid "English" -msgstr "englanti" - -#: infoscreen/templates/infoscreen_admin.html:166 -#: members/templates/settings.html:23 webapp/templates/kaehmy.html:77 -msgid "Submit" -msgstr "Lisää" - -#: members/forms.py:115 members/tables.py:32 +#: .\members\forms.py:107 .\members\models.py:103 .\members\tables.py:32 msgid "Member" msgstr "Jäsen" -#: members/models.py:14 +#: .\members\forms.py:123 +msgid "I'm a member of AYY" +msgstr "Olen AYY:n jäsen" + +#: .\members\forms.py:124 +msgid "I want to receive a weekly newsletter" +msgstr "Haluan saada viikottaisen jäsentiedotteen" + +#: .\members\models.py:14 msgid "First name" msgstr "Etunimi" -#: members/models.py:15 +#: .\members\models.py:15 msgid "Last name" msgstr "Sukunimi" -#: members/models.py:16 webapp/models.py:145 -#: webapp/templates/kaehmy_list.html:40 +#: .\members\models.py:16 .\webapp\models.py:144 +#: .\webapp\templates\kaehmy_list.html:40 msgid "Email" msgstr "Sähköposti" -#: members/models.py:17 +#: .\members\models.py:17 msgid "Place of residence" msgstr "Asuinpaikka" -#: members/models.py:19 members/models.py:70 -#: members/templates/member_add_many.html:35 +#: .\members\models.py:19 .\members\models.py:70 +#: .\members\templates\member_add_many.html:35 msgid "AYY" msgstr "AYY" -#: members/models.py:20 +#: .\members\models.py:20 msgid "JAS" msgstr "JAS" -#: members/models.py:51 +#: .\members\models.py:51 msgid "Submitted" msgstr "Lisätty" -#: members/models.py:68 +#: .\members\models.py:68 msgid "Date" msgstr "Päivämäärä" -#: members/models.py:69 +#: .\members\models.py:69 msgid "Source" msgstr "Lähde" -#: members/models.py:71 +#: .\members\models.py:71 msgid "Cash" msgstr "Käteinen" -#: members/models.py:72 members/templates/member_add_many.html:36 +#: .\members\models.py:72 .\members\templates\member_add_many.html:36 msgid "Bank transfer" msgstr "Tilisiirto" -#: members/models.py:96 +#: .\members\models.py:96 msgid "Created" msgstr "Lisätty" -#: members/tables.py:13 +#: .\members\models.py:104 .\members\templates\member_add_many_confirm.html:12 +#: .\members\templates\members_base.html:52 +#: .\webapp\templates\main_index.html:7 +msgid "Members" +msgstr "Jäsenet" + +#: .\members\tables.py:13 msgid "Last paid" msgstr "Viimeksi maksettu" -#: members/tables.py:18 members/tables.py:37 members/tables.py:54 +#: .\members\tables.py:18 .\members\tables.py:37 .\members\tables.py:54 msgid "Edit" msgstr "Muokkaa" -#: members/tables.py:20 members/tables.py:39 members/tables.py:56 +#: .\members\tables.py:20 .\members\tables.py:39 .\members\tables.py:56 msgid "Options" msgstr "Asetukset" -#: members/templates/application_edit.html:9 +#: .\members\templates\application_delete_confirm.html:9 +msgid "Are you sure you want to delete this application?" +msgstr "Oletko varma, että haluat poistaa tämän hakemuksen?" + +#: .\members\templates\application_delete_confirm.html:19 +#: .\members\templates\member_delete_confirm.html:19 +#: .\members\templates\payment_delete_confirm.html:19 +msgid "Yes, I'm sure" +msgstr "Kyllä, olen varma" + +#: .\members\templates\application_edit.html:9 msgid "Edit application" msgstr "Muokkaa hakemusta" -#: members/templates/application_edit.html:18 +#: .\members\templates\application_edit.html:18 msgid "Accept" msgstr "Hyväksy" -#: members/templates/application_edit.html:20 +#: .\members\templates\application_edit.html:20 msgid "Decline" msgstr "Hylkää" -#: members/templates/application_list.html:8 +#: .\members\templates\application_index.html:8 +msgid "Killan jäseneksi liittyminen on helppoa ja hauskaa!" +msgstr "" + +#: .\members\templates\application_index.html:9 +msgid "Täytä vain alla oleva lomake" +msgstr "" + +#: .\members\templates\application_index.html:10 +msgid "Muista myös maksaa jäsenmaksusi!" +msgstr "" + +#: .\members\templates\application_index.html:16 +#: .\members\templates\member_add_many.html:48 +#: .\members\templates\member_add_many_confirm.html:22 +#: .\webapp\templates\kaehmy_list.html:48 +msgid "Send" +msgstr "Lähetä" + +#: .\members\templates\application_list.html:8 msgid "Member applications" msgstr "Jäsenhakemukset" -#: members/templates/error.html:8 -msgid "Error" -msgstr "Virhe" +#: .\members\templates\application_success.html:8 +msgid "Hienoa! Jäsenhakemuksesi on nyt lähetetty." +msgstr "" -#: members/templates/error.html:15 -msgid "Back" -msgstr "Takaisin" +#: .\members\templates\application_success.html:9 +msgid "Takaisin Sähköinsinöörikillan web-sivuille" +msgstr "" -#: members/templates/member_add.html:8 members/templates/members_base.html:55 +#: .\members\templates\member_add.html:8 +#: .\members\templates\members_base.html:55 msgid "Add member" msgstr "Lisää jäsen" -#: members/templates/member_add.html:15 members/templates/member_edit.html:18 -#: members/templates/payment_add.html:20 members/templates/payment_edit.html:18 +#: .\members\templates\member_add.html:15 +#: .\members\templates\member_edit.html:18 +#: .\members\templates\payment_add.html:20 +#: .\members\templates\payment_edit.html:18 msgid "Save" msgstr "Tallenna" -#: members/templates/member_add_many.html:8 +#: .\members\templates\member_add_many.html:8 msgid "Add many members" msgstr "Lisää useita" -#: members/templates/member_add_many.html:13 +#: .\members\templates\member_add_many.html:13 msgid "" "\n" " Enter member information in CSV format, separate members on " @@ -312,7 +333,7 @@ msgstr "" "riveillään.\n" " " -#: members/templates/member_add_many.html:18 +#: .\members\templates\member_add_many.html:18 msgid "" "\n" " first_name, last_name, email_address and place_of_origin should " @@ -327,497 +348,515 @@ msgstr "" " ayy_member ja jas_recipient ovat joko 0 (off) tai 1 (on).\n" " " -#: members/templates/member_add_many.html:23 +#: .\members\templates\member_add_many.html:23 msgid "Syntax" msgstr "Syntaksi" -#: members/templates/member_add_many.html:29 +#: .\members\templates\member_add_many.html:29 msgid "Data" msgstr "Data" -#: members/templates/member_add_many.html:33 +#: .\members\templates\member_add_many.html:33 msgid "Payment source" msgstr "Maksutapa" -#: members/templates/member_add_many.html:37 +#: .\members\templates\member_add_many.html:37 msgid "Cash payment" msgstr "Käteismaksu" -#: members/templates/member_add_many.html:41 +#: .\members\templates\member_add_many.html:41 msgid "CSV delimiter" msgstr "CSV-erotin" -#: members/templates/member_add_many.html:44 +#: .\members\templates\member_add_many.html:44 msgid "" "The symbol that is used to separate items in one line. Defaults to " "';' (semicolon)." msgstr "" "Merkki, jota käytetään rivin osien erottamiseen. Oletuksena ';' (puolipiste)." -#: members/templates/member_add_many.html:48 -#: members/templates/member_add_many_confirm.html:22 -#: webapp/templates/kaehmy_list.html:48 -msgid "Send" -msgstr "Lähetä" - -#: members/templates/member_add_many_confirm.html:8 +#: .\members\templates\member_add_many_confirm.html:8 msgid "Confirm adding these entries?" msgstr "Vahvista muutokset?" -#: members/templates/member_add_many_confirm.html:12 -#: members/templates/members_base.html:52 webapp/templates/main_index.html:7 -msgid "Members" -msgstr "Jäsenet" - -#: members/templates/member_add_many_confirm.html:16 -#: members/templates/members_base.html:60 +#: .\members\templates\member_add_many_confirm.html:16 +#: .\members\templates\members_base.html:60 msgid "Payments" msgstr "Maksutapahtumat" -#: members/templates/member_delete_confirm.html:9 +#: .\members\templates\member_delete_confirm.html:9 msgid "Are you sure you want to delete this member?" msgstr "Oletko varma, että haluat poistaa tämän jäsenen?" -#: members/templates/member_delete_confirm.html:19 -#: members/templates/payment_delete_confirm.html:19 -msgid "Yes, I'm sure" -msgstr "Kyllä, olen varma" - -#: members/templates/member_edit.html:9 +#: .\members\templates\member_edit.html:9 msgid "Edit member" msgstr "Muokkaa jäsentä" -#: members/templates/member_list.html:11 members/templates/members_base.html:15 +#: .\members\templates\member_list.html:11 +#: .\members\templates\members_base.html:15 msgid "Member register" msgstr "Jäsenrekisteri" -#: members/templates/member_list.html:21 +#: .\members\templates\member_list.html:21 msgid "Members in register:" msgstr "Jäseniä:" -#: members/templates/member_list.html:28 members/templates/payment_list.html:25 +#: .\members\templates\member_list.html:28 +#: .\members\templates\payment_list.html:25 msgid "Search" msgstr "Hae" -#: members/templates/member_list.html:36 members/templates/payment_list.html:33 +#: .\members\templates\member_list.html:36 +#: .\members\templates\payment_list.html:33 msgid "Showing results for" msgstr "Näytetään tulokset haulle" -#: members/templates/member_list.html:44 +#: .\members\templates\member_list.html:44 msgid "Download CSV" msgstr "Lataa CSV" -#: members/templates/members_base.html:33 -#: members/templates/members_base.html:42 +#: .\members\templates\members_base.html:33 +#: .\members\templates\members_base.html:42 msgid "Member register of SIK ry" msgstr "Aalto-yliopiston Sähköinsinöörikilta ry:n jäsenrekisteri" -#: members/templates/members_base.html:54 +#: .\members\templates\members_base.html:54 msgid "List members" msgstr "Jäsenlistaus" -#: members/templates/members_base.html:56 +#: .\members\templates\members_base.html:56 msgid "Add multiple" msgstr "Lisää useita" -#: members/templates/members_base.html:62 +#: .\members\templates\members_base.html:62 msgid "List payments" msgstr "Maksulistaus" -#: members/templates/members_base.html:63 members/templates/payment_add.html:13 +#: .\members\templates\members_base.html:63 +#: .\members\templates\payment_add.html:13 msgid "Add payment" msgstr "Lisää maksu" -#: members/templates/members_base.html:67 +#: .\members\templates\members_base.html:67 msgid "Applications" msgstr "Jäsenhakemukset" -#: members/templates/members_base.html:69 +#: .\members\templates\members_base.html:69 msgid "List applications" msgstr "Hakemuslistaus" -#: members/templates/members_base.html:70 +#: .\members\templates\members_base.html:70 msgid "Application form" msgstr "Jäsenhakemuslomake" -#: members/templates/payment_delete_confirm.html:9 +#: .\members\templates\members_base.html:75 +#: .\members\templates\settings.html:11 +msgid "Settings" +msgstr "Asetukset" + +#: .\members\templates\payment_delete_confirm.html:9 msgid "Are you sure you want to delete this payment?" msgstr "Oletko varma, että haluat poistaa tämän maksutapahtuman?" -#: members/templates/payment_edit.html:9 +#: .\members\templates\payment_edit.html:9 msgid "Edit payment" msgstr "Muokkaa maksua" -#: members/templates/payment_list.html:8 +#: .\members\templates\payment_list.html:8 msgid "Payment events" msgstr "Maksutapahtumat" -#: members/templates/payment_list.html:18 +#: .\members\templates\payment_list.html:18 msgid "Payments in register:" msgstr "Maksutapahtumia:" -#: members/views/applications.py:51 members/views/applications.py:100 -#: members/views/applications.py:129 +#: .\members\templates\settings.html:17 +msgid "Language" +msgstr "Kieli" + +#: .\members\templates\settings.html:20 .\sikweb\base.py:222 +msgid "Finnish" +msgstr "suomi" + +#: .\members\templates\settings.html:21 .\sikweb\base.py:223 +msgid "English" +msgstr "englanti" + +#: .\members\templates\settings.html:23 .\webapp\templates\kaehmy.html:77 +msgid "Submit" +msgstr "Lisää" + +#: .\members\views\applications.py:51 .\members\views\applications.py:119 +#: .\members\views\applications.py:148 msgid "No application id specified" msgstr "Hakemuksen ID ei määritelty" -#: members/views/applications.py:80 +#: .\members\views\applications.py:73 +msgid "Application missing 'id' field." +msgstr "Hakemuksen ID ei määritelty" + +#: .\members\views\applications.py:83 +msgid "Email {} is already in use by a member. Application cannot be accepted." +msgstr "Sähköpostiosoite {} on jo käytössä. Hakemusta ei hyväksytty." + +#: .\members\views\applications.py:93 msgid "Successfully accepted application" msgstr "Onnistuneesti hyväksyttiin hakemus" -#: members/views/applications.py:87 -msgid "Could not accept application object" -msgstr "Hakemusobjektia ei voitu hyväksyä" - -#: members/views/applications.py:104 +#: .\members\views\applications.py:123 msgid "Successfully deleted application" msgstr "Onnistuneesti poistettiin hakemus" -#: members/views/applications.py:116 +#: .\members\views\applications.py:135 msgid "Could not delete application object" msgstr "Hakemusobjektia ei voitu poistaa" -#: members/views/members.py:74 members/views/members.py:172 -#: members/views/members.py:199 +#: .\members\views\members.py:74 .\members\views\members.py:179 +#: .\members\views\members.py:206 msgid "No member id specified" msgstr "Jäsenen ID ei määritelty" -#: members/views/members.py:111 +#: .\members\views\members.py:111 msgid "Failed to import members" msgstr "Jäsenten tuonti epäonnistui" -#: members/views/members.py:125 +#: .\members\views\members.py:125 msgid "Successfully added member" msgstr "Onnistuneesti lisättiin jäsen" -#: members/views/members.py:151 +#: .\members\views\members.py:148 +msgid "Member missing 'id' field." +msgstr "Jäsenen ID ei määritelty." + +#: .\members\views\members.py:158 msgid "Successfully updated member" msgstr "Onnistuneesti päivitettiin jäsen" -#: members/views/members.py:159 -msgid "Could not update member object" -msgstr "Jäsenobjektia ei voitu päivittää" - -#: members/views/members.py:176 +#: .\members\views\members.py:183 msgid "Successfully deleted member" msgstr "Onnistuneesti poistettiin jäsen" -#: members/views/members.py:187 +#: .\members\views\members.py:194 msgid "Could not delete member object" msgstr "Jäsenobjektia ei voitu poistaa" -#: members/views/payments.py:70 +#: .\members\views\payments.py:70 msgid "Successfully added payment for member" msgstr "Onnistuneesti lisättiin maksutapahtuma jäsenelle" -#: members/views/payments.py:89 members/views/payments.py:108 -#: members/views/payments.py:128 +#: .\members\views\payments.py:89 .\members\views\payments.py:108 +#: .\members\views\payments.py:128 msgid "No payment id specified" msgstr "Maksutapahtuman ID ei määritelty" -#: members/views/payments.py:133 +#: .\members\views\payments.py:133 msgid "Successfully deleted payment" msgstr "Onnistuneesti poistettiin maksutapahtuma" -#: members/views/payments.py:143 +#: .\members\views\payments.py:143 msgid "Could not delete payment object" msgstr "Maksutapahtumaobjektia ei voitu poistaa" -#: members/views/payments.py:163 +#: .\members\views\payments.py:163 msgid "Successfully updated payment" msgstr "Onnistuneesti päivitettiin maksutapahtuma" -#: members/views/payments.py:170 +#: .\members\views\payments.py:170 msgid "Could not update payment object" msgstr "Maksutapahtumaobjektia ei voitu päivittää" -#: members/views/utils.py:117 +#: .\members\views\utils.py:117 msgid "Missing \"textfield\" POST request field" msgstr "Puuttuva \"textfield\" POST-kenttä" -#: templates/admin/base_site.html:43 +#: .\templates\admin\base_site.html:43 msgid "Go" msgstr "Vaihda" -#: templates/footer.html:22 +#: .\templates\error.html:8 .\webapp\templates\kaehmy_error.html:8 +msgid "Error" +msgstr "Virhe" + +#: .\templates\error.html:15 .\webapp\templates\kaehmy_error.html:15 +msgid "Back" +msgstr "Takaisin" + +#: .\templates\footer.html:23 msgid "Copyright Aalto-yliopiston Sähköinsinöörikilta ry" msgstr "Copyright Aalto-yliopiston Sähköinsinöörikilta ry" -#: webapp/forms.py:38 +#: .\webapp\forms.py:38 msgid "Email (not public)" msgstr "Sähköposti (ei julkinen)" -#: webapp/forms.py:39 +#: .\webapp\forms.py:39 msgid "Phone number (not public)" msgstr "Puhelinnumero (ei julkinen)" -#: webapp/forms.py:44 +#: .\webapp\forms.py:44 msgid "Custom roles" msgstr "Uudet virat" -#: webapp/forms.py:52 webapp/templates/kaehmy.html:41 +#: .\webapp\forms.py:52 .\webapp\templates\kaehmy.html:41 msgid "Preset roles" msgstr "Kaehmyvirat" -#: webapp/forms.py:76 +#: .\webapp\forms.py:76 msgid "Invalid phone number" msgstr "Virheellinen puhelinnumero" -#: webapp/forms.py:84 +#: .\webapp\forms.py:84 msgid "Custom role with the same name already exists." msgstr "Samanniminen virka on jo olemassa" -#: webapp/models.py:17 +#: .\webapp\models.py:17 msgid "Webapp" msgstr "Nettisivut" -#: webapp/models.py:28 +#: .\webapp\models.py:28 msgid "Tag" msgstr "Tunniste" -#: webapp/models.py:29 +#: .\webapp\models.py:29 msgid "Tags" msgstr "Tunnisteet" -#: webapp/models.py:32 +#: .\webapp\models.py:32 msgid "Tag: {}" msgstr "Tunniste: {}" -#: webapp/models.py:52 +#: .\webapp\models.py:52 msgid "Feed: {}" msgstr "Uutinen: {}" -#: webapp/models.py:55 +#: .\webapp\models.py:55 msgid "Feed" msgstr "Uutinen" -#: webapp/models.py:56 +#: .\webapp\models.py:56 msgid "Feeds" msgstr "Uutiset" -#: webapp/models.py:68 +#: .\webapp\models.py:68 msgid "Event: {}" msgstr "Tapahtuma: {}" -#: webapp/models.py:71 +#: .\webapp\models.py:71 msgid "Event" msgstr "Tapahtuma" -#: webapp/models.py:83 +#: .\webapp\models.py:83 msgid "Registration: {}" msgstr "Registration: {}" -#: webapp/models.py:86 +#: .\webapp\models.py:86 msgid "Registration" msgstr "Ilmoittautuminen" -#: webapp/models.py:87 +#: .\webapp\models.py:87 msgid "Registrations" msgstr "Ilmoittautumiset" -#: webapp/models.py:94 +#: .\webapp\models.py:94 msgid "Corporate affairs" msgstr "Yrityssuhteet" -#: webapp/models.py:95 webapp/templates/freshmen.html:7 -#: webapp/templates/navigation.html:16 +#: .\webapp\models.py:95 .\webapp\templates\freshmen.html:7 +#: .\webapp\templates\navigation.html:10 msgid "Freshmen" msgstr "Fuksit" -#: webapp/models.py:96 webapp/templates/international.html:7 -#: webapp/templates/navigation.html:30 +#: .\webapp\models.py:96 .\webapp\templates\international.html:7 +#: .\webapp\templates\navigation.html:16 msgid "International" msgstr "International" -#: webapp/models.py:97 +#: .\webapp\models.py:97 msgid "External affairs" msgstr "Ulkosuhteet" -#: webapp/models.py:98 +#: .\webapp\models.py:98 msgid "Media" msgstr "Media" -#: webapp/models.py:99 +#: .\webapp\models.py:99 msgid "Technology" msgstr "Teknologia" -#: webapp/models.py:100 +#: .\webapp\models.py:100 msgid "Wellbeing" msgstr "Hyvinvointi" -#: webapp/models.py:101 +#: .\webapp\models.py:101 msgid "Elepaja" msgstr "Elepaja" -#: webapp/models.py:102 +#: .\webapp\models.py:102 msgid "Ceremonies" msgstr "Hupitapahtumat" -#: webapp/models.py:103 +#: .\webapp\models.py:103 msgid "Culture" msgstr "Kulttuuri" -#: webapp/models.py:104 +#: .\webapp\models.py:104 msgid "Studies" msgstr "Opinnot" -#: webapp/models.py:105 +#: .\webapp\models.py:105 msgid "Sössö magazine" msgstr "Kiltalehti Sössö" -#: webapp/models.py:106 +#: .\webapp\models.py:106 msgid "Alumni relations" msgstr "Alumnisuhteet" -#: webapp/models.py:107 +#: .\webapp\models.py:107 msgid "Others" msgstr "Muut" -#: webapp/models.py:111 webapp/models.py:192 +#: .\webapp\models.py:111 .\webapp\models.py:191 msgid "Board member" msgstr "Hallituksen jäsen" -#: webapp/models.py:112 +#: .\webapp\models.py:112 msgid "Category" msgstr "Kategoria" -#: webapp/models.py:116 +#: .\webapp\models.py:116 msgid "board member" msgstr "Hallituksen jäsen" -#: webapp/models.py:122 +#: .\webapp\models.py:122 msgid "Description" msgstr "Kuvaus" -#: webapp/models.py:123 -msgid "Summary" -msgstr "Tiivistelmä" - -#: webapp/models.py:130 +#: .\webapp\models.py:129 msgid "Preset kaehmy role" msgstr "Kaehmyvirka" -#: webapp/models.py:131 +#: .\webapp\models.py:130 msgid "Preset kaehmy roles" msgstr "Kaehmyvirat" -#: webapp/models.py:138 +#: .\webapp\models.py:137 msgid "Custom kaehmy role" msgstr "Uusi virka" -#: webapp/models.py:139 +#: .\webapp\models.py:138 msgid "Custom kaehmy roles" msgstr "Uudet kaehmyvirat" -#: webapp/models.py:146 +#: .\webapp\models.py:145 msgid "Timestamp" msgstr "Aikaleima" -#: webapp/models.py:160 +#: .\webapp\models.py:159 msgid "Kaehmykommentti" msgstr "" -#: webapp/models.py:161 +#: .\webapp\models.py:160 msgid "Kaehmykommentit" msgstr "" -#: webapp/models.py:163 +#: .\webapp\models.py:162 msgid "Message" msgstr "Viesti" -#: webapp/models.py:182 webapp/templates/kaehmy.html:12 +#: .\webapp\models.py:181 .\webapp\templates\kaehmy.html:12 msgid "Kaehmylomake" msgstr "Kaehmylomake" -#: webapp/models.py:183 +#: .\webapp\models.py:182 msgid "Kaehmylomakkeet" msgstr "" -#: webapp/models.py:186 webapp/models.py:259 +#: .\webapp\models.py:185 .\webapp\models.py:258 msgid "Phone number" msgstr "Puhelinnumero" -#: webapp/models.py:187 +#: .\webapp\models.py:186 msgid "Year" msgstr "Vuosi" -#: webapp/models.py:188 +#: .\webapp\models.py:187 msgid "Text" msgstr "Teksti" -#: webapp/models.py:190 +#: .\webapp\models.py:189 msgid "Custom role name" msgstr "Uusi virka" -#: webapp/models.py:200 +#: .\webapp\models.py:199 msgid "Kaehmy application: {}" msgstr "Kaehmy: {}" -#: webapp/models.py:222 +#: .\webapp\models.py:221 msgid "Board: {}" msgstr "Hallitus: {}" -#: webapp/models.py:228 +#: .\webapp\models.py:227 msgid "Official: {}" msgstr "Toimari: {}" -#: webapp/models.py:242 +#: .\webapp\models.py:241 msgid "Role" msgstr "Rooli" -#: webapp/models.py:243 +#: .\webapp\models.py:242 msgid "Roles" msgstr "Roolit" -#: webapp/models.py:245 +#: .\webapp\models.py:244 msgid "Start date" msgstr "Alkupäivämäärä" -#: webapp/models.py:246 +#: .\webapp\models.py:245 msgid "End date" msgstr "Loppupäivämäärä" -#: webapp/models.py:256 +#: .\webapp\models.py:255 msgid "Official" msgstr "Toimihenkilö" -#: webapp/models.py:257 +#: .\webapp\models.py:256 msgid "Officials" msgstr "Toimihenkilöt" -#: webapp/models.py:285 +#: .\webapp\models.py:284 msgid "Telegram channel" msgstr "Telegram-kanava" -#: webapp/models.py:286 +#: .\webapp\models.py:285 msgid "Telegram channels" msgstr "Telegram-kanavat" -#: webapp/templates/admin_index.html:6 +#: .\webapp\templates\admin_index.html:6 msgid "SIK Admin" msgstr "SIK Hallintapaneeli" -#: webapp/templates/base.html:15 +#: .\webapp\templates\base.html:15 msgid "Aalto-yliopiston Sähköinsinöörikilta ry" msgstr "Aalto-yliopiston Sähköinsinöörikilta ry" -#: webapp/templates/contact.html:7 webapp/templates/navigation.html:32 +#: .\webapp\templates\contact.html:7 .\webapp\templates\navigation.html:22 msgid "Contact" msgstr "Yhteystiedot" -#: webapp/templates/event_calendar.html:7 webapp/templates/navigation.html:29 +#: .\webapp\templates\event_calendar.html:7 +#: .\webapp\templates\navigation.html:13 msgid "Event calendar" msgstr "Tapahtumakalenteri" -#: webapp/templates/guild.html:7 +#: .\webapp\templates\guild.html:7 msgid "Kilta" msgstr "Kilta" -#: webapp/templates/jobs.html:7 webapp/templates/navigation.html:20 +#: .\webapp\templates\jobs.html:7 .\webapp\templates\navigation.html:29 msgid "Jobs" msgstr "Työpaikat" -#: webapp/templates/kaehmy.html:16 +#: .\webapp\templates\kaehmy.html:16 msgid "" "Kaehmykoneella voit ilmaista kiinnostuksesi toimia killassa ensi vuonna.\n" " Listassa on vastuualueittain sekä hallitus- että " @@ -839,131 +878,141 @@ msgstr "" " tai olla yhteydessä kyseistä virkaa tänä vuonna toimittavaan " "henkilöön." -#: webapp/templates/kaehmy.html:23 +#: .\webapp\templates\kaehmy.html:23 msgid "" "Muista, että kaehmyn lähettäminen on kiinnostuksen ilmaus \n" " eikä siis missään nimessä sitova ilmoittautumien mihinkään " "tehtävään!" msgstr "" -#: webapp/templates/kaehmy.html:26 +#: .\webapp\templates\kaehmy.html:26 msgid "Päivämääriä & deadlineja" msgstr "" -#: webapp/templates/kaehmy.html:28 +#: .\webapp\templates\kaehmy.html:28 msgid "Hallitustyrkkypaneeli (haku hallitukseen olisi hyvä tehdä ennen tätä!)" msgstr "" -#: webapp/templates/kaehmy.html:29 +#: .\webapp\templates\kaehmy.html:29 msgid "Vaalikokous, osa 1 (puheenjohtajan valinta)" msgstr "" -#: webapp/templates/kaehmy.html:30 +#: .\webapp\templates\kaehmy.html:30 msgid "Vaalikokous, osa 2 (hallituksen valinta)" msgstr "" -#: webapp/templates/kaehmy.html:31 +#: .\webapp\templates\kaehmy.html:31 msgid "Kiltailta" msgstr "" -#: webapp/templates/kaehmy.html:32 +#: .\webapp\templates\kaehmy.html:32 msgid "Haku toimariksi olisi hyvä tehdä ennen tätä!" msgstr "" -#: webapp/templates/kaehmy.html:33 +#: .\webapp\templates\kaehmy.html:33 msgid "Vaalikokous, osa 3 (toimarien valinta)" msgstr "" -#: webapp/templates/kaehmy_list.html:24 webapp/templates/kaehmy_list.html:59 +#: .\webapp\templates\kaehmy_list.html:24 +#: .\webapp\templates\kaehmy_list.html:59 msgid "All kaehmys" msgstr "Kaikki kaehmyt" -#: webapp/templates/kaehmy_list.html:32 +#: .\webapp\templates\kaehmy_list.html:32 msgid "Commenting on post by " msgstr "Kommentoidaan viestiin lähettäjältä" -#: webapp/templates/kaehmy_list.html:44 +#: .\webapp\templates\kaehmy_list.html:44 msgid "Comment" msgstr "Kommentti" -#: webapp/templates/kaehmy_list.html:57 +#: .\webapp\templates\kaehmy_list.html:57 msgid "Filter kaehmys" msgstr "Rajaa kaehmyjä" -#: webapp/templates/kaehmy_list.html:70 -#: webapp/templates/kaehmy_statistics.html:18 +#: .\webapp\templates\kaehmy_list.html:70 +#: .\webapp\templates\kaehmy_statistics.html:18 msgid "Total kaehmys:" msgstr "Kaehmyjä yhteensä:" -#: webapp/templates/kaehmy_list.html:88 +#: .\webapp\templates\kaehmy_list.html:88 msgid "Show comments" msgstr "Näytä kommentit" -#: webapp/templates/kaehmy_list.html:94 +#: .\webapp\templates\kaehmy_list.html:94 msgid "Add comment" msgstr "Kommentoi" -#: webapp/templates/kaehmy_message.html:11 +#: .\webapp\templates\kaehmy_message.html:11 msgid "Reply" msgstr "Vastaa" -#: webapp/templates/kaehmy_navigation.html:6 +#: .\webapp\templates\kaehmy_navigation.html:6 msgid "List kaehmys" msgstr "Kaikki kaehmyt" -#: webapp/templates/kaehmy_navigation.html:7 +#: .\webapp\templates\kaehmy_navigation.html:7 msgid "New kaehmy" msgstr "Uusi kaehmy" -#: webapp/templates/kaehmy_navigation.html:8 -#: webapp/templates/kaehmy_statistics.html:13 +#: .\webapp\templates\kaehmy_navigation.html:8 +#: .\webapp\templates\kaehmy_statistics.html:13 msgid "Statistics" msgstr "Kaehmytilastot" -#: webapp/templates/login.html:25 webapp/templates/login.html:27 +#: .\webapp\templates\login.html:25 .\webapp\templates\login.html:27 msgid "Username" msgstr "Käyttäjänimi" -#: webapp/templates/login.html:31 webapp/templates/login.html:33 +#: .\webapp\templates\login.html:31 .\webapp\templates\login.html:33 msgid "Password" msgstr "Salasana" -#: webapp/templates/login.html:43 +#: .\webapp\templates\login.html:43 msgid "Log in" msgstr "Kirjaudu sisään" -#: webapp/templates/main_index.html:8 +#: .\webapp\templates\main_index.html:8 msgid "Infoscreen" msgstr "Infonäyttö" -#: webapp/templates/main_index.html:9 +#: .\webapp\templates\main_index.html:9 msgid "Admin tools" msgstr "Hallintatyökalut" -#: webapp/templates/navigation.html:15 +#: .\webapp\templates\navigation.html:7 msgid "Guild" msgstr "Kilta" -#: webapp/templates/navigation.html:18 -msgid "Corporate" -msgstr "Yritys" - -#: webapp/templates/navigation.html:31 webapp/templates/sosso.html:7 +#: .\webapp\templates\navigation.html:19 .\webapp\templates\sosso.html:7 msgid "Sössö" msgstr "Sössö" -#: webapp/templates/ohlhafv.html:8 +#: .\webapp\templates\navigation.html:26 +msgid "Corporate" +msgstr "Yritys" + +#: .\webapp\templates\ohlhafv.html:8 msgid "Ohlhafv" msgstr "Øhlhäfv" -#: webapp/templates/ohlhafv.html:15 +#: .\webapp\templates\ohlhafv.html:15 msgid "Challenge" msgstr "Haaste" -#: webapp/templates/ohlhafv_list.html:11 +#: .\webapp\templates\ohlhafv_list.html:11 msgid "All challenges" msgstr "Kaikki haasteet" -#: webapp/templates/ohlhafv_list.html:15 +#: .\webapp\templates\ohlhafv_list.html:15 msgid "Total challenges:" msgstr "Haasteita yhteensä:" + +#~ msgid "Could not accept application object" +#~ msgstr "Hakemusobjektia ei voitu hyväksyä" + +#~ msgid "Could not update member object" +#~ msgstr "Jäsenobjektia ei voitu päivittää" + +#~ msgid "Summary" +#~ msgstr "Tiivistelmä" diff --git a/members/forms.py b/members/forms.py index 9a573ee..aae74dc 100644 --- a/members/forms.py +++ b/members/forms.py @@ -30,14 +30,6 @@ class MemberForm(forms.ModelForm): self.members = members self.payments = payments - def clean_email(self): - email = self.cleaned_data['email'] - - if Member.objects.filter(email=email).exists(): - raise forms.ValidationError('Member with email "{}" already exists.'.format(email), code='exists') - - return email - def _clean_boolean_field(self, key): value = self.data.get(key, None) if value in ['1', '0']: @@ -124,3 +116,9 @@ class ApplicationForm(forms.ModelForm): model = Request fields = ['first_name', 'last_name', 'email', 'AYY', 'jas', 'POR'] + + def __init__(self, *args, **kwargs): + super(ApplicationForm, self).__init__(*args, **kwargs) + + self.fields['AYY'].label = _("I'm a member of AYY") + self.fields['jas'].label = _("I want to receive a weekly newsletter") \ No newline at end of file diff --git a/members/models.py b/members/models.py index 8f36dbc..9f2145c 100644 --- a/members/models.py +++ b/members/models.py @@ -100,6 +100,8 @@ class Member(BaseMember): ('check_by_email', 'Can check if user exists by email'), ('read_member', 'Can see member in list'), ) + verbose_name = _('Member') + verbose_name_plural = _('Members') def last_paid(self): """Return member's last payment.""" diff --git a/members/tables.py b/members/tables.py index a6274ec..acb24e8 100644 --- a/members/tables.py +++ b/members/tables.py @@ -17,7 +17,7 @@ class MemberTable(tables.Table): 'href="/members/edit/{{ record.id }}">') + _('Edit') + '', - verbose_name=_('Options') + verbose_name="" ) class Meta: @@ -36,7 +36,7 @@ class PaymentTable(tables.Table): 'href="/members/edit_payment/{{ record.id }}">') + _('Edit') + '', - verbose_name=_('Options') + verbose_name="" ) class Meta: @@ -53,7 +53,7 @@ class RequestTable(tables.Table): 'href="/members/edit_application/{{ record.id }}">') + _('Edit') + '', - verbose_name=_('Options') + verbose_name="" ) class Meta: diff --git a/members/templates/application_delete_confirm.html b/members/templates/application_delete_confirm.html new file mode 100644 index 0000000..c3a82e2 --- /dev/null +++ b/members/templates/application_delete_confirm.html @@ -0,0 +1,24 @@ +{% extends "members_base.html" %} + +{% load i18n %} +{% load bootstrap3 %} + +{% block content %} +
+
+

{% trans "Are you sure you want to delete this application?" %}

+
+ +
+ + {{ form }} +
+
{% csrf_token %} + + +
+
+
+{% endblock content %} diff --git a/members/templates/application_edit.html b/members/templates/application_edit.html index 1728d8e..71b91ac 100644 --- a/members/templates/application_edit.html +++ b/members/templates/application_edit.html @@ -11,7 +11,7 @@
{% csrf_token %} - + {% bootstrap_form form %} {% buttons %} -
+

{% trans "Killan jäseneksi liittyminen on helppoa ja hauskaa!" %}

+

{% trans "Täytä vain alla oleva lomake" %}

+

{% trans "Muista myös maksaa jäsenmaksusi!" %}

+
+ {% csrf_token %} + {% bootstrap_form form %} + {% buttons %} + + {% endbuttons %}
{% endblock content %} diff --git a/members/templates/application_success.html b/members/templates/application_success.html index 15f3abf..66078b7 100644 --- a/members/templates/application_success.html +++ b/members/templates/application_success.html @@ -1,6 +1,10 @@ {% extends "application_form_base.html" %} +{% load static %} +{% load bootstrap3 %} +{% load i18n %} {% block content %} -

Hienoa! Jäsenhakemuksesi on nyt lähetetty.

-Takaisin Sähköinsinöörikillan web-sivuille + +

{% trans "Hienoa! Jäsenhakemuksesi on nyt lähetetty." %}

+

{% trans "Takaisin Sähköinsinöörikillan web-sivuille" %}

{% endblock content %} diff --git a/members/urls.py b/members/urls.py index 39b973e..4988f5d 100644 --- a/members/urls.py +++ b/members/urls.py @@ -32,7 +32,7 @@ from rest_framework.authtoken import views from members.views import application_form from members.views import application_list from members.views import application_edit -from members.views import application_form_success +from members.views import application_submit # email validation # from members.views import validateEmail, validate_success, validate_fail @@ -76,15 +76,13 @@ urlpatterns = [ url(r'^submit_payment$', payment_submit), url(r'^update_payment$', payment_update), url(r'^delete_payment$', payment_delete), + url(r'^submit_application$', application_submit), url(r'^accept_application$', application_accept), url(r'^delete_application$', application_delete), # the actual member application form url(r'^application/$', application_form), - # success page for the application - url(r'^application/success$', application_form_success), - # delete confirmation view for applications url(r'^delete_application_confirm/(?P\d+)$', application_delete_confirm), diff --git a/members/views/applications.py b/members/views/applications.py index 8324d53..a53a961 100644 --- a/members/views/applications.py +++ b/members/views/applications.py @@ -64,27 +64,46 @@ def application_edit(request, *args, **kwargs): @permission_required('members.add_member', raise_exception=True) def application_accept(request, *args, **kwargs): """Accept application.""" - form = ApplicationForm(request.POST) - if form.is_valid(): - id = request.POST['id'] + id = request.POST.get('id', None) + if id is not None: application = Request.objects.get(id=id) - - member = application.to_member() - member.save() - application.delete() - - logging.info( - "Accepted application in member " - "register with the following info: {}" - .format(form)) - notification = "{} {}.".format(_("Successfully accepted application"), - str(application)) - return HttpResponseRedirect( - '/members/list?notification={}'.format(html.escape(notification))) else: + return render(request, + 'error.html', + {'error': _("Application missing 'id' field.")}) + + form = ApplicationForm(request.POST, instance=application) + if form.is_valid(): + try: + application = form.save() + + if Member.objects.filter(email=application.email).exists(): + return render(request, + 'error.html', + {'error': _('Email {} is already in use by a member. Application cannot be accepted.').format(application.email)}) + + member = application.to_member() + member.save() + application.delete() + + logging.info( + "Accepted application in member " + "register with the following info: {}" + .format(form)) + notification = "{} {}.".format(_("Successfully accepted application"), + str(application)) + return HttpResponseRedirect( + '/members/list?notification={}'.format(html.escape(notification))) + except Exception as ex: + logging.exception('Exception while accepting application') + return render(request, + 'error.html', + {'error': str(ex)}) + else: + logging.info(form) return render(request, 'error.html', - {'error': _('Could not accept application object')}) + {'error': form.errors}) @ensure_csrf_cookie @@ -106,7 +125,7 @@ def application_delete(request, *args, **kwargs): application.delete() logging.info( "Delete application in member register with the following id: {}" - .format(id)) + .format(id)) return HttpResponseRedirect( '/members/applications?notification={}' .format(html.escape(notification))) @@ -138,10 +157,21 @@ def application_delete_confirm(request, *args, **kwargs): @ensure_csrf_cookie def application_form(request, *args, **kwargs): """Render member application form.""" - return render(request, 'application_index.html', {}) + form = ApplicationForm() + return render(request, 'application_index.html', {'form': form}) @ensure_csrf_cookie -def application_form_success(request, *args, **kwargs): - """Render application Successfully sent page.""" - return render(request, 'application_success.html', {}) +@require_http_methods(["POST"]) +@login_required(login_url='/login') +@permission_required('members.delete_request', raise_exception=True) +def application_submit(request, *args, **kwargs): + """Submit member application""" + form = ApplicationForm(request.POST) + if form.is_valid(): + form.save() + return render(request, 'application_success.html', {}) + else: + return render(request, + 'error.html', + {'error': form.errors}) diff --git a/members/views/members.py b/members/views/members.py index c50ed79..4165612 100644 --- a/members/views/members.py +++ b/members/views/members.py @@ -138,11 +138,18 @@ def member_submit(request, *args, **kwargs): @permission_required('members.change_member', raise_exception=True) def member_update(request, *args, **kwargs): """Update member information.""" - form = MemberForm(request.POST) - if form.is_valid(): - id = request.POST['id'] + id = request.POST.get('id', None) + logging.debug(id) + if id is not None: member = Member.objects.get(id=id) - form = MemberForm(request.POST, instance=member) + else: + return render(request, + 'error.html', + {'error': _("Member missing 'id' field.")}) + logging.debug(member) + + form = MemberForm(request.POST, instance=member) + if form.is_valid(): form.save() logging.info( @@ -156,7 +163,7 @@ def member_update(request, *args, **kwargs): return render( request, 'error.html', - {'error': _('Could not update member object')}) + {'error': form.errors}) @ensure_csrf_cookie diff --git a/members/templates/error.html b/templates/error.html similarity index 100% rename from members/templates/error.html rename to templates/error.html diff --git a/webapp/templates/error.html b/webapp/templates/error.html deleted file mode 100644 index ccb932f..0000000 --- a/webapp/templates/error.html +++ /dev/null @@ -1,10 +0,0 @@ -{% extends "base.html" %} - -{% block navigation %} -{% endblock navigation %} - -{% block content %} - -{% endblock content %} \ No newline at end of file diff --git a/webapp/templates/kaehmy_error.html b/webapp/templates/kaehmy_error.html new file mode 100644 index 0000000..25c4b1b --- /dev/null +++ b/webapp/templates/kaehmy_error.html @@ -0,0 +1,18 @@ +{% extends "base.html" %} + +{% load static %} +{% load i18n %} +{% block content %} +
+
+

{% trans "Error" %}

+
+ +
+ {{ error|safe }} +
+
+ +
+
+{% endblock content %} diff --git a/webapp/views.py b/webapp/views.py index f0fb2d8..b273c7e 100644 --- a/webapp/views.py +++ b/webapp/views.py @@ -184,9 +184,9 @@ def kaehmy_submit(request, *args, **kwargs): else: context = { - 'errors': form.errors + 'error': form.errors } - return render(request, 'error.html', context) + return render(request, 'kaehmy_error.html', context) return HttpResponseRedirect('/kaehmy') @@ -283,9 +283,9 @@ def kaehmy_comment(request, *args, **kwargs): else: print(form) context = { - 'errors': form.errors + 'error': form.errors } - return render(request, 'error.html', context) + return render(request, 'kaehmy_error.html', context) @require_http_methods(["GET"])