From 1ff188eddd6c001907ddd6fde7e17e297a09bab8 Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Tue, 3 Nov 2020 18:27:46 +0200 Subject: [PATCH 01/14] Add Job-ads DB object and serializers --- locale/en/LC_MESSAGES/django.po | 2549 +----------------------------- locale/fi/LC_MESSAGES/django.po | 2584 +------------------------------ webapp/admin.py | 5 +- webapp/migrations/0072_jobad.py | 38 + webapp/models.py | 90 +- webapp/serializers.py | 6 + webapp/tests/test_feed.py | 12 +- webapp/tests/test_jobads.py | 54 + webapp/translation.py | 30 +- webapp/urls.py | 1 + webapp/views.py | 12 +- 11 files changed, 318 insertions(+), 5063 deletions(-) create mode 100644 webapp/migrations/0072_jobad.py create mode 100644 webapp/tests/test_jobads.py diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index 7118b60..03083a7 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: 2020-10-06 19:53+0300\n" +"POT-Creation-Date: 2020-11-03 18:21+0200\n" "PO-Revision-Date: 2017-11-02 23:09+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -37,12 +37,11 @@ msgstr "Sössö articles" msgid "Today's lunch" msgstr "" -#: infoscreen/models.py:212 webapp/models.py:77 +#: infoscreen/models.py:212 webapp/models.py:68 msgid "Events" msgstr "Events" #: infoscreen/models.py:227 -#: venv/lib/python3.8/site-packages/django/db/models/fields/files.py:360 msgid "Image" msgstr "Image" @@ -55,8 +54,6 @@ msgid "Infoscreen admin" msgstr "Infoscreen admin" #: infoscreen/templates/infoscreen_admin.html:26 members/templates/base.html:80 -#: venv/lib/python3.8/site-packages/suit/templates/admin/base.html:82 -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:21 msgid "Log out" msgstr "Log out" @@ -100,8 +97,6 @@ msgstr "id" #: infoscreen/templates/tabs/add_remove.html:13 #: infoscreen/templates/tabs/add_remove.html:19 #: infoscreen/templates/tabs/rotations.html:29 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:98 -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:51 msgid "Preview" msgstr "Preview" @@ -114,22 +109,12 @@ msgstr "Preview" #: infoscreen/templates/tabs/slides.html:27 #: infoscreen/templates/tabs/slides.html:32 #: members/templates/member_edit.html:20 members/templates/payment_edit.html:20 -#: venv/lib/python3.8/site-packages/django/forms/formsets.py:375 -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_confirmation.html:18 -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_confirmation.html:49 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:42 -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:69 -#: venv/lib/python3.8/site-packages/suit/templates/admin/page_submit_line.html:10 -#: venv/lib/python3.8/site-packages/suit/templates/admin/page_submit_line.html:12 -#: venv/lib/python3.8/site-packages/suit/templates/admin/submit_line.html:10 -#: venv/lib/python3.8/site-packages/suit/templates/admin/submit_line.html:13 msgid "Delete" msgstr "Delete" #: infoscreen/templates/tabs/add_remove.html:23 kaehmy/models.py:56 -#: kaehmy/templates/list.html:36 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:13 -#: webapp/models.py:126 webapp/models.py:158 webapp/models.py:187 +#: kaehmy/templates/list.html:36 webapp/models.py:138 webapp/models.py:166 +#: webapp/models.py:192 msgid "Name" msgstr "Name" @@ -166,11 +151,6 @@ msgid "Add to rotation" msgstr "Add to rotation" #: infoscreen/templates/tabs/rotations.html:19 -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_form.html:50 -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_form.html:76 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:53 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/plugin_change_form.html:85 -#: venv/lib/python3.8/site-packages/suit/templates/admin/index.html:34 msgid "Add" msgstr "Add" @@ -183,7 +163,6 @@ msgid "Instance" msgstr "Instance" #: infoscreen/templates/tabs/rotations.html:35 -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1590 msgid "Duration" msgstr "Duration" @@ -285,7 +264,7 @@ msgstr "" msgid "Category" msgstr "" -#: kaehmy/models.py:39 webapp/models.py:169 +#: kaehmy/models.py:39 webapp/models.py:176 msgid "Description" msgstr "Description" @@ -333,7 +312,7 @@ msgstr "Kaehmy application" msgid "Kaehmylomakkeet" msgstr "Kaehmy applications" -#: kaehmy/models.py:98 webapp/models.py:253 +#: kaehmy/models.py:98 webapp/models.py:252 msgid "Phone number" msgstr "" @@ -342,7 +321,6 @@ msgid "Year" msgstr "" #: kaehmy/models.py:100 -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2064 msgid "Text" msgstr "" @@ -350,7 +328,7 @@ msgstr "" msgid "Custom role name" msgstr "" -#: kaehmy/models.py:104 webapp/models.py:159 +#: kaehmy/models.py:104 webapp/models.py:167 msgid "Board member" msgstr "Board member" @@ -374,7 +352,7 @@ msgstr "" msgid "Telegram channels" msgstr "" -#: kaehmy/tables.py:13 webapp/models.py:206 +#: kaehmy/tables.py:13 webapp/models.py:207 msgid "Roles" msgstr "" @@ -450,13 +428,13 @@ msgid "Vaalikokous, osa 1 (puheenjohtajan valinta)" msgstr "Election meeting, part 1 (chairman election)" #: kaehmy/templates/kaehmy.html:30 -msgid "Vaalikokous, osa 2 (hallituksen valinta)" -msgstr "Election meeting, part 2 (board election)" - -#: kaehmy/templates/kaehmy.html:31 msgid "Toimikunta-appro" msgstr "Guild committee crawl" +#: kaehmy/templates/kaehmy.html:31 +msgid "Vaalikokous, osa 2 (hallituksen valinta)" +msgstr "Election meeting, part 2 (board election)" + #: kaehmy/templates/kaehmy.html:32 msgid "Vaalikokous, osa 3 (toimarien valinta)" msgstr "Election meeting, part 3 (non-board election)" @@ -491,7 +469,6 @@ msgid "Commenting on post by " msgstr "" #: kaehmy/templates/list.html:44 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/object_history.html:17 msgid "Comment" msgstr "" @@ -545,11 +522,11 @@ 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:12 webapp/models.py:250 +#: members/models.py:12 webapp/models.py:249 msgid "First name" msgstr "First name" -#: members/models.py:13 webapp/models.py:251 +#: members/models.py:13 webapp/models.py:250 msgid "Last name" msgstr "Last name" @@ -614,10 +591,6 @@ msgstr "Are you sure you want to delete this application?" #: members/templates/application_delete_confirm.html:19 #: members/templates/member_delete_confirm.html:19 #: members/templates/payment_delete_confirm.html:19 -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_confirmation.html:59 -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_selected_confirmation.html:61 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/delete_confirmation.html:36 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/delete_selected_files_confirmation.html:47 msgid "Yes, I'm sure" msgstr "Yes, I'm sure" @@ -721,8 +694,6 @@ msgid "Settings" msgstr "Settings" #: members/templates/email_application_accept.html:2 -#, fuzzy -#| msgid "Moikka" msgid "Moi" msgstr "Hi" @@ -731,8 +702,6 @@ msgid "Onnittelut! Sinut on hyväksytty Sähköinsinöörikillan jäseneksi." msgstr "" #: members/templates/email_application_accept.html:6 -#, fuzzy -#| msgid "Käy kurkkaamassa muutkin haasteet osoitteessa" msgid "Käy kurkkaamassa killan nettisivuilta" msgstr "Also go and check other challenges at" @@ -759,7 +728,7 @@ msgid "SIK-fuksit 2019 -tiedotuskanava" msgstr "SIK Freshmen 2019 Notification channel" #: members/templates/email_application_submit.html:2 -#: ohlhafv/templates/email.html:2 webapp/templates/signup_email.html:2 +#: ohlhafv/templates/email.html:2 msgid "Moikka" msgstr "Hi" @@ -823,11 +792,6 @@ msgstr "Amount" #: members/templates/member_add.html:15 members/templates/member_edit.html:18 #: members/templates/payment_add.html:20 members/templates/payment_edit.html:18 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/plugin_change_form.html:128 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/new_folder_form.html:43 -#: venv/lib/python3.8/site-packages/suit/templates/admin/page_submit_line.html:3 -#: venv/lib/python3.8/site-packages/suit/templates/admin/pagination.html:4 -#: venv/lib/python3.8/site-packages/suit/templates/admin/submit_line.html:3 msgid "Save" msgstr "Save" @@ -916,8 +880,6 @@ msgid "Members in register:" msgstr "Members in register:" #: members/templates/member_list.html:28 members/templates/payment_list.html:25 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:12 -#: venv/lib/python3.8/site-packages/suit/templates/admin/search_form.html:26 msgid "Search" msgstr "Search" @@ -973,7 +935,7 @@ msgstr "Successfully accepted application" #: members/views/applications.py:96 msgid "Jäsenhakemuksesi Sähköinsinöörikiltaan on hyväksytty!" -msgstr "" +msgstr "Your membership application has been approved!" #: members/views/applications.py:128 msgid "Successfully deleted application" @@ -1135,8 +1097,6 @@ msgid "Sinut on haastettu Øhlhäfviin!" msgstr "You have been challenged at Ohlhafv!" #: templates/admin/base_site.html:44 -#: venv/lib/python3.8/site-packages/suit/templates/admin/actions.html:14 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/actions.html:5 msgid "Go" msgstr "Go" @@ -1145,2316 +1105,15 @@ msgstr "Go" msgid "Aalto-yliopiston Sähköinsinöörikilta ry" msgstr "Aalto-yliopiston Sähköinsinöörikilta ry" -#: venv/lib/python3.8/site-packages/auditlog/models.py:169 -#, fuzzy -#| msgid "Created" -msgid "create" -msgstr "Created" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:170 -msgid "update" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:171 -#, fuzzy -#| msgid "Delete" -msgid "delete" -msgstr "Delete" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:174 -#, fuzzy -#| msgid "Item type" -msgid "content type" -msgstr "Item type" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:175 -msgid "object pk" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:176 -msgid "object id" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:177 -msgid "object representation" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:178 -#, fuzzy -#| msgid "Rotation" -msgid "action" -msgstr "Rotation" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:179 -msgid "change message" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:180 -msgid "actor" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:181 -msgid "remote address" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:182 -msgid "timestamp" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:183 -msgid "additional data" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:190 -msgid "log entry" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:191 -msgid "log entries" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:195 -#, fuzzy -#| msgid "Create new" -msgid "Created {repr:s}" -msgstr "Create new" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:197 -msgid "Updated {repr:s}" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:199 -msgid "Deleted {repr:s}" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:201 -msgid "Logged {repr:s}" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/contrib/messages/apps.py:7 -msgid "Messages" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/contrib/sitemaps/apps.py:7 -msgid "Site Maps" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/contrib/staticfiles/apps.py:9 -msgid "Static Files" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/contrib/syndication/apps.py:7 -#, fuzzy -#| msgid "Applications" -msgid "Syndication" -msgstr "Applications" - -#: venv/lib/python3.8/site-packages/django/core/paginator.py:42 -msgid "That page number is not an integer" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/paginator.py:44 -msgid "That page number is less than 1" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/paginator.py:49 -msgid "That page contains no results" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:31 -msgid "Enter a valid value." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:102 -#: venv/lib/python3.8/site-packages/django/forms/fields.py:657 -msgid "Enter a valid URL." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:154 -msgid "Enter a valid integer." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:165 -msgid "Enter a valid email address." -msgstr "" - -#. Translators: "letters" means latin letters: a-z and A-Z. -#: venv/lib/python3.8/site-packages/django/core/validators.py:239 -msgid "" -"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:246 -msgid "" -"Enter a valid 'slug' consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:255 -#: venv/lib/python3.8/site-packages/django/core/validators.py:275 -msgid "Enter a valid IPv4 address." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:260 -#: venv/lib/python3.8/site-packages/django/core/validators.py:276 -msgid "Enter a valid IPv6 address." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:270 -#: venv/lib/python3.8/site-packages/django/core/validators.py:274 -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:304 -msgid "Enter only digits separated by commas." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:310 -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:341 -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:350 -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:360 -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:375 -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:394 -#: venv/lib/python3.8/site-packages/django/forms/fields.py:289 -#: venv/lib/python3.8/site-packages/django/forms/fields.py:324 -msgid "Enter a number." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:396 -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:401 -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:406 -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:468 -#, python-format -msgid "" -"File extension '%(extension)s' is not allowed. Allowed extensions are: " -"'%(allowed_extensions)s'." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:520 -msgid "Null characters are not allowed." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/base.py:1111 -#: venv/lib/python3.8/site-packages/django/forms/models.py:752 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:19 -msgid "and" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/base.py:1113 -#, fuzzy, python-format -#| msgid "Custom role with the same name already exists." -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "Custom role with the same name already exists." - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:105 -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:106 -msgid "This field cannot be null." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:107 -msgid "This field cannot be blank." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:108 -#, fuzzy, python-format -#| msgid "Custom role with the same name already exists." -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Custom role with the same name already exists." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:112 -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:129 -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:898 -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1766 -msgid "Integer" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:902 -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1764 -#, python-format -msgid "'%(value)s' value must be an integer." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:977 -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1833 -msgid "Big (8 byte) integer" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:989 -#, python-format -msgid "'%(value)s' value must be either True or False." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:990 -#, python-format -msgid "'%(value)s' value must be either True, False, or None." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:992 -msgid "Boolean (Either True or False)" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1034 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1098 -msgid "Comma-separated integers" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1147 -#, python-format -msgid "" -"'%(value)s' value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1149 -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1292 -#, python-format -msgid "" -"'%(value)s' value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1152 -msgid "Date (without time)" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1290 -#, python-format -msgid "" -"'%(value)s' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1294 -#, python-format -msgid "" -"'%(value)s' value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1298 -msgid "Date (with time)" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1446 -#, python-format -msgid "'%(value)s' value must be a decimal number." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1448 -msgid "Decimal number" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1587 -#, python-format -msgid "" -"'%(value)s' value has an invalid format. It must be in [DD] [HH:[MM:]]ss[." -"uuuuuu] format." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1640 -#: webapp/models.py:252 -msgid "Email address" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1663 -msgid "File path" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1729 -#, python-format -msgid "'%(value)s' value must be a float." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1731 -#, fuzzy -#| msgid "Invalid phone number" -msgid "Floating point number" -msgstr "Invalid phone number" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1849 -msgid "IPv4 address" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1880 -msgid "IP address" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1960 -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1961 -#, python-format -msgid "'%(value)s' value must be either None, True or False." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1963 -msgid "Boolean (Either True, False or None)" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1998 -msgid "Positive integer" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2011 -msgid "Positive small integer" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2025 -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2057 -msgid "Small integer" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2092 -#, python-format -msgid "" -"'%(value)s' value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2094 -#, python-format -msgid "" -"'%(value)s' value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2097 -msgid "Time" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2223 -msgid "URL" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2245 -msgid "Raw binary data" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2295 -#, python-format -msgid "'%(value)s' is not a valid UUID." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/files.py:221 -msgid "File" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/related.py:778 -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/related.py:780 -msgid "Foreign Key (type determined by related field)" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/related.py:1001 -msgid "One-to-one relationship" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/related.py:1051 -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/related.py:1052 -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/related.py:1094 -msgid "Many-to-many relationship" -msgstr "" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the label -#: venv/lib/python3.8/site-packages/django/forms/boundfield.py:146 -msgid ":?.!" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:52 -msgid "This field is required." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:244 -#, fuzzy -#| msgid "Invalid phone number" -msgid "Enter a whole number." -msgstr "Invalid phone number" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:395 -#: venv/lib/python3.8/site-packages/django/forms/fields.py:1126 -msgid "Enter a valid date." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:419 -#: venv/lib/python3.8/site-packages/django/forms/fields.py:1127 -msgid "Enter a valid time." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:441 -msgid "Enter a valid date/time." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:470 -msgid "Enter a valid duration." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:471 -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:531 -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:532 -msgid "No file was submitted." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:533 -msgid "The submitted file is empty." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:535 -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:538 -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:599 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:761 -#: venv/lib/python3.8/site-packages/django/forms/fields.py:851 -#: venv/lib/python3.8/site-packages/django/forms/models.py:1272 -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:852 -#: venv/lib/python3.8/site-packages/django/forms/fields.py:967 -#: venv/lib/python3.8/site-packages/django/forms/models.py:1271 -msgid "Enter a list of values." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:968 -msgid "Enter a complete value." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:1185 -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -#: venv/lib/python3.8/site-packages/django/forms/forms.py:86 -msgid ":" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/forms.py:212 -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/formsets.py:91 -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/formsets.py:338 -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/forms/formsets.py:345 -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/forms/formsets.py:371 -#: venv/lib/python3.8/site-packages/django/forms/formsets.py:373 -msgid "Order" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/models.py:747 -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/models.py:751 -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/models.py:757 -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/models.py:766 -msgid "Please correct the duplicate values below." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/models.py:1093 -msgid "The inline value did not match the parent instance." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/models.py:1160 -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/models.py:1274 -#, python-format -msgid "\"%(pk)s\" is not a valid value." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/utils.py:162 -#, python-format -msgid "" -"%(datetime)s couldn't be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/widgets.py:383 -msgid "Clear" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/widgets.py:384 -msgid "Currently" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/widgets.py:385 -#: venv/lib/python3.8/site-packages/suit/templates/admin/edit_inline/tabular.html:17 -#: venv/lib/python3.8/site-packages/suit/templates/admin/edit_inline/tabular.html:67 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:24 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:85 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:27 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:43 -#: venv/lib/python3.8/site-packages/suit/templates/admin/index.html:26 -msgid "Change" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/widgets.py:699 -msgid "Unknown" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/widgets.py:700 -#: webapp/models.py:211 -msgid "Yes" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/widgets.py:701 -#: webapp/models.py:211 -msgid "No" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:788 -msgid "yes,no,maybe" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:817 -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:834 -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:836 -#, python-format -msgid "%s KB" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:838 -#, python-format -msgid "%s MB" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:840 -#, python-format -msgid "%s GB" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:842 -#, python-format -msgid "%s TB" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:844 -#, python-format -msgid "%s PB" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dateformat.py:62 -msgid "p.m." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dateformat.py:63 -msgid "a.m." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dateformat.py:68 -msgid "PM" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dateformat.py:69 -msgid "AM" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dateformat.py:150 -msgid "midnight" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dateformat.py:152 -msgid "noon" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:6 -msgid "Monday" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:6 -msgid "Tuesday" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:6 -msgid "Wednesday" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:6 -msgid "Thursday" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:6 -msgid "Friday" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:7 -msgid "Saturday" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:7 -msgid "Sunday" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:10 -#, fuzzy -#| msgid "Moikka" -msgid "Mon" -msgstr "Hi" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:10 -msgid "Tue" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:10 -msgid "Wed" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:10 -msgid "Thu" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:10 -msgid "Fri" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:11 -msgid "Sat" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:11 -msgid "Sun" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:14 -msgid "January" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:14 -msgid "February" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:14 -#, fuzzy -#| msgid "Search" -msgid "March" -msgstr "Search" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:14 -msgid "April" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:14 -msgid "May" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:14 -msgid "June" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:15 -msgid "July" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:15 -msgid "August" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:15 -#, fuzzy -#| msgid "Member" -msgid "September" -msgstr "Member" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:15 -msgid "October" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:15 -#, fuzzy -#| msgid "Member" -msgid "November" -msgstr "Member" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:16 -#, fuzzy -#| msgid "Member" -msgid "December" -msgstr "Member" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:19 -msgid "jan" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:19 -msgid "feb" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:19 -msgid "mar" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:19 -msgid "apr" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:19 -msgid "may" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:19 -msgid "jun" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:20 -msgid "jul" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:20 -#, fuzzy -#| msgid "Tag" -msgid "aug" -msgstr "Tag" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:20 -msgid "sep" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:20 -#, fuzzy -#| msgid "Contact" -msgid "oct" -msgstr "Contact" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:20 -msgid "nov" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:20 -msgid "dec" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:23 -msgctxt "abbrev. month" -msgid "Jan." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:24 -msgctxt "abbrev. month" -msgid "Feb." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:25 -#, fuzzy -#| msgid "Search" -msgctxt "abbrev. month" -msgid "March" -msgstr "Search" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:26 -msgctxt "abbrev. month" -msgid "April" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:27 -msgctxt "abbrev. month" -msgid "May" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:28 -msgctxt "abbrev. month" -msgid "June" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:29 -msgctxt "abbrev. month" -msgid "July" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:30 -msgctxt "abbrev. month" -msgid "Aug." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:31 -msgctxt "abbrev. month" -msgid "Sept." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:32 -msgctxt "abbrev. month" -msgid "Oct." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:33 -msgctxt "abbrev. month" -msgid "Nov." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:34 -msgctxt "abbrev. month" -msgid "Dec." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:37 -msgctxt "alt. month" -msgid "January" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:38 -msgctxt "alt. month" -msgid "February" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:39 -#, fuzzy -#| msgid "Search" -msgctxt "alt. month" -msgid "March" -msgstr "Search" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:40 -msgctxt "alt. month" -msgid "April" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:41 -msgctxt "alt. month" -msgid "May" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:42 -msgctxt "alt. month" -msgid "June" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:43 -msgctxt "alt. month" -msgid "July" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:44 -msgctxt "alt. month" -msgid "August" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:45 -#, fuzzy -#| msgid "Member" -msgctxt "alt. month" -msgid "September" -msgstr "Member" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:46 -msgctxt "alt. month" -msgid "October" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:47 -#, fuzzy -#| msgid "Member" -msgctxt "alt. month" -msgid "November" -msgstr "Member" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:48 -#, fuzzy -#| msgid "Member" -msgctxt "alt. month" -msgid "December" -msgstr "Member" - -#: venv/lib/python3.8/site-packages/django/utils/ipv6.py:8 -msgid "This is not a valid IPv6 address." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/text.py:70 -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s..." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/text.py:237 -msgid "or" -msgstr "" - -#. Translators: This string is used as a separator between list elements -#: venv/lib/python3.8/site-packages/django/utils/text.py:256 -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:83 -msgid ", " -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:9 -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:10 -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:11 -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:12 -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:13 -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:14 -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:72 -msgid "0 minutes" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/csrf.py:110 -msgid "Forbidden" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/csrf.py:111 -msgid "CSRF verification failed. Request aborted." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/csrf.py:115 -msgid "" -"You are seeing this message because this HTTPS site requires a 'Referer " -"header' to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/csrf.py:120 -msgid "" -"If you have configured your browser to disable 'Referer' headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for 'same-" -"origin' requests." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/csrf.py:124 -msgid "" -"If you are using the tag or " -"including the 'Referrer-Policy: no-referrer' header, please remove them. The " -"CSRF protection requires the 'Referer' header to do strict referer checking. " -"If you're concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/csrf.py:132 -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/csrf.py:137 -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for 'same-origin' requests." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/csrf.py:142 -msgid "More information is available with DEBUG=True." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:41 -#, fuzzy -#| msgid "No member id specified" -msgid "No year specified" -msgstr "No member id specified" - -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:61 -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:111 -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:208 -msgid "Date out of range" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:90 -#, fuzzy -#| msgid "No payment id specified" -msgid "No month specified" -msgstr "No payment id specified" - -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:142 -#, fuzzy -#| msgid "No payment id specified" -msgid "No day specified" -msgstr "No payment id specified" - -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:188 -#, fuzzy -#| msgid "No member id specified" -msgid "No week specified" -msgstr "No member id specified" - -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:338 -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:367 -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:585 -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:619 -#, python-format -msgid "Invalid date string '%(datestr)s' given format '%(format)s'" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/generic/detail.py:54 -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/generic/list.py:67 -msgid "Page is not 'last', nor can it be converted to an int." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/generic/list.py:72 -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/generic/list.py:154 -#, python-format -msgid "Empty list and '%(class_name)s.allow_empty' is False." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/static.py:40 -msgid "Directory indexes are not allowed here." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/static.py:42 -#, python-format -msgid "\"%(path)s\" does not exist" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/static.py:80 -#, python-format -msgid "Index of %(directory)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:6 -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:345 -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:367 -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:368 -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:383 -#, fuzzy -#| msgid "Manage Rotations" -msgid "Django Documentation" -msgstr "Manage Rotations" - -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:384 -msgid "Topics, references, & how-to's" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:395 -msgid "Tutorial: A Polling App" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:396 -msgid "Get started with Django" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:407 -msgid "Django Community" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:408 -msgid "Connect, get help, or contribute" -msgstr "" - -#: venv/lib/python3.8/site-packages/jsonfield/fields.py:22 -#, python-format -msgid "'%s' is not a valid JSON string." -msgstr "" - -#: venv/lib/python3.8/site-packages/modeltranslation/widgets.py:25 -msgid "None" -msgstr "" - -#: venv/lib/python3.8/site-packages/nocaptcha_recaptcha/fields.py:21 -msgid "Incorrect, please try again." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/403.html:4 -msgid "forbidden" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/403.html:6 -#: venv/lib/python3.8/site-packages/suit/templates/404.html:6 -#: venv/lib/python3.8/site-packages/suit/templates/500.html:6 -#: venv/lib/python3.8/site-packages/suit/templates/suit/error_base.html:76 -#, fuzzy -#| msgid "Error" -msgid "error" -msgstr "Error" - -#: venv/lib/python3.8/site-packages/suit/templates/403.html:9 -msgid "We're sorry, but the requested action is forbidden" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/404.html:4 -msgid "Page not found" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/404.html:9 -msgid "We're sorry, but the requested page could not be found." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/500.html:4 -msgid "Server Error" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/500.html:9 -msgid "" -"There's been an error. It's been reported to the site administrators via e-" -"mail and should be fixed shortly. Thanks for your patience." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/actions.html:14 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/actions.html:5 -msgid "Run the selected action" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/actions.html:22 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/actions.html:14 -msgid "Click here to select the objects across all pages" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/actions.html:23 -#, python-format -msgid "" -"Select all %(total_count)s\n" -" %(module_name)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/actions.html:26 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/actions.html:16 -msgid "Clear selection" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/app_index.html:8 -#: venv/lib/python3.8/site-packages/suit/templates/admin/auth/user/change_password.html:19 -#: venv/lib/python3.8/site-packages/suit/templates/admin/base.html:102 -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_form.html:61 -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list.html:42 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:46 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_list.html:8 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/plugin_change_form.html:82 -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_confirmation.html:7 -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_selected_confirmation.html:7 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/breadcrumbs.html:5 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:8 -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/base.html:10 -#: venv/lib/python3.8/site-packages/suit/templates/admin/object_history.html:7 -#: venv/lib/python3.8/site-packages/suit/templates/registration/logged_out.html:6 -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:26 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/recover_form.html:8 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/recover_list.html:8 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/revision_form.html:8 -#: venv/lib/python3.8/site-packages/suit/templates/suit/menu.html:10 -msgid "Home" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/app_index.html:11 -#, python-format -msgid "%(name)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/auth/user/add_form.html:6 -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/auth/user/add_form.html:8 -msgid "Enter a username and password." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/auth/user/change_password.html:32 -#: venv/lib/python3.8/site-packages/suit/templates/admin/auth/user/change_password.html:75 -#: venv/lib/python3.8/site-packages/suit/templates/admin/base.html:80 -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:19 -#, fuzzy -#| msgid "Set new password" -msgid "Change password" -msgstr "Set new password" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/auth/user/change_password.html:45 -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_form.html:152 -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list.html:86 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:137 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/plugin_change_form.html:99 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/new_folder_form.html:10 -#: venv/lib/python3.8/site-packages/suit/templates/admin/login.html:27 -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:44 -msgid "Please correct the error below." -msgid_plural " Please correct the errors below." -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/auth/user/change_password.html:48 -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/auth/user/change_password.html:54 -#: venv/lib/python3.8/site-packages/suit/templates/admin/login.html:56 -msgid "Password" -msgstr "Password" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/auth/user/change_password.html:64 -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:77 -#, fuzzy -#| msgid "Password" -msgid "Password (again)" -msgstr "Password" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/auth/user/change_password.html:68 -msgid "Enter the same password as above, for verification." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/base.html:68 -msgid "Welcome," -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/base.html:77 -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:15 -#, fuzzy -#| msgid "Rotation" -msgid "Documentation" -msgstr "Rotation" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_form.html:21 -msgid "You have unsaved changes" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_form.html:98 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/image/change_form.html:7 -#, fuzzy -#| msgid "Admin tools" -msgid "tools" -msgstr "Admin tools" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_form.html:108 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:105 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:33 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/image/change_form.html:10 -#: venv/lib/python3.8/site-packages/suit/templates/admin/object_history.html:15 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/revision_form.html:16 -msgid "History" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_form.html:112 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:104 -#: venv/lib/python3.8/site-packages/suit/templates/admin/edit_inline/stacked.html:14 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:37 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/image/change_form.html:15 -msgid "View on site" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_form.html:123 -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list.html:68 -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list.html:116 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:108 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_list.html:113 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_list.html:141 -#, fuzzy, python-format -#| msgid "Add payment" -msgid "Add %(name)s" -msgstr "Add payment" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_form.html:152 -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list.html:86 -msgid "Please correct the errors below." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list.html:110 -msgid "Nothing found" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list.html:112 -msgid "Reset search and filters" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list.html:114 -#, python-format -msgid "%(name_plural)s are not created yet" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list_results.html:19 -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list_results.html:20 -msgid "Toggle sorting" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list_results.html:22 -msgid "Remove from sorting" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:4 -msgid "Change a page" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:64 -#, fuzzy -#| msgid "Confirm adding these entries?" -msgid "Confirm delete" -msgstr "Confirm adding these entries?" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:65 -msgid "Remove delete request" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:68 -#, fuzzy -#| msgid "Confirm adding these entries?" -msgid "Confirm page deletion" -msgstr "Confirm adding these entries?" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:93 -#, fuzzy -#| msgid "Rotations" -msgid "actions" -msgstr "Rotations" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:97 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_list.html:78 -msgid "Publish" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:97 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:98 -msgid "draft" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:100 -msgid "Revert to public" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:157 -#, fuzzy -#| msgid "All applications" -msgid "All permissions" -msgstr "All applications" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:158 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:169 -msgid "Loading..." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:168 -msgid "Page states" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_list.html:3 -#, fuzzy -#| msgid "List payments" -msgid "List of pages" -msgstr "List payments" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_list.html:69 -#, fuzzy -#| msgid "Successfully added member" -msgid "Successfully moved" -msgstr "Successfully added member" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_list.html:87 -msgid "An error occured. Please reload the page" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_list.html:110 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/change_list.html:8 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/recover_form.html:14 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/recover_list.html:14 -#, python-format -msgid "Recover deleted %(name)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_list.html:125 -msgid "Pages on:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/plugin_change_form.html:129 -msgid "Cancel" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_confirmation.html:26 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/delete_confirmation.html:12 -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_confirmation.html:36 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/delete_confirmation.html:21 -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_confirmation.html:51 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/delete_confirmation.html:31 -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_selected_confirmation.html:15 -msgid "Delete multiple objects" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_selected_confirmation.html:23 -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_selected_confirmation.html:33 -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_selected_confirmation.html:51 -msgid "Confirm deletion" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_selected_confirmation.html:54 -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/edit_inline/stacked.html:72 -#: venv/lib/python3.8/site-packages/suit/templates/admin/edit_inline/tabular.html:127 -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/edit_inline/stacked.html:75 -#: venv/lib/python3.8/site-packages/suit/templates/admin/edit_inline/tabular.html:130 -msgid "Remove" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/edit_inline/tabular.html:18 -#, fuzzy -#| msgid "Delete" -msgid "Delete?" -msgstr "Delete" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/actions.html:14 -#, python-format -msgid "Select all %(total_count)s files and/or folders" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/breadcrumbs.html:5 -msgid "Go back to admin homepage" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/breadcrumbs.html:8 -msgid "Go back to Filer app" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/breadcrumbs.html:8 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:12 -msgid "Filer" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/breadcrumbs.html:12 -msgid "Go back to root folder" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/breadcrumbs.html:12 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:15 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:79 -msgid "root" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/breadcrumbs.html:17 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/breadcrumbs.html:23 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:19 -#, python-format -msgid "Go back to '%(folder_name)s' folder" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/change_form.html:30 -#, fuzzy -#| msgid "Applications" -msgid "duplicates" -msgstr "Applications" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/delete_selected_files_confirmation.html:11 -msgid "" -"Deleting the selected files and/or folders would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/delete_selected_files_confirmation.html:20 -msgid "" -"Deleting the selected files and/or folders would require deleting the " -"following protected related objects:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/delete_selected_files_confirmation.html:30 -msgid "" -"

Are you sure you want to delete the selected files and/or folders? All of " -"the following objects and their related items will be deleted:

" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:8 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:12 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:15 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:79 -msgid "Go back to" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:8 -msgid "admin homepage" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:15 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:79 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/new_folder_form.html:4 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/clipboard/clipboard.html:15 -msgid "folder" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:50 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:80 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:90 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:23 -msgid "Folder Icon" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_copy_destination.html:12 -msgid "" -"Your account doesn't have permissions to copy all of the selected files and/" -"or folders." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_copy_destination.html:15 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_move_destination.html:15 -msgid "There are no destination folders available." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_copy_destination.html:18 -msgid "There are no files and/or folders available to copy." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_copy_destination.html:21 -msgid "" -"The following files and/or folders will be copied to a destination folder " -"(retaining their tree structure):" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_copy_destination.html:31 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_move_destination.html:32 -msgid "Destination folder:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_copy_destination.html:38 -msgid "Copy" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_images_resize_options.html:12 -msgid "" -"Your account doesn't have permissions to resize all of the selected images." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_images_resize_options.html:15 -msgid "There are no images available to resize." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_images_resize_options.html:18 -msgid "The following images will be resized:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_images_resize_options.html:29 -msgid "Choose an existing thumbnail option or enter resize parameters:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_images_resize_options.html:32 -msgid "Choose resize parameters:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_images_resize_options.html:35 -msgid "" -"Warning: Images will be resized in-place and originals will be lost. Maybe " -"first make a copy of them to retain the originals." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_images_resize_options.html:36 -msgid "Resize" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_move_destination.html:12 -msgid "" -"Your account doesn't have permissions to move all of the selected files and/" -"or folders." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_move_destination.html:18 -msgid "There are no files and/or folders available to move." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_move_destination.html:21 -msgid "" -"The following files and/or folders will be moved to a destination folder " -"(retaining their tree structure):" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_move_destination.html:38 -msgid "Move" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_rename_format.html:12 -msgid "" -"Your account doesn't have permissions to rename all of the selected files." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_rename_format.html:15 -msgid "There are no files available to rename." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_rename_format.html:18 -msgid "" -"The following files will be renamed (they will stay in their folders and " -"keep original filename, only displayed filename will be changed):" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_rename_format.html:31 -#, fuzzy -#| msgid "Username" -msgid "Rename" -msgstr "Username" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:70 -msgid "Adds a new Folder" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:70 -msgid "New Folder" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:71 -#, fuzzy -#| msgid "Upload file" -msgid "upload files" -msgstr "Upload file" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:71 -#, fuzzy -#| msgid "Upload file" -msgid "Upload" -msgstr "Upload file" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:79 -msgid "Go back to the parent folder" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:81 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:30 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:19 -#, python-format -msgid "1 folder" -msgid_plural "%(counter)s folders" -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:81 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:30 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:20 -#, python-format -msgid "1 file" -msgid_plural "%(counter)s files" -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:85 -msgid "Change current folder details" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:23 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:27 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:29 -#, python-format -msgid "Change '%(item_label)s' folder details" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:30 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:45 -msgid "Owner" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:37 -msgid "Select this file" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:39 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:43 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:44 -#, python-format -msgid "Change '%(item_label)s' details" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:42 -#, python-format -msgid "Delete '%(item_label)s'" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:45 -msgid "Permissions" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:45 -msgid "disabled" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:45 -msgid "enabled" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:49 -msgid "Move to clipboard" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:57 -msgid "there are no files or subfolders" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:64 -msgid "previous" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:68 -#, python-format -msgid "" -"\n" -" Page %(number)s of %(num_pages)s\n" -" " -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:74 -msgid "next" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/new_folder_form.html:4 -msgid "Add new" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/image/change_form.html:31 -msgid "Full size preview" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/clipboard/clipboard.html:4 -msgid "Clipboard" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/clipboard/clipboard.html:15 -msgid "discard" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/clipboard/clipboard.html:15 -msgid "Move all clipboard files to" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/clipboard/clipboard.html:15 -msgid "unfiled files" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/clipboard/clipboard.html:24 -msgid "Paste all items here" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/clipboard/clipboard.html:63 -msgid "the clipboard is empty" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/clipboard/clipboard_item_rows.html:10 -#, fuzzy -#| msgid "Upload file" -msgid "upload failed" -msgstr "Upload file" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:11 -msgid "Enter your search phrase here" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:12 -msgid "Click here to" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:12 -msgid "run search for entered phrase" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:15 -msgid "Check it to" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:15 -msgid "limit the search to current folder" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:19 -msgid "found" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:20 -msgid "cancel search" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/change_list_export.html:5 -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/change_list_import_export.html:6 -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/export.html:5 -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/export.html:12 -msgid "Export" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/change_list_import.html:5 -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/change_list_import_export.html:5 -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:6 -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:25 -msgid "Import" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:17 -msgid "This importer will import the following fields: " -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:34 -#, fuzzy -#| msgid "Error" -msgid "Errors" -msgstr "Error" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:42 -#, fuzzy -#| msgid "Invalid phone number" -msgid "Line number" -msgstr "Invalid phone number" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:65 -msgid "New" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:67 -msgid "Skipped" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:71 -msgid "Update" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:90 -msgid "Confirm import" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/index.html:19 -#, python-format -msgid "Models available in the %(name)s application." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/index.html:45 -msgid "You don't have permission to edit anything." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/index.html:54 -#, fuzzy -#| msgid "Applications" -msgid "My Actions" -msgstr "Applications" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/index.html:59 -msgid "None available" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/index.html:68 -msgid "added" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/index.html:69 -msgid "changed" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/index.html:70 -#, fuzzy -#| msgid "Delete" -msgid "deleted" -msgstr "Delete" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/index.html:76 -msgid "Unknown content" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/login.html:64 -#, fuzzy -#| msgid "Forgot password?" -msgid "Forgotten your password or username?" -msgstr "Forgot password?" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/login.html:68 -msgid "Log in" -msgstr "Log in" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/object_history.html:27 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/object_history.html:15 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/recover_list.html:27 -#, fuzzy -#| msgid "Date" -msgid "Date/time" -msgstr "Date" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/object_history.html:28 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/object_history.html:16 -#, fuzzy -#| msgid "Username" -msgid "User" -msgstr "Username" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/object_history.html:29 -#, fuzzy -#| msgid "Applications" -msgid "Action" -msgstr "Applications" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/object_history.html:43 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/object_history.html:36 -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/page_submit_line.html:4 -#: venv/lib/python3.8/site-packages/suit/templates/admin/submit_line.html:4 -msgid "Save and continue editing" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/page_submit_line.html:5 -#: venv/lib/python3.8/site-packages/suit/templates/admin/submit_line.html:5 -msgid "Save as new" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/page_submit_line.html:6 -#: venv/lib/python3.8/site-packages/suit/templates/admin/submit_line.html:6 -msgid "Save and add another" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/page_submit_line.html:20 -#: venv/lib/python3.8/site-packages/suit/templates/admin/page_submit_line.html:22 -#, python-format -msgid "Delete %(language)s translation" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/pagination.html:26 -msgid "Show all" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/search_form.html:8 -msgid "keyword" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/search_form.html:29 -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/search_form.html:31 -#, python-format -msgid "%(full_result_count)s total" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/registration/logged_out.html:9 -msgid "Thanks for spending some quality time with the Web site today." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/registration/logged_out.html:12 -#, fuzzy -#| msgid "Log in" -msgid "Log in again" -msgstr "Log in" - -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:28 -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:32 -#, fuzzy -#| msgid "Password" -msgid "Password change" -msgstr "Password" - -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:40 -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:55 -#, fuzzy -#| msgid "Password" -msgid "Old password" -msgstr "Password" - -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:66 -#, fuzzy -#| msgid "New password set" -msgid "New password" -msgstr "New password set" - -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:88 -#, fuzzy -#| msgid "Set new password" -msgid "Change my password" -msgstr "Set new password" - -#: venv/lib/python3.8/site-packages/suit/templates/reversion/object_history.html:8 -msgid "" -"Choose a date from the list below to revert to a previous version of this " -"object." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/reversion/recover_form.html:25 -msgid "Press the save button below to recover this version of the object." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/reversion/recover_list.html:21 -msgid "" -"Choose a date from the list below to recover a deleted version of an object." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/reversion/recover_list.html:41 -msgid "There are no deleted objects to recover." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/reversion/revision_form.html:18 -#, python-format -msgid "Revert %(verbose_name)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/reversion/revision_form.html:27 -msgid "Press the save button below to revert to this version of the object." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/suit/error_base.html:87 -msgid "Close window" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/suit/error_base.html:90 -msgid "Go back" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/suit/error_base.html:93 -msgid "Go to admin home" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/widgets.py:116 -#, fuzzy -#| msgid "Date" -msgid "Date:" -msgstr "Date" - -#: venv/lib/python3.8/site-packages/suit/widgets.py:133 -msgid "Time:" -msgstr "" - #: webapp/models.py:18 msgid "Webapp" msgstr "Webapp" -#: webapp/models.py:30 +#: webapp/models.py:26 msgid "Tag" msgstr "Tag" -#: webapp/models.py:31 +#: webapp/models.py:27 msgid "Tags" msgstr "Tags" @@ -3462,102 +1121,122 @@ msgstr "Tags" msgid "Tag: {}" msgstr "Tag: {}" -#: webapp/models.py:56 -msgid "Feed: {}" -msgstr "Feed: {}" - -#: webapp/models.py:59 +#: webapp/models.py:52 msgid "Feed" msgstr "" -#: webapp/models.py:60 +#: webapp/models.py:53 msgid "Feeds" msgstr "" -#: webapp/models.py:73 -msgid "Event: {}" -msgstr "" +#: webapp/models.py:60 +msgid "Feed: {}" +msgstr "Feed: {}" -#: webapp/models.py:76 +#: webapp/models.py:67 msgid "Event" msgstr "" -#: webapp/models.py:86 -msgid "Template questions: {}" +#: webapp/models.py:77 +msgid "Event: {}" msgstr "" -#: webapp/models.py:89 +#: webapp/models.py:87 msgid "Template question" msgstr "" -#: webapp/models.py:90 +#: webapp/models.py:88 msgid "Template questions" msgstr "" -#: webapp/models.py:105 -msgid "#{} {}" +#: webapp/models.py:94 +msgid "Template questions: {}" msgstr "" -#: webapp/models.py:117 +#: webapp/models.py:101 msgid "Signup form" msgstr "" -#: webapp/models.py:118 +#: webapp/models.py:102 msgid "Signup forms" msgstr "" -#: webapp/models.py:136 +#: webapp/models.py:114 +msgid "#{} {}" +msgstr "" + +#: webapp/models.py:132 msgid "Sign-up" msgstr "" -#: webapp/models.py:137 +#: webapp/models.py:133 msgid "Sign-ups" msgstr "" -#: webapp/models.py:163 +#: webapp/models.py:171 msgid "board member" msgstr "board member" -#: webapp/models.py:181 +#: webapp/models.py:186 msgid "Committee" msgstr "" -#: webapp/models.py:182 +#: webapp/models.py:187 msgid "Committees" msgstr "" -#: webapp/models.py:185 +#: webapp/models.py:190 msgid "Committee: {}" msgstr "" -#: webapp/models.py:205 +#: webapp/models.py:206 msgid "Role" msgstr "" -#: webapp/models.py:222 +#: webapp/models.py:212 +msgid "Yes" +msgstr "" + +#: webapp/models.py:212 +msgid "No" +msgstr "" + +#: webapp/models.py:223 msgid "Occupation" msgstr "Occupation" -#: webapp/models.py:223 +#: webapp/models.py:224 msgid "Occupations" msgstr "Occupations" -#: webapp/models.py:225 +#: webapp/models.py:226 msgid "Start date" msgstr "" -#: webapp/models.py:226 +#: webapp/models.py:227 msgid "End date" msgstr "" -#: webapp/models.py:245 +#: webapp/models.py:244 msgid "Official" msgstr "" -#: webapp/models.py:246 +#: webapp/models.py:245 msgid "Officials" msgstr "" +#: webapp/models.py:251 +msgid "Email address" +msgstr "" + +#: webapp/models.py:277 +msgid "JobAd" +msgstr "" + +#: webapp/models.py:278 +msgid "JobAds" +msgstr "" + #: webapp/templates/contact.html:9 webapp/templates/navigation.html:20 msgid "Contact" msgstr "Contact" @@ -3601,93 +1280,3 @@ msgstr "Sössö" #: webapp/templates/navigation.html:24 msgid "Corporate" msgstr "Corporate" - -#: webapp/templates/signup_email.html:4 -msgid "Ilmottautuminen saapui perille" -msgstr "" - -#: webapp/templates/signup_email.html:6 -msgid "" -"Voit muokata ilmoittautumistasi lomakkeen olleessa avoinna alla olevasta " -"linkistä:" -msgstr "Use below link to modify your signup" - -#: webapp/templates/signup_email.html:10 -msgid "Hädässä ota yhteyttä sik-vtmk@list.ayy.fi" -msgstr "Something went wrong? Questions? Try sik-vtmk@list.ayy.fi" - -#~ msgid "Kiltailta" -#~ msgstr "Guild night" - -#~ msgid "" -#~ "Hallitustyrkkypaneeli (haku hallitukseen olisi hyvä tehdä ennen tätä!)" -#~ msgstr "" -#~ "Board panel discussion (applications to the board before this date!)" - -#~ msgid "" -#~ "Infoilta toimarihakijoille (haku toimariksi olisi hyvä tehdä ennen tätä)" -#~ msgstr "" -#~ "Information evening for applicants (applications to official roles before " -#~ "this date!)" - -#~ msgid "" -#~ "Olet ilmoittautunut tapahtumaan {instance.signupForm.event.first().title}" -#~ msgstr "" -#~ "You have signed up to an event {instance.signupForm.event.first().title}" - -#~ msgid "HSL timetables" -#~ msgstr "HSL timetables" - -#~ msgid "" -#~ "Your password has successfully been reset. You can use it right now on " -#~ "the login page." -#~ msgstr "" -#~ "Your password has successfully been reset. You can use it right now on " -#~ "the login page." - -#~ msgid "Password recovery" -#~ msgstr "Password recovery" - -#~ msgid "" -#~ "Sorry, this password reset link is invalid. You can still request a new one." -#~ msgstr "" -#~ "Sorry, this password reset link is invalid. You can still request a new one." - -#~ msgid "Hi, %(username)s. Please choose your new password." -#~ msgstr "Hi, %(username)s. Please choose your new password." - -#~ msgid "Password recovery sent" -#~ msgstr "Password recovery sent" - -#~ msgid "" -#~ "An email was sent to %(email)s %(ago)s ago. Use the link " -#~ "in it to set a new password." -#~ msgstr "" -#~ "An email was sent to %(email)s %(ago)s ago. Use the link " -#~ "in it to set a new password." - -#~ msgid "SIK Admin" -#~ msgstr "SIK Admin" - -#~ msgid "" -#~ "\n" -#~ " first_name, last_name, email_address and place_of_origin " -#~ "should be given string values.\n" -#~ " ayy_member and jas_recipient should be given the value 0 " -#~ "(off) or 1 (on).\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " first_name, last_name, email_address and place_of_origin " -#~ "should be given string values.\n" -#~ " ayy_member and jas_recipient should be given the value 0 " -#~ "(off) or 1 (on).\n" -#~ " " - -#~ msgid "Syntax" -#~ msgstr "Syntax" - -#~ msgid "Missing \"textfield\" POST request field" -#~ msgstr "Missing \"textfield\" POST request field" diff --git a/locale/fi/LC_MESSAGES/django.po b/locale/fi/LC_MESSAGES/django.po index 093d040..617a1db 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: 2020-10-06 19:53+0300\n" +"POT-Creation-Date: 2020-11-03 18:21+0200\n" "PO-Revision-Date: 2017-11-02 23:04+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -38,12 +38,11 @@ msgstr "Sössön artikkelit" msgid "Today's lunch" msgstr "Päivän lounas" -#: infoscreen/models.py:212 webapp/models.py:77 +#: infoscreen/models.py:212 webapp/models.py:68 msgid "Events" msgstr "Tapahtumat" #: infoscreen/models.py:227 -#: venv/lib/python3.8/site-packages/django/db/models/fields/files.py:360 msgid "Image" msgstr "Kuva" @@ -56,8 +55,6 @@ msgid "Infoscreen admin" msgstr "Infonäyttöjen hallinta" #: infoscreen/templates/infoscreen_admin.html:26 members/templates/base.html:80 -#: venv/lib/python3.8/site-packages/suit/templates/admin/base.html:82 -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:21 msgid "Log out" msgstr "Kirjaudu ulos" @@ -101,8 +98,6 @@ msgstr "id" #: infoscreen/templates/tabs/add_remove.html:13 #: infoscreen/templates/tabs/add_remove.html:19 #: infoscreen/templates/tabs/rotations.html:29 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:98 -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:51 msgid "Preview" msgstr "Esikatsele" @@ -115,22 +110,12 @@ msgstr "Esikatsele" #: infoscreen/templates/tabs/slides.html:27 #: infoscreen/templates/tabs/slides.html:32 #: members/templates/member_edit.html:20 members/templates/payment_edit.html:20 -#: venv/lib/python3.8/site-packages/django/forms/formsets.py:375 -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_confirmation.html:18 -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_confirmation.html:49 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:42 -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:69 -#: venv/lib/python3.8/site-packages/suit/templates/admin/page_submit_line.html:10 -#: venv/lib/python3.8/site-packages/suit/templates/admin/page_submit_line.html:12 -#: venv/lib/python3.8/site-packages/suit/templates/admin/submit_line.html:10 -#: venv/lib/python3.8/site-packages/suit/templates/admin/submit_line.html:13 msgid "Delete" msgstr "Poista" #: infoscreen/templates/tabs/add_remove.html:23 kaehmy/models.py:56 -#: kaehmy/templates/list.html:36 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:13 -#: webapp/models.py:126 webapp/models.py:158 webapp/models.py:187 +#: kaehmy/templates/list.html:36 webapp/models.py:138 webapp/models.py:166 +#: webapp/models.py:192 msgid "Name" msgstr "Nimi" @@ -167,11 +152,6 @@ msgid "Add to rotation" msgstr "Lisää rotaatioon" #: infoscreen/templates/tabs/rotations.html:19 -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_form.html:50 -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_form.html:76 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:53 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/plugin_change_form.html:85 -#: venv/lib/python3.8/site-packages/suit/templates/admin/index.html:34 msgid "Add" msgstr "Lisää" @@ -184,7 +164,6 @@ msgid "Instance" msgstr "Dia" #: infoscreen/templates/tabs/rotations.html:35 -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1590 msgid "Duration" msgstr "Kesto" @@ -286,7 +265,7 @@ msgstr "Muut" msgid "Category" msgstr "Kategoria" -#: kaehmy/models.py:39 webapp/models.py:169 +#: kaehmy/models.py:39 webapp/models.py:176 msgid "Description" msgstr "Kuvaus" @@ -334,7 +313,7 @@ msgstr "Kaehmylomake" msgid "Kaehmylomakkeet" msgstr "Kaehmylomakkeet" -#: kaehmy/models.py:98 webapp/models.py:253 +#: kaehmy/models.py:98 webapp/models.py:252 msgid "Phone number" msgstr "Puhelinnumero" @@ -343,7 +322,6 @@ msgid "Year" msgstr "Vuosi" #: kaehmy/models.py:100 -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2064 msgid "Text" msgstr "Teksti" @@ -351,7 +329,7 @@ msgstr "Teksti" msgid "Custom role name" msgstr "Uusi virka" -#: kaehmy/models.py:104 webapp/models.py:159 +#: kaehmy/models.py:104 webapp/models.py:167 msgid "Board member" msgstr "Hallituksen jäsen" @@ -375,7 +353,7 @@ msgstr "Telegram-kanava" msgid "Telegram channels" msgstr "Telegram-kanavat" -#: kaehmy/tables.py:13 webapp/models.py:206 +#: kaehmy/tables.py:13 webapp/models.py:207 msgid "Roles" msgstr "Roolit" @@ -455,13 +433,13 @@ msgid "Vaalikokous, osa 1 (puheenjohtajan valinta)" msgstr "Vaalikokous, osa 1 (puheenjohtajan valinta)" #: kaehmy/templates/kaehmy.html:30 -msgid "Vaalikokous, osa 2 (hallituksen valinta)" -msgstr "Vaalikokous, osa 2 (hallituksen valinta)" - -#: kaehmy/templates/kaehmy.html:31 msgid "Toimikunta-appro" msgstr "" +#: kaehmy/templates/kaehmy.html:31 +msgid "Vaalikokous, osa 2 (hallituksen valinta)" +msgstr "Vaalikokous, osa 2 (hallituksen valinta)" + #: kaehmy/templates/kaehmy.html:32 msgid "Vaalikokous, osa 3 (toimarien valinta)" msgstr "Vaalikokous, osa 3 (toimarien valinta)" @@ -490,7 +468,6 @@ msgid "Commenting on post by " msgstr "Kommentoidaan viestiin lähettäjältä " #: kaehmy/templates/list.html:44 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/object_history.html:17 msgid "Comment" msgstr "Kommentti" @@ -544,11 +521,11 @@ msgstr "Olen AYY:n jäsen" msgid "I want to receive a weekly newsletter" msgstr "Haluan saada viikottaisen jäsentiedotteen" -#: members/models.py:12 webapp/models.py:250 +#: members/models.py:12 webapp/models.py:249 msgid "First name" msgstr "Etunimi" -#: members/models.py:13 webapp/models.py:251 +#: members/models.py:13 webapp/models.py:250 msgid "Last name" msgstr "Sukunimi" @@ -613,10 +590,6 @@ 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 -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_confirmation.html:59 -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_selected_confirmation.html:61 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/delete_confirmation.html:36 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/delete_selected_files_confirmation.html:47 msgid "Yes, I'm sure" msgstr "Kyllä, olen varma" @@ -752,7 +725,7 @@ msgid "SIK-fuksit 2019 -tiedotuskanava" msgstr "" #: members/templates/email_application_submit.html:2 -#: ohlhafv/templates/email.html:2 webapp/templates/signup_email.html:2 +#: ohlhafv/templates/email.html:2 msgid "Moikka" msgstr "" @@ -814,11 +787,6 @@ msgstr "" #: members/templates/member_add.html:15 members/templates/member_edit.html:18 #: members/templates/payment_add.html:20 members/templates/payment_edit.html:18 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/plugin_change_form.html:128 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/new_folder_form.html:43 -#: venv/lib/python3.8/site-packages/suit/templates/admin/page_submit_line.html:3 -#: venv/lib/python3.8/site-packages/suit/templates/admin/pagination.html:4 -#: venv/lib/python3.8/site-packages/suit/templates/admin/submit_line.html:3 msgid "Save" msgstr "Tallenna" @@ -905,8 +873,6 @@ msgid "Members in register:" msgstr "Jäseniä:" #: members/templates/member_list.html:28 members/templates/payment_list.html:25 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:12 -#: venv/lib/python3.8/site-packages/suit/templates/admin/search_form.html:26 msgid "Search" msgstr "Hae" @@ -980,10 +946,8 @@ msgid "Kyllä" msgstr "" #: members/views/applications.py:181 members/views/applications.py:182 -#, fuzzy -#| msgid "Edit" msgid "Ei" -msgstr "Muokkaa" +msgstr "" #: members/views/members.py:85 members/views/members.py:187 #: members/views/members.py:211 @@ -1124,8 +1088,6 @@ msgid "Sinut on haastettu Øhlhäfviin!" msgstr "" #: templates/admin/base_site.html:44 -#: venv/lib/python3.8/site-packages/suit/templates/admin/actions.html:14 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/actions.html:5 msgid "Go" msgstr "Vaihda" @@ -1134,2328 +1096,15 @@ msgstr "Vaihda" msgid "Aalto-yliopiston Sähköinsinöörikilta ry" msgstr "Aalto-yliopiston Sähköinsinöörikilta ry" -#: venv/lib/python3.8/site-packages/auditlog/models.py:169 -#, fuzzy -#| msgid "Created" -msgid "create" -msgstr "Lisätty" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:170 -msgid "update" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:171 -#, fuzzy -#| msgid "Delete" -msgid "delete" -msgstr "Poista" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:174 -#, fuzzy -#| msgid "Item type" -msgid "content type" -msgstr "Diatyyppi" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:175 -msgid "object pk" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:176 -msgid "object id" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:177 -msgid "object representation" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:178 -#, fuzzy -#| msgid "Rotation" -msgid "action" -msgstr "Rotaatio" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:179 -msgid "change message" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:180 -msgid "actor" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:181 -msgid "remote address" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:182 -#, fuzzy -#| msgid "Timestamp" -msgid "timestamp" -msgstr "Aikaleima" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:183 -msgid "additional data" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:190 -msgid "log entry" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:191 -msgid "log entries" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:195 -#, fuzzy -#| msgid "Create new" -msgid "Created {repr:s}" -msgstr "Luo uusi" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:197 -msgid "Updated {repr:s}" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:199 -msgid "Deleted {repr:s}" -msgstr "" - -#: venv/lib/python3.8/site-packages/auditlog/models.py:201 -msgid "Logged {repr:s}" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/contrib/messages/apps.py:7 -#, fuzzy -#| msgid "Message" -msgid "Messages" -msgstr "Viesti" - -#: venv/lib/python3.8/site-packages/django/contrib/sitemaps/apps.py:7 -msgid "Site Maps" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/contrib/staticfiles/apps.py:9 -#, fuzzy -#| msgid "Statistics" -msgid "Static Files" -msgstr "Kaehmytilastot" - -#: venv/lib/python3.8/site-packages/django/contrib/syndication/apps.py:7 -#, fuzzy -#| msgid "Applications" -msgid "Syndication" -msgstr "Jäsenhakemukset" - -#: venv/lib/python3.8/site-packages/django/core/paginator.py:42 -msgid "That page number is not an integer" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/paginator.py:44 -msgid "That page number is less than 1" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/paginator.py:49 -msgid "That page contains no results" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:31 -msgid "Enter a valid value." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:102 -#: venv/lib/python3.8/site-packages/django/forms/fields.py:657 -msgid "Enter a valid URL." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:154 -msgid "Enter a valid integer." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:165 -msgid "Enter a valid email address." -msgstr "" - -#. Translators: "letters" means latin letters: a-z and A-Z. -#: venv/lib/python3.8/site-packages/django/core/validators.py:239 -msgid "" -"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:246 -msgid "" -"Enter a valid 'slug' consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:255 -#: venv/lib/python3.8/site-packages/django/core/validators.py:275 -msgid "Enter a valid IPv4 address." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:260 -#: venv/lib/python3.8/site-packages/django/core/validators.py:276 -msgid "Enter a valid IPv6 address." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:270 -#: venv/lib/python3.8/site-packages/django/core/validators.py:274 -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:304 -msgid "Enter only digits separated by commas." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:310 -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:341 -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:350 -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:360 -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:375 -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:394 -#: venv/lib/python3.8/site-packages/django/forms/fields.py:289 -#: venv/lib/python3.8/site-packages/django/forms/fields.py:324 -#, fuzzy -#| msgid "Phone number" -msgid "Enter a number." -msgstr "Puhelinnumero" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:396 -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:401 -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:406 -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:468 -#, python-format -msgid "" -"File extension '%(extension)s' is not allowed. Allowed extensions are: " -"'%(allowed_extensions)s'." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/core/validators.py:520 -msgid "Null characters are not allowed." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/base.py:1111 -#: venv/lib/python3.8/site-packages/django/forms/models.py:752 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:19 -msgid "and" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/base.py:1113 -#, fuzzy, python-format -#| msgid "Custom role with the same name already exists." -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "Samanniminen virka on jo olemassa." - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:105 -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:106 -msgid "This field cannot be null." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:107 -msgid "This field cannot be blank." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:108 -#, fuzzy, python-format -#| msgid "Custom role with the same name already exists." -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Samanniminen virka on jo olemassa." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:112 -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:129 -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:898 -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1766 -msgid "Integer" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:902 -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1764 -#, python-format -msgid "'%(value)s' value must be an integer." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:977 -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1833 -msgid "Big (8 byte) integer" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:989 -#, python-format -msgid "'%(value)s' value must be either True or False." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:990 -#, python-format -msgid "'%(value)s' value must be either True, False, or None." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:992 -msgid "Boolean (Either True or False)" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1034 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1098 -msgid "Comma-separated integers" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1147 -#, python-format -msgid "" -"'%(value)s' value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1149 -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1292 -#, python-format -msgid "" -"'%(value)s' value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1152 -msgid "Date (without time)" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1290 -#, python-format -msgid "" -"'%(value)s' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1294 -#, python-format -msgid "" -"'%(value)s' value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1298 -msgid "Date (with time)" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1446 -#, python-format -msgid "'%(value)s' value must be a decimal number." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1448 -#, fuzzy -#| msgid "Phone number" -msgid "Decimal number" -msgstr "Puhelinnumero" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1587 -#, python-format -msgid "" -"'%(value)s' value has an invalid format. It must be in [DD] [HH:[MM:]]ss[." -"uuuuuu] format." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1640 -#: webapp/models.py:252 -msgid "Email address" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1663 -msgid "File path" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1729 -#, python-format -msgid "'%(value)s' value must be a float." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1731 -#, fuzzy -#| msgid "Invalid phone number" -msgid "Floating point number" -msgstr "Virheellinen puhelinnumero" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1849 -msgid "IPv4 address" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1880 -msgid "IP address" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1960 -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1961 -#, python-format -msgid "'%(value)s' value must be either None, True or False." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1963 -msgid "Boolean (Either True, False or None)" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:1998 -msgid "Positive integer" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2011 -msgid "Positive small integer" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2025 -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2057 -msgid "Small integer" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2092 -#, python-format -msgid "" -"'%(value)s' value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2094 -#, python-format -msgid "" -"'%(value)s' value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2097 -#, fuzzy -#| msgid "Timestamp" -msgid "Time" -msgstr "Aikaleima" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2223 -msgid "URL" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2245 -msgid "Raw binary data" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/__init__.py:2295 -#, python-format -msgid "'%(value)s' is not a valid UUID." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/files.py:221 -msgid "File" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/related.py:778 -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/related.py:780 -msgid "Foreign Key (type determined by related field)" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/related.py:1001 -msgid "One-to-one relationship" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/related.py:1051 -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/related.py:1052 -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/db/models/fields/related.py:1094 -msgid "Many-to-many relationship" -msgstr "" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the label -#: venv/lib/python3.8/site-packages/django/forms/boundfield.py:146 -msgid ":?.!" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:52 -#, fuzzy -#| msgid "This site is not yet ready." -msgid "This field is required." -msgstr "Nämä sivut eivät ole vielä valmiit." - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:244 -#, fuzzy -#| msgid "Invalid phone number" -msgid "Enter a whole number." -msgstr "Virheellinen puhelinnumero" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:395 -#: venv/lib/python3.8/site-packages/django/forms/fields.py:1126 -msgid "Enter a valid date." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:419 -#: venv/lib/python3.8/site-packages/django/forms/fields.py:1127 -msgid "Enter a valid time." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:441 -msgid "Enter a valid date/time." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:470 -msgid "Enter a valid duration." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:471 -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:531 -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:532 -msgid "No file was submitted." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:533 -msgid "The submitted file is empty." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:535 -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:538 -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:599 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:761 -#: venv/lib/python3.8/site-packages/django/forms/fields.py:851 -#: venv/lib/python3.8/site-packages/django/forms/models.py:1272 -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:852 -#: venv/lib/python3.8/site-packages/django/forms/fields.py:967 -#: venv/lib/python3.8/site-packages/django/forms/models.py:1271 -msgid "Enter a list of values." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:968 -msgid "Enter a complete value." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/fields.py:1185 -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -#: venv/lib/python3.8/site-packages/django/forms/forms.py:86 -msgid ":" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/forms.py:212 -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/formsets.py:91 -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/formsets.py:338 -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/forms/formsets.py:345 -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/forms/formsets.py:371 -#: venv/lib/python3.8/site-packages/django/forms/formsets.py:373 -msgid "Order" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/models.py:747 -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/models.py:751 -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/models.py:757 -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/models.py:766 -msgid "Please correct the duplicate values below." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/models.py:1093 -msgid "The inline value did not match the parent instance." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/models.py:1160 -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/models.py:1274 -#, python-format -msgid "\"%(pk)s\" is not a valid value." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/utils.py:162 -#, python-format -msgid "" -"%(datetime)s couldn't be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/widgets.py:383 -msgid "Clear" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/widgets.py:384 -msgid "Currently" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/widgets.py:385 -#: venv/lib/python3.8/site-packages/suit/templates/admin/edit_inline/tabular.html:17 -#: venv/lib/python3.8/site-packages/suit/templates/admin/edit_inline/tabular.html:67 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:24 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:85 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:27 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:43 -#: venv/lib/python3.8/site-packages/suit/templates/admin/index.html:26 -msgid "Change" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/widgets.py:699 -msgid "Unknown" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/widgets.py:700 -#: webapp/models.py:211 -msgid "Yes" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/forms/widgets.py:701 -#: webapp/models.py:211 -msgid "No" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:788 -msgid "yes,no,maybe" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:817 -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:834 -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:836 -#, python-format -msgid "%s KB" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:838 -#, python-format -msgid "%s MB" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:840 -#, python-format -msgid "%s GB" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:842 -#, python-format -msgid "%s TB" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/template/defaultfilters.py:844 -#, python-format -msgid "%s PB" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dateformat.py:62 -msgid "p.m." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dateformat.py:63 -msgid "a.m." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dateformat.py:68 -msgid "PM" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dateformat.py:69 -msgid "AM" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dateformat.py:150 -msgid "midnight" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dateformat.py:152 -msgid "noon" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:6 -msgid "Monday" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:6 -msgid "Tuesday" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:6 -msgid "Wednesday" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:6 -msgid "Thursday" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:6 -msgid "Friday" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:7 -msgid "Saturday" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:7 -msgid "Sunday" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:10 -msgid "Mon" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:10 -msgid "Tue" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:10 -msgid "Wed" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:10 -msgid "Thu" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:10 -msgid "Fri" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:11 -msgid "Sat" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:11 -msgid "Sun" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:14 -msgid "January" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:14 -msgid "February" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:14 -#, fuzzy -#| msgid "Search" -msgid "March" -msgstr "Hae" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:14 -msgid "April" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:14 -msgid "May" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:14 -msgid "June" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:15 -msgid "July" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:15 -msgid "August" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:15 -#, fuzzy -#| msgid "Member" -msgid "September" -msgstr "Jäsen" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:15 -msgid "October" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:15 -#, fuzzy -#| msgid "Member" -msgid "November" -msgstr "Jäsen" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:16 -#, fuzzy -#| msgid "Member" -msgid "December" -msgstr "Jäsen" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:19 -msgid "jan" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:19 -msgid "feb" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:19 -msgid "mar" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:19 -msgid "apr" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:19 -msgid "may" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:19 -msgid "jun" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:20 -msgid "jul" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:20 -#, fuzzy -#| msgid "Tag" -msgid "aug" -msgstr "Tunniste" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:20 -msgid "sep" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:20 -#, fuzzy -#| msgid "Contact" -msgid "oct" -msgstr "Yhteystiedot" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:20 -msgid "nov" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:20 -msgid "dec" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:23 -msgctxt "abbrev. month" -msgid "Jan." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:24 -msgctxt "abbrev. month" -msgid "Feb." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:25 -#, fuzzy -#| msgid "Search" -msgctxt "abbrev. month" -msgid "March" -msgstr "Hae" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:26 -msgctxt "abbrev. month" -msgid "April" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:27 -msgctxt "abbrev. month" -msgid "May" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:28 -msgctxt "abbrev. month" -msgid "June" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:29 -msgctxt "abbrev. month" -msgid "July" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:30 -msgctxt "abbrev. month" -msgid "Aug." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:31 -msgctxt "abbrev. month" -msgid "Sept." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:32 -msgctxt "abbrev. month" -msgid "Oct." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:33 -msgctxt "abbrev. month" -msgid "Nov." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:34 -msgctxt "abbrev. month" -msgid "Dec." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:37 -msgctxt "alt. month" -msgid "January" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:38 -msgctxt "alt. month" -msgid "February" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:39 -#, fuzzy -#| msgid "Search" -msgctxt "alt. month" -msgid "March" -msgstr "Hae" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:40 -msgctxt "alt. month" -msgid "April" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:41 -msgctxt "alt. month" -msgid "May" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:42 -msgctxt "alt. month" -msgid "June" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:43 -msgctxt "alt. month" -msgid "July" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:44 -msgctxt "alt. month" -msgid "August" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:45 -#, fuzzy -#| msgid "Member" -msgctxt "alt. month" -msgid "September" -msgstr "Jäsen" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:46 -msgctxt "alt. month" -msgid "October" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:47 -#, fuzzy -#| msgid "Member" -msgctxt "alt. month" -msgid "November" -msgstr "Jäsen" - -#: venv/lib/python3.8/site-packages/django/utils/dates.py:48 -#, fuzzy -#| msgid "Member" -msgctxt "alt. month" -msgid "December" -msgstr "Jäsen" - -#: venv/lib/python3.8/site-packages/django/utils/ipv6.py:8 -msgid "This is not a valid IPv6 address." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/text.py:70 -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s..." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/text.py:237 -msgid "or" -msgstr "" - -#. Translators: This string is used as a separator between list elements -#: venv/lib/python3.8/site-packages/django/utils/text.py:256 -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:83 -msgid ", " -msgstr "" - -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:9 -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:10 -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:11 -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:12 -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:13 -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:14 -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/django/utils/timesince.py:72 -msgid "0 minutes" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/csrf.py:110 -msgid "Forbidden" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/csrf.py:111 -msgid "CSRF verification failed. Request aborted." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/csrf.py:115 -msgid "" -"You are seeing this message because this HTTPS site requires a 'Referer " -"header' to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/csrf.py:120 -msgid "" -"If you have configured your browser to disable 'Referer' headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for 'same-" -"origin' requests." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/csrf.py:124 -msgid "" -"If you are using the tag or " -"including the 'Referrer-Policy: no-referrer' header, please remove them. The " -"CSRF protection requires the 'Referer' header to do strict referer checking. " -"If you're concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/csrf.py:132 -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/csrf.py:137 -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for 'same-origin' requests." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/csrf.py:142 -msgid "More information is available with DEBUG=True." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:41 -#, fuzzy -#| msgid "No member id specified" -msgid "No year specified" -msgstr "Jäsenen ID ei määritelty" - -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:61 -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:111 -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:208 -msgid "Date out of range" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:90 -#, fuzzy -#| msgid "No payment id specified" -msgid "No month specified" -msgstr "Maksutapahtuman ID ei määritelty" - -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:142 -#, fuzzy -#| msgid "No payment id specified" -msgid "No day specified" -msgstr "Maksutapahtuman ID ei määritelty" - -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:188 -#, fuzzy -#| msgid "No member id specified" -msgid "No week specified" -msgstr "Jäsenen ID ei määritelty" - -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:338 -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:367 -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:585 -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/generic/dates.py:619 -#, python-format -msgid "Invalid date string '%(datestr)s' given format '%(format)s'" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/generic/detail.py:54 -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/generic/list.py:67 -msgid "Page is not 'last', nor can it be converted to an int." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/generic/list.py:72 -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/generic/list.py:154 -#, python-format -msgid "Empty list and '%(class_name)s.allow_empty' is False." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/static.py:40 -msgid "Directory indexes are not allowed here." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/static.py:42 -#, python-format -msgid "\"%(path)s\" does not exist" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/static.py:80 -#, python-format -msgid "Index of %(directory)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:6 -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:345 -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:367 -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:368 -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:383 -#, fuzzy -#| msgid "Manage Rotations" -msgid "Django Documentation" -msgstr "Hallinnoi Rotaatioita" - -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:384 -msgid "Topics, references, & how-to's" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:395 -msgid "Tutorial: A Polling App" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:396 -msgid "Get started with Django" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:407 -msgid "Django Community" -msgstr "" - -#: venv/lib/python3.8/site-packages/django/views/templates/default_urlconf.html:408 -msgid "Connect, get help, or contribute" -msgstr "" - -#: venv/lib/python3.8/site-packages/jsonfield/fields.py:22 -#, python-format -msgid "'%s' is not a valid JSON string." -msgstr "" - -#: venv/lib/python3.8/site-packages/modeltranslation/widgets.py:25 -msgid "None" -msgstr "" - -#: venv/lib/python3.8/site-packages/nocaptcha_recaptcha/fields.py:21 -msgid "Incorrect, please try again." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/403.html:4 -msgid "forbidden" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/403.html:6 -#: venv/lib/python3.8/site-packages/suit/templates/404.html:6 -#: venv/lib/python3.8/site-packages/suit/templates/500.html:6 -#: venv/lib/python3.8/site-packages/suit/templates/suit/error_base.html:76 -#, fuzzy -#| msgid "Error" -msgid "error" -msgstr "Virhe" - -#: venv/lib/python3.8/site-packages/suit/templates/403.html:9 -msgid "We're sorry, but the requested action is forbidden" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/404.html:4 -msgid "Page not found" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/404.html:9 -msgid "We're sorry, but the requested page could not be found." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/500.html:4 -msgid "Server Error" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/500.html:9 -msgid "" -"There's been an error. It's been reported to the site administrators via e-" -"mail and should be fixed shortly. Thanks for your patience." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/actions.html:14 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/actions.html:5 -msgid "Run the selected action" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/actions.html:22 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/actions.html:14 -msgid "Click here to select the objects across all pages" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/actions.html:23 -#, python-format -msgid "" -"Select all %(total_count)s\n" -" %(module_name)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/actions.html:26 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/actions.html:16 -msgid "Clear selection" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/app_index.html:8 -#: venv/lib/python3.8/site-packages/suit/templates/admin/auth/user/change_password.html:19 -#: venv/lib/python3.8/site-packages/suit/templates/admin/base.html:102 -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_form.html:61 -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list.html:42 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:46 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_list.html:8 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/plugin_change_form.html:82 -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_confirmation.html:7 -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_selected_confirmation.html:7 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/breadcrumbs.html:5 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:8 -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/base.html:10 -#: venv/lib/python3.8/site-packages/suit/templates/admin/object_history.html:7 -#: venv/lib/python3.8/site-packages/suit/templates/registration/logged_out.html:6 -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:26 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/recover_form.html:8 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/recover_list.html:8 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/revision_form.html:8 -#: venv/lib/python3.8/site-packages/suit/templates/suit/menu.html:10 -msgid "Home" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/app_index.html:11 -#, python-format -msgid "%(name)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/auth/user/add_form.html:6 -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/auth/user/add_form.html:8 -msgid "Enter a username and password." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/auth/user/change_password.html:32 -#: venv/lib/python3.8/site-packages/suit/templates/admin/auth/user/change_password.html:75 -#: venv/lib/python3.8/site-packages/suit/templates/admin/base.html:80 -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:19 -#, fuzzy -#| msgid "Set new password" -msgid "Change password" -msgstr "Aseta uusi salasana" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/auth/user/change_password.html:45 -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_form.html:152 -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list.html:86 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:137 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/plugin_change_form.html:99 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/new_folder_form.html:10 -#: venv/lib/python3.8/site-packages/suit/templates/admin/login.html:27 -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:44 -msgid "Please correct the error below." -msgid_plural " Please correct the errors below." -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/auth/user/change_password.html:48 -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/auth/user/change_password.html:54 -#: venv/lib/python3.8/site-packages/suit/templates/admin/login.html:56 -msgid "Password" -msgstr "Salasana" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/auth/user/change_password.html:64 -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:77 -#, fuzzy -#| msgid "Password" -msgid "Password (again)" -msgstr "Salasana" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/auth/user/change_password.html:68 -msgid "Enter the same password as above, for verification." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/base.html:68 -msgid "Welcome," -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/base.html:77 -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:15 -#, fuzzy -#| msgid "Rotation" -msgid "Documentation" -msgstr "Rotaatio" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_form.html:21 -msgid "You have unsaved changes" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_form.html:98 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/image/change_form.html:7 -#, fuzzy -#| msgid "Admin tools" -msgid "tools" -msgstr "Hallintatyökalut" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_form.html:108 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:105 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:33 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/image/change_form.html:10 -#: venv/lib/python3.8/site-packages/suit/templates/admin/object_history.html:15 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/revision_form.html:16 -msgid "History" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_form.html:112 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:104 -#: venv/lib/python3.8/site-packages/suit/templates/admin/edit_inline/stacked.html:14 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:37 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/image/change_form.html:15 -msgid "View on site" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_form.html:123 -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list.html:68 -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list.html:116 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:108 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_list.html:113 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_list.html:141 -#, fuzzy, python-format -#| msgid "Add payment" -msgid "Add %(name)s" -msgstr "Lisää maksu" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_form.html:152 -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list.html:86 -msgid "Please correct the errors below." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list.html:110 -msgid "Nothing found" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list.html:112 -msgid "Reset search and filters" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list.html:114 -#, python-format -msgid "%(name_plural)s are not created yet" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list_results.html:19 -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list_results.html:20 -msgid "Toggle sorting" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/change_list_results.html:22 -msgid "Remove from sorting" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:4 -msgid "Change a page" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:64 -#, fuzzy -#| msgid "Confirm adding these entries?" -msgid "Confirm delete" -msgstr "Vahvista muutokset?" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:65 -msgid "Remove delete request" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:68 -#, fuzzy -#| msgid "Confirm adding these entries?" -msgid "Confirm page deletion" -msgstr "Vahvista muutokset?" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:93 -#, fuzzy -#| msgid "Rotations" -msgid "actions" -msgstr "Rotaatiot" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:97 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_list.html:78 -msgid "Publish" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:97 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:98 -msgid "draft" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:100 -msgid "Revert to public" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:157 -#, fuzzy -#| msgid "All applications" -msgid "All permissions" -msgstr "Kaikki kaehmyt" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:158 -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:169 -msgid "Loading..." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_form.html:168 -msgid "Page states" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_list.html:3 -#, fuzzy -#| msgid "List payments" -msgid "List of pages" -msgstr "Maksulistaus" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_list.html:69 -#, fuzzy -#| msgid "Successfully added member" -msgid "Successfully moved" -msgstr "Onnistuneesti lisättiin jäsen" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_list.html:87 -msgid "An error occured. Please reload the page" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_list.html:110 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/change_list.html:8 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/recover_form.html:14 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/recover_list.html:14 -#, python-format -msgid "Recover deleted %(name)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/change_list.html:125 -msgid "Pages on:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/cms/page/plugin_change_form.html:129 -msgid "Cancel" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_confirmation.html:26 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/delete_confirmation.html:12 -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_confirmation.html:36 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/delete_confirmation.html:21 -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_confirmation.html:51 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/delete_confirmation.html:31 -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_selected_confirmation.html:15 -msgid "Delete multiple objects" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_selected_confirmation.html:23 -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_selected_confirmation.html:33 -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_selected_confirmation.html:51 -msgid "Confirm deletion" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/delete_selected_confirmation.html:54 -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/edit_inline/stacked.html:72 -#: venv/lib/python3.8/site-packages/suit/templates/admin/edit_inline/tabular.html:127 -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/edit_inline/stacked.html:75 -#: venv/lib/python3.8/site-packages/suit/templates/admin/edit_inline/tabular.html:130 -msgid "Remove" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/edit_inline/tabular.html:18 -#, fuzzy -#| msgid "Delete" -msgid "Delete?" -msgstr "Poista" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/actions.html:14 -#, python-format -msgid "Select all %(total_count)s files and/or folders" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/breadcrumbs.html:5 -msgid "Go back to admin homepage" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/breadcrumbs.html:8 -msgid "Go back to Filer app" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/breadcrumbs.html:8 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:12 -msgid "Filer" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/breadcrumbs.html:12 -msgid "Go back to root folder" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/breadcrumbs.html:12 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:15 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:79 -msgid "root" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/breadcrumbs.html:17 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/breadcrumbs.html:23 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:19 -#, python-format -msgid "Go back to '%(folder_name)s' folder" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/change_form.html:30 -#, fuzzy -#| msgid "Applications" -msgid "duplicates" -msgstr "Jäsenhakemukset" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/delete_selected_files_confirmation.html:11 -msgid "" -"Deleting the selected files and/or folders would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/delete_selected_files_confirmation.html:20 -msgid "" -"Deleting the selected files and/or folders would require deleting the " -"following protected related objects:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/delete_selected_files_confirmation.html:30 -msgid "" -"

Are you sure you want to delete the selected files and/or folders? All of " -"the following objects and their related items will be deleted:

" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:8 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:12 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:15 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:79 -msgid "Go back to" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:8 -msgid "admin homepage" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:15 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:79 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/new_folder_form.html:4 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/clipboard/clipboard.html:15 -msgid "folder" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/change_form.html:50 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:80 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:90 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:23 -msgid "Folder Icon" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_copy_destination.html:12 -msgid "" -"Your account doesn't have permissions to copy all of the selected files and/" -"or folders." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_copy_destination.html:15 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_move_destination.html:15 -msgid "There are no destination folders available." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_copy_destination.html:18 -msgid "There are no files and/or folders available to copy." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_copy_destination.html:21 -msgid "" -"The following files and/or folders will be copied to a destination folder " -"(retaining their tree structure):" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_copy_destination.html:31 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_move_destination.html:32 -msgid "Destination folder:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_copy_destination.html:38 -msgid "Copy" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_images_resize_options.html:12 -msgid "" -"Your account doesn't have permissions to resize all of the selected images." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_images_resize_options.html:15 -msgid "There are no images available to resize." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_images_resize_options.html:18 -msgid "The following images will be resized:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_images_resize_options.html:29 -msgid "Choose an existing thumbnail option or enter resize parameters:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_images_resize_options.html:32 -msgid "Choose resize parameters:" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_images_resize_options.html:35 -msgid "" -"Warning: Images will be resized in-place and originals will be lost. Maybe " -"first make a copy of them to retain the originals." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_images_resize_options.html:36 -msgid "Resize" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_move_destination.html:12 -msgid "" -"Your account doesn't have permissions to move all of the selected files and/" -"or folders." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_move_destination.html:18 -msgid "There are no files and/or folders available to move." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_move_destination.html:21 -msgid "" -"The following files and/or folders will be moved to a destination folder " -"(retaining their tree structure):" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_move_destination.html:38 -msgid "Move" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_rename_format.html:12 -msgid "" -"Your account doesn't have permissions to rename all of the selected files." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_rename_format.html:15 -msgid "There are no files available to rename." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_rename_format.html:18 -msgid "" -"The following files will be renamed (they will stay in their folders and " -"keep original filename, only displayed filename will be changed):" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/choose_rename_format.html:31 -#, fuzzy -#| msgid "Username" -msgid "Rename" -msgstr "Käyttäjänimi" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:70 -msgid "Adds a new Folder" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:70 -msgid "New Folder" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:71 -#, fuzzy -#| msgid "Upload file" -msgid "upload files" -msgstr "Lataa tiedosto" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:71 -#, fuzzy -#| msgid "Upload file" -msgid "Upload" -msgstr "Lataa tiedosto" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:79 -msgid "Go back to the parent folder" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:81 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:30 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:19 -#, python-format -msgid "1 folder" -msgid_plural "%(counter)s folders" -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:81 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:30 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:20 -#, python-format -msgid "1 file" -msgid_plural "%(counter)s files" -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_listing.html:85 -msgid "Change current folder details" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:23 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:27 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:29 -#, python-format -msgid "Change '%(item_label)s' folder details" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:30 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:45 -msgid "Owner" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:37 -msgid "Select this file" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:39 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:43 -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:44 -#, python-format -msgid "Change '%(item_label)s' details" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:42 -#, python-format -msgid "Delete '%(item_label)s'" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:45 -msgid "Permissions" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:45 -msgid "disabled" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:45 -msgid "enabled" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:49 -msgid "Move to clipboard" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:57 -msgid "there are no files or subfolders" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:64 -msgid "previous" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:68 -#, python-format -msgid "" -"\n" -" Page %(number)s of %(num_pages)s\n" -" " -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/directory_table.html:74 -msgid "next" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/folder/new_folder_form.html:4 -msgid "Add new" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/image/change_form.html:31 -msgid "Full size preview" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/clipboard/clipboard.html:4 -msgid "Clipboard" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/clipboard/clipboard.html:15 -msgid "discard" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/clipboard/clipboard.html:15 -msgid "Move all clipboard files to" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/clipboard/clipboard.html:15 -msgid "unfiled files" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/clipboard/clipboard.html:24 -msgid "Paste all items here" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/clipboard/clipboard.html:63 -msgid "the clipboard is empty" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/clipboard/clipboard_item_rows.html:10 -#, fuzzy -#| msgid "Upload file" -msgid "upload failed" -msgstr "Lataa tiedosto" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:11 -msgid "Enter your search phrase here" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:12 -msgid "Click here to" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:12 -msgid "run search for entered phrase" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:15 -msgid "Check it to" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:15 -msgid "limit the search to current folder" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:19 -msgid "found" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/filer/tools/search_form.html:20 -msgid "cancel search" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/change_list_export.html:5 -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/change_list_import_export.html:6 -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/export.html:5 -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/export.html:12 -msgid "Export" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/change_list_import.html:5 -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/change_list_import_export.html:5 -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:6 -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:25 -msgid "Import" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:17 -msgid "This importer will import the following fields: " -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:34 -#, fuzzy -#| msgid "Error" -msgid "Errors" -msgstr "Virhe" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:42 -#, fuzzy -#| msgid "Phone number" -msgid "Line number" -msgstr "Puhelinnumero" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:65 -msgid "New" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:67 -msgid "Skipped" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:71 -msgid "Update" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/import_export/import.html:90 -msgid "Confirm import" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/index.html:19 -#, python-format -msgid "Models available in the %(name)s application." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/index.html:45 -msgid "You don't have permission to edit anything." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/index.html:54 -#, fuzzy -#| msgid "Applications" -msgid "My Actions" -msgstr "Jäsenhakemukset" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/index.html:59 -msgid "None available" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/index.html:68 -msgid "added" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/index.html:69 -msgid "changed" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/index.html:70 -#, fuzzy -#| msgid "Delete" -msgid "deleted" -msgstr "Poista" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/index.html:76 -msgid "Unknown content" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/login.html:64 -#, fuzzy -#| msgid "Forgot password?" -msgid "Forgotten your password or username?" -msgstr "Unohditko salasanasi?" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/login.html:68 -msgid "Log in" -msgstr "Kirjaudu sisään" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/object_history.html:27 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/object_history.html:15 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/recover_list.html:27 -#, fuzzy -#| msgid "Date" -msgid "Date/time" -msgstr "Päivämäärä" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/object_history.html:28 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/object_history.html:16 -#, fuzzy -#| msgid "Username" -msgid "User" -msgstr "Käyttäjänimi" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/object_history.html:29 -#, fuzzy -#| msgid "Applications" -msgid "Action" -msgstr "Jäsenhakemukset" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/object_history.html:43 -#: venv/lib/python3.8/site-packages/suit/templates/reversion/object_history.html:36 -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/page_submit_line.html:4 -#: venv/lib/python3.8/site-packages/suit/templates/admin/submit_line.html:4 -msgid "Save and continue editing" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/page_submit_line.html:5 -#: venv/lib/python3.8/site-packages/suit/templates/admin/submit_line.html:5 -msgid "Save as new" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/page_submit_line.html:6 -#: venv/lib/python3.8/site-packages/suit/templates/admin/submit_line.html:6 -msgid "Save and add another" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/page_submit_line.html:20 -#: venv/lib/python3.8/site-packages/suit/templates/admin/page_submit_line.html:22 -#, python-format -msgid "Delete %(language)s translation" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/pagination.html:26 -msgid "Show all" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/search_form.html:8 -msgid "keyword" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/search_form.html:29 -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "" -msgstr[1] "" - -#: venv/lib/python3.8/site-packages/suit/templates/admin/search_form.html:31 -#, python-format -msgid "%(full_result_count)s total" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/registration/logged_out.html:9 -msgid "Thanks for spending some quality time with the Web site today." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/registration/logged_out.html:12 -#, fuzzy -#| msgid "Log in" -msgid "Log in again" -msgstr "Kirjaudu sisään" - -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:28 -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:32 -#, fuzzy -#| msgid "Password" -msgid "Password change" -msgstr "Salasana" - -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:40 -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:55 -#, fuzzy -#| msgid "Password" -msgid "Old password" -msgstr "Salasana" - -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:66 -#, fuzzy -#| msgid "New password set" -msgid "New password" -msgstr "Uusi salasana asetettu" - -#: venv/lib/python3.8/site-packages/suit/templates/registration/password_change_form.html:88 -#, fuzzy -#| msgid "Set new password" -msgid "Change my password" -msgstr "Aseta uusi salasana" - -#: venv/lib/python3.8/site-packages/suit/templates/reversion/object_history.html:8 -msgid "" -"Choose a date from the list below to revert to a previous version of this " -"object." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/reversion/recover_form.html:25 -msgid "Press the save button below to recover this version of the object." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/reversion/recover_list.html:21 -msgid "" -"Choose a date from the list below to recover a deleted version of an object." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/reversion/recover_list.html:41 -msgid "There are no deleted objects to recover." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/reversion/revision_form.html:18 -#, python-format -msgid "Revert %(verbose_name)s" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/reversion/revision_form.html:27 -msgid "Press the save button below to revert to this version of the object." -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/suit/error_base.html:87 -msgid "Close window" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/suit/error_base.html:90 -msgid "Go back" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/templates/suit/error_base.html:93 -msgid "Go to admin home" -msgstr "" - -#: venv/lib/python3.8/site-packages/suit/widgets.py:116 -#, fuzzy -#| msgid "Date" -msgid "Date:" -msgstr "Päivämäärä" - -#: venv/lib/python3.8/site-packages/suit/widgets.py:133 -msgid "Time:" -msgstr "" - #: webapp/models.py:18 msgid "Webapp" msgstr "Nettisivut" -#: webapp/models.py:30 +#: webapp/models.py:26 msgid "Tag" msgstr "Tunniste" -#: webapp/models.py:31 +#: webapp/models.py:27 msgid "Tags" msgstr "Tunnisteet" @@ -3463,102 +1112,122 @@ msgstr "Tunnisteet" msgid "Tag: {}" msgstr "Tunniste: {}" -#: webapp/models.py:56 -msgid "Feed: {}" -msgstr "Uutinen: {}" - -#: webapp/models.py:59 +#: webapp/models.py:52 msgid "Feed" msgstr "Uutinen" -#: webapp/models.py:60 +#: webapp/models.py:53 msgid "Feeds" msgstr "Uutiset" -#: webapp/models.py:73 -msgid "Event: {}" -msgstr "Tapahtuma: {}" +#: webapp/models.py:60 +msgid "Feed: {}" +msgstr "Uutinen: {}" -#: webapp/models.py:76 +#: webapp/models.py:67 msgid "Event" msgstr "Tapahtuma" -#: webapp/models.py:86 -msgid "Template questions: {}" -msgstr "Vakiokysymykset: {}" +#: webapp/models.py:77 +msgid "Event: {}" +msgstr "Tapahtuma: {}" -#: webapp/models.py:89 +#: webapp/models.py:87 msgid "Template question" msgstr "Vakiokysymys" -#: webapp/models.py:90 +#: webapp/models.py:88 msgid "Template questions" msgstr "Vakiokysymykset" -#: webapp/models.py:105 -msgid "#{} {}" -msgstr "" +#: webapp/models.py:94 +msgid "Template questions: {}" +msgstr "Vakiokysymykset: {}" -#: webapp/models.py:117 +#: webapp/models.py:101 msgid "Signup form" msgstr "Ilmoittautumislomake" -#: webapp/models.py:118 +#: webapp/models.py:102 msgid "Signup forms" msgstr "Ilmoittautumislomakkeet" -#: webapp/models.py:136 +#: webapp/models.py:114 +msgid "#{} {}" +msgstr "" + +#: webapp/models.py:132 msgid "Sign-up" msgstr "Ilmoittautuminen" -#: webapp/models.py:137 +#: webapp/models.py:133 msgid "Sign-ups" msgstr "Ilmoittautumiset" -#: webapp/models.py:163 +#: webapp/models.py:171 msgid "board member" msgstr "hallituksen jäsen" -#: webapp/models.py:181 +#: webapp/models.py:186 msgid "Committee" msgstr "Toimikunta" -#: webapp/models.py:182 +#: webapp/models.py:187 msgid "Committees" msgstr "Toimikunnat" -#: webapp/models.py:185 +#: webapp/models.py:190 msgid "Committee: {}" msgstr "Toimikunta: {}" -#: webapp/models.py:205 +#: webapp/models.py:206 msgid "Role" msgstr "Rooli" -#: webapp/models.py:222 +#: webapp/models.py:212 +msgid "Yes" +msgstr "Kyllä" + +#: webapp/models.py:212 +msgid "No" +msgstr "Ei" + +#: webapp/models.py:223 msgid "Occupation" msgstr "Virka" -#: webapp/models.py:223 +#: webapp/models.py:224 msgid "Occupations" msgstr "Virat" -#: webapp/models.py:225 +#: webapp/models.py:226 msgid "Start date" msgstr "Alkupäivämäärä" -#: webapp/models.py:226 +#: webapp/models.py:227 msgid "End date" msgstr "Loppupäivämäärä" -#: webapp/models.py:245 +#: webapp/models.py:244 msgid "Official" msgstr "Toimihenkilö" -#: webapp/models.py:246 +#: webapp/models.py:245 msgid "Officials" msgstr "Toimihenkilöt" +#: webapp/models.py:251 +msgid "Email address" +msgstr "Sähköposti" + +#: webapp/models.py:277 +msgid "JobAd" +msgstr "Työpaikkailmoitus" + +#: webapp/models.py:278 +msgid "JobAds" +msgstr "Työpaikkailmoitukset" + #: webapp/templates/contact.html:9 webapp/templates/navigation.html:20 msgid "Contact" msgstr "Yhteystiedot" @@ -3602,114 +1271,3 @@ msgstr "Sössö" #: webapp/templates/navigation.html:24 msgid "Corporate" msgstr "Yritys" - -#: webapp/templates/signup_email.html:4 -msgid "Ilmottautuminen saapui perille" -msgstr "" - -#: webapp/templates/signup_email.html:6 -msgid "" -"Voit muokata ilmoittautumistasi lomakkeen olleessa avoinna alla olevasta " -"linkistä:" -msgstr "" - -#: webapp/templates/signup_email.html:10 -msgid "Hädässä ota yhteyttä sik-vtmk@list.ayy.fi" -msgstr "" - -#~ msgid "Kiltailta" -#~ msgstr "Kiltailta" - -#~ msgid "" -#~ "Hallitustyrkkypaneeli (haku hallitukseen olisi hyvä tehdä ennen tätä!)" -#~ msgstr "" -#~ "Hallitustyrkkypaneeli (haku hallitukseen olisi hyvä tehdä ennen tätä!)" - -#, fuzzy -#~| msgid "Haku toimariksi olisi hyvä tehdä ennen tätä!" -#~ msgid "" -#~ "Infoilta toimarihakijoille (haku toimariksi olisi hyvä tehdä ennen tätä)" -#~ msgstr "Haku toimariksi olisi hyvä tehdä ennen tätä!" - -#~ msgid "Sign-ups: {}" -#~ msgstr "Ilmoittautumiset: {}" - -#~ msgid "HSL timetables" -#~ msgstr "HSL-aikataulut" - -#~ msgid "Culture" -#~ msgstr "Kulttuuri" - -#~ msgid "" -#~ "Your password has successfully been reset. You can use it right now on " -#~ "the login page." -#~ msgstr "" -#~ "Salasanasi on asetettu onnistuneesti. Voit käyttää sitä nyt " -#~ "kirjautuessasi." - -#~ msgid "Password recovery" -#~ msgstr "Salasanan palautus" - -#~ msgid "" -#~ "Sorry, this password reset link is invalid. You can still request a new one." -#~ msgstr "" -#~ "Pahoittelut, tämä salasanan palautuslinkki on epäkelpo. Voit kuitenkin hankkia uuden." - -#~ msgid "Hi, %(username)s. Please choose your new password." -#~ msgstr "Hei, %(username)s. Valitse uusi salasanasi." - -#~ msgid "Password recovery sent" -#~ msgstr "Salasanan palautusviesti lähetetty" - -#~ msgid "" -#~ "An email was sent to %(email)s %(ago)s ago. Use the link " -#~ "in it to set a new password." -#~ msgstr "" -#~ "Sähköposti on lähetetty osoitteeseen %(email)s %(ago)s:a " -#~ "sitten. Käytä linkkiä asettaaksesi uuden salasanan." - -#~ msgid "Registration: {}" -#~ msgstr "Registration: {}" - -#~ msgid "Registration" -#~ msgstr "Ilmoittautuminen" - -#~ msgid "Registrations" -#~ msgstr "Ilmoittautumiset" - -#~ msgid "Challenger email" -#~ msgstr "Haastajan sähköpostiosoite" - -#~ msgid "SIK Admin" -#~ msgstr "SIK Hallintapaneeli" - -#~ msgid "Team" -#~ msgstr "Joukkue" - -#~ msgid "" -#~ "\n" -#~ " first_name, last_name, email_address and place_of_origin " -#~ "should be given string values.\n" -#~ " ayy_member and jas_recipient should be given the value 0 " -#~ "(off) or 1 (on).\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " first_name, last_name, email_address ja place_of_origin ovat " -#~ "merkkijonoja.\n" -#~ " ayy_member ja jas_recipient ovat joko 0 (off) tai 1 (on).\n" -#~ " " - -#~ msgid "Syntax" -#~ msgstr "Syntaksi" - -#~ msgid "Data" -#~ msgstr "Data" - -#~ msgid "Missing \"textfield\" POST request field" -#~ msgstr "Puuttuva \"textfield\" POST-kenttä" - -#~ msgid "Applied for board" -#~ msgstr "Hakenut hallitukseen" diff --git a/webapp/admin.py b/webapp/admin.py index a9927b4..8d62a41 100644 --- a/webapp/admin.py +++ b/webapp/admin.py @@ -1,7 +1,7 @@ """File containing webapp app admin registers.""" from django.contrib import admin -from webapp.models import Official, Role, Committee, Occupation +from webapp.models import JobAd, Official, Role, Committee, Occupation from webapp.models import Feed, Tag, Event, Signup, SignupForm, TemplateQuestion from modeltranslation.admin import TranslationAdmin from django.contrib.auth.models import Permission @@ -19,4 +19,5 @@ admin.site.register(TemplateQuestion, TranslationAdmin) admin.site.register(Committee, TranslationAdmin) admin.site.register(Official) admin.site.register(Occupation) -admin.site.register(Role) +admin.site.register(Role, TranslationAdmin) +admin.site.register(JobAd, TranslationAdmin) diff --git a/webapp/migrations/0072_jobad.py b/webapp/migrations/0072_jobad.py new file mode 100644 index 0000000..6502798 --- /dev/null +++ b/webapp/migrations/0072_jobad.py @@ -0,0 +1,38 @@ +# Generated by Django 2.1.5 on 2020-11-03 15:38 + +from django.db import migrations, models +import django.utils.timezone +import webapp.utils + + +class Migration(migrations.Migration): + + dependencies = [ + ('webapp', '0071_auto_20201006_1749'), + ] + + operations = [ + migrations.CreateModel( + name='JobAd', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=255)), + ('title_fi', models.CharField(max_length=255, null=True)), + ('title_en', models.CharField(max_length=255, null=True)), + ('description', models.CharField(max_length=255)), + ('description_fi', models.CharField(max_length=255, null=True)), + ('description_en', models.CharField(max_length=255, null=True)), + ('content', models.TextField()), + ('content_fi', models.TextField(null=True)), + ('content_en', models.TextField(null=True)), + ('visible', models.BooleanField(default=True)), + ('created_at', models.DateTimeField(default=django.utils.timezone.now)), + ('autohide_at', models.DateTimeField(default=webapp.utils.month_from_now)), + ('autohide_enabled', models.BooleanField(default=False)), + ], + options={ + 'verbose_name': 'JobAd', + 'verbose_name_plural': 'JobAds', + }, + ), + ] diff --git a/webapp/models.py b/webapp/models.py index faf9541..078c613 100644 --- a/webapp/models.py +++ b/webapp/models.py @@ -22,14 +22,14 @@ EMAIL_REGEX = r"(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)" class Tag(models.Model): """Model for tag.""" - slug = models.SlugField(unique=True) - name = models.CharField(max_length=127) - icon = models.ImageField() - class Meta: verbose_name = _('Tag') verbose_name_plural = _('Tags') + slug = models.SlugField(unique=True) + name = models.CharField(max_length=127) + icon = models.ImageField() + def __str__(self): return _('Tag: {}').format(self.slug) @@ -48,6 +48,10 @@ class BaseFeed(models.Model): class Feed(BaseFeed): """Model representing feed.""" + class Meta: + verbose_name = _('Feed') + verbose_name_plural = _('Feeds') + publish_time = models.DateTimeField(default=timezone.now) autohide = models.DateTimeField(default=month_from_now) autohide_enabled = models.BooleanField(default=False) @@ -55,13 +59,13 @@ class Feed(BaseFeed): def __str__(self): return _('Feed: {}').format(self.title) - class Meta: - verbose_name = _('Feed') - verbose_name_plural = _('Feeds') - class Event(BaseFeed): - """Model for event.""" + """Model for event in guild calendar""" + + class Meta: + verbose_name = _('Event') + verbose_name_plural = _('Events') start_time = models.DateTimeField(default=timezone.now) end_time = models.DateTimeField(default=timezone.now) @@ -72,26 +76,30 @@ class Event(BaseFeed): def __str__(self): return _('Event: {}').format(self.title) - class Meta: - verbose_name = _('Event') - verbose_name_plural = _('Events') - class TemplateQuestion(models.Model): - """Stores template questions for signup forms as JSONB""" + """ + NOT IMPLEMENTED!!! + Stores template questions for signup forms as JSON format. Used in signup form creation + """ + + class Meta: + verbose_name = _('Template question') + verbose_name_plural = _('Template questions') + name = models.CharField(max_length=255) question = JSONField() def __str__(self): return _('Template questions: {}').format(self.name) - class Meta: - verbose_name = _('Template question') - verbose_name_plural = _('Template questions') - class SignupForm(models.Model): - """Model for event signup form. Stores questions in JSONB.""" + """Model for event signup form. Stores questions in JSON format.""" + + class Meta: + verbose_name = _('Signup form') + verbose_name_plural = _('Signup forms') title = models.CharField(max_length=255) start_time = models.DateTimeField(default=timezone.now) @@ -114,12 +122,15 @@ class SignupForm(models.Model): now = timezone.now() return self.start_time <= now and now < self.end_time - class Meta: - verbose_name = _('Signup form') - verbose_name_plural = _('Signup forms') - class Signup(models.Model): + """ + In + """ + + class Meta: + verbose_name = _('Sign-up') + verbose_name_plural = _('Sign-ups') signupForm = models.ForeignKey('SignupForm', on_delete=models.CASCADE) time = models.DateTimeField(default=timezone.now) answer = JSONField() @@ -133,10 +144,6 @@ class Signup(models.Model): def __str__(self): return f"{self.signupForm}: {self.list_name} ({self.pk})" - class Meta: - verbose_name = _('Sign-up') - verbose_name_plural = _('Sign-ups') - @receiver(post_save, sender=Signup) def email_on_signup(sender, instance, created, **kwargs): @@ -166,7 +173,6 @@ class BaseRole(models.Model): class PresetRole(BaseRole): """Model representing a preset occupation in the guild.""" - description = models.TextField(_('Description')) @@ -177,8 +183,6 @@ class Committee(models.Model): """ class Meta: - """Meta class for Committee class.""" - verbose_name = _('Committee') verbose_name_plural = _('Committees') @@ -194,15 +198,11 @@ class Committee(models.Model): class Role(PresetRole): """ - Model for Role. - Model representing an active or historical occupation in the guild. """ class Meta: - """Meta class for Role model.""" - verbose_name = _('Role') verbose_name_plural = _('Roles') @@ -241,8 +241,6 @@ class Official(models.Model): """Model representing a guild official.""" class Meta: - """Meta class for Official class.""" - verbose_name = _('Official') verbose_name_plural = _('Officials') @@ -272,10 +270,30 @@ def save_user_official(sender, instance, **kwargs): instance.user.save() +class JobAd(models.Model): + """Job advertisements shown on Corporate relations page""" + + class Meta: + verbose_name = _('JobAd') + verbose_name_plural = _('JobAds') + + title = models.CharField(max_length=255) + description = models.CharField(max_length=255) + content = models.TextField() + visible = models.BooleanField(default=True) + created_at = models.DateTimeField(default=timezone.now) + autohide_at = models.DateTimeField(default=month_from_now) + autohide_enabled = models.BooleanField(default=False) + + auditlog.register(Tag) auditlog.register(Feed) auditlog.register(Event) +auditlog.register(SignupForm) auditlog.register(Signup) auditlog.register(PresetRole) auditlog.register(Role) +auditlog.register(Committee) +auditlog.register(Occupation) auditlog.register(Official) +auditlog.register(JobAd) diff --git a/webapp/serializers.py b/webapp/serializers.py index 0236cfd..85fefef 100644 --- a/webapp/serializers.py +++ b/webapp/serializers.py @@ -169,3 +169,9 @@ class OccupationSerializer(serializers.ModelSerializer): class Meta: model = Occupation fields = ('role', 'start_date', 'end_date', 'officials') + + +class JobAdSerializer(serializers.ModelSerializer): + class Meta: + model = JobAd + fields = ('title_fi', 'title_en', 'description_fi', 'description_en', 'content_fi', 'content_en', 'visible', 'autohide_at', 'autohide_enabled') diff --git a/webapp/tests/test_feed.py b/webapp/tests/test_feed.py index 8b02a5f..a7d85ff 100644 --- a/webapp/tests/test_feed.py +++ b/webapp/tests/test_feed.py @@ -1,6 +1,6 @@ from django.contrib.auth.models import User from rest_framework import status -from rest_framework.test import APITestCase, APIRequestFactory +from rest_framework.test import APITestCase from webapp.models import Feed from webapp.serializers import FeedSerializer @@ -27,11 +27,7 @@ class FeedTestCase(APITestCase): self.assertTrue(status.is_success(response.status_code)) feeds = Feed.objects.all() - serializer = FeedSerializer( - feeds, many=True, - context={ - "request": APIRequestFactory().get(r"http://testserver/api/events/") - }) + serializer = FeedSerializer(feeds, many=True) self.assertEqual(response.data["results"], serializer.data) def test_post_feed(self): @@ -50,13 +46,13 @@ class FeedTestCase(APITestCase): } # Try post without authentication response = self.client.post("/api/feed/", data, format="json") - self.assertTrue(response.status_code, status.HTTP_401_UNAUTHORIZED) + self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED) self.assertEqual(Feed.objects.count(), 1) # Authenticate self.client.force_authenticate(user=self.authClient) response = self.client.post("/api/feed/", data, format="json") # Return success and check object was created - self.assertTrue(response.status_code, status.HTTP_201_CREATED) + self.assertEqual(response.status_code, status.HTTP_201_CREATED) self.assertEqual(Feed.objects.count(), 2) created = Feed.objects.get(title_fi="testtitle") diff --git a/webapp/tests/test_jobads.py b/webapp/tests/test_jobads.py new file mode 100644 index 0000000..457c700 --- /dev/null +++ b/webapp/tests/test_jobads.py @@ -0,0 +1,54 @@ +from django.contrib.auth.models import User +from rest_framework import status +from rest_framework.test import APITestCase, APIRequestFactory + +from webapp.models import JobAd +from webapp.serializers import JobAdSerializer + +API = "/api/jobads/" + + +class JobAdTestCase(APITestCase): + + def setUp(self): + self.prefilled_jobad = JobAd.objects.create( + title_fi="ABB Test", + title_en="ABB Test", + visible=True, + description_fi="desc", + description_en="desc", + content_fi="lorem", + content_en="lorem" + ) + + username, password = "test_admin", "password123" + self.authClient = User.objects.create_superuser(username, "myemail@test.com", password) + + def test_get_jobads(self): + response = self.client.get(API, format="json") + expected = JobAdSerializer(self.prefilled_jobad).data + self.assertEqual(response.status_code, status.HTTP_200_OK) + self.assertEqual(response.data["results"][0], expected) + + def test_post_jobad(self): + data = { + "title_fi": "testtitle", + "title_en": "testtitle", + "visible": "True", + "description_fi": "liirumlaarum", + "description_en": "liirumlaarum", + "content_fi": "lorem ipsum", + "content_en": "lorem ipsum", + "autohide_enabled": "True" + } + + # Try post without authentication + response = self.client.post(API, data, format="json") + self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED) + self.assertEqual(JobAd.objects.count(), 1) + # Authenticate + self.client.force_authenticate(user=self.authClient) + response = self.client.post(API, data, format="json") + # Return success and check object was created + self.assertEqual(response.status_code, status.HTTP_201_CREATED) + self.assertEqual(JobAd.objects.count(), 2) diff --git a/webapp/translation.py b/webapp/translation.py index c404302..48dfed0 100644 --- a/webapp/translation.py +++ b/webapp/translation.py @@ -6,69 +6,59 @@ from webapp.models import * @register(BaseFeed) class BaseFeedTranslationOptions(TranslationOptions): - """Class for base feed translation options.""" - fields = ('title', 'description', 'content') @register(Feed) class FeedTranslationOptions(TranslationOptions): - """Class for feed translation options.""" - fields = () @register(Tag) class TagTranslationOptions(TranslationOptions): - """Class for tag translation options.""" - fields = ('name',) @register(Event) class EventTranslationOptions(TranslationOptions): - """Class for event translation options.""" - fields = ('location',) @register(Signup) class SignupTranslationOptions(TranslationOptions): - """Class for registration translation options.""" - fields = () @register(SignupForm) class SignupFormTranslationOptions(TranslationOptions): - """Class for registration translation options.""" - fields = ('title',) @register(TemplateQuestion) class TemplateQuestionTranslationOptions(TranslationOptions): - """Class for registration translation options.""" - fields = () @register(BaseRole) class BaseRoleTranslationOptions(TranslationOptions): - """Class for base role translation options""" - fields = ('name',) @register(PresetRole) class PresetRoleTranslationOptions(TranslationOptions): - """Class for PresetRole translation options.""" - fields = ('description',) +@register(Role) +class RoleTranslationOptions(TranslationOptions): + fields = () + + @register(Committee) class CommitteeTranslationOptions(TranslationOptions): - """Class for PresetRole translation options.""" - fields = ('name',) + + +@register(JobAd) +class JobAdTranslationOptions(TranslationOptions): + fields = ('title', 'description', 'content',) diff --git a/webapp/urls.py b/webapp/urls.py index b29953a..be92b35 100644 --- a/webapp/urls.py +++ b/webapp/urls.py @@ -22,6 +22,7 @@ router.register(r'contacts', ContactsViewSet) router.register(r'committees', CommitteeViewSet) router.register(r'questions', SavedQuestionsViewSet) router.register(r'tags', TagsViewSet) +router.register(r'jobads', JobAdViewSet) urlpatterns = [ url(r'^api/', include(router.urls)), diff --git a/webapp/views.py b/webapp/views.py index e5e77bd..66d39fb 100644 --- a/webapp/views.py +++ b/webapp/views.py @@ -19,10 +19,8 @@ from rest_framework.permissions import IsAuthenticatedOrReadOnly, BasePermission from jsonschema import validate from jsonschema.exceptions import ValidationError -from webapp.models import Event, SignupForm, Signup, TemplateQuestion, Feed, Committee, Occupation, Tag -from webapp.serializers import (EventSerializer, SignupFormSerializer, SignupSerializer, - SavedQuestionsSerializer, FeedSerializer, CommitteeSerializer, - OccupationSerializer, TagSerializer) +from webapp.models import * +from webapp.serializers import * from webapp.utils import decode_base64_file @@ -215,6 +213,12 @@ class TagsViewSet(ReadOnlyModelViewSet): permission_classes = [IsAuthenticatedOrReadOnly] +class JobAdViewSet(ModelViewSet): + queryset = JobAd.objects.all() + serializer_class = JobAdSerializer + permission_classes = [IsAuthenticatedOrReadOnly] + + @require_http_methods(["GET"]) def about_view(request, *args, **kwargs): """Render about page.""" From 57bc12b621b5f02749024197752eff3603380ef7 Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Tue, 3 Nov 2020 18:38:37 +0200 Subject: [PATCH 02/14] Fix Feed test --- webapp/tests/test_feed.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/webapp/tests/test_feed.py b/webapp/tests/test_feed.py index a7d85ff..c329e22 100644 --- a/webapp/tests/test_feed.py +++ b/webapp/tests/test_feed.py @@ -1,6 +1,6 @@ from django.contrib.auth.models import User from rest_framework import status -from rest_framework.test import APITestCase +from rest_framework.test import APITestCase, APIRequestFactory from webapp.models import Feed from webapp.serializers import FeedSerializer @@ -27,7 +27,9 @@ class FeedTestCase(APITestCase): self.assertTrue(status.is_success(response.status_code)) feeds = Feed.objects.all() - serializer = FeedSerializer(feeds, many=True) + serializer = FeedSerializer(feeds, many=True, context={ + "request": APIRequestFactory().get(r"http://testserver/api/feed/") + }) self.assertEqual(response.data["results"], serializer.data) def test_post_feed(self): From e9c38d56d87856ffa870661a6b6fdc48f0112cb1 Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Tue, 3 Nov 2020 19:53:47 +0200 Subject: [PATCH 03/14] Compilemessages --- locale/en/LC_MESSAGES/django.mo | Bin 16293 -> 16211 bytes locale/fi/LC_MESSAGES/django.mo | Bin 16544 -> 16687 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo index d5d8fb27d936473db0da85dfc2ca11b48e3cee83..6a26a49c1872b3ab0dc3f624c96ac42caac76257 100644 GIT binary patch delta 4301 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 diff --git a/locale/fi/LC_MESSAGES/django.mo b/locale/fi/LC_MESSAGES/django.mo index 8955fa71ef3e465f1fe717a7ed5e4a9d9e9d3375..cb5b25526051599fff300055817f4673bc32a687 100644 GIT binary patch delta 5659 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 delta 5544 zcmZA430zfG0>|;gDhPstC@KhwfD581<`P&?xuiyjW3DBW;Sxc{7?$Q!X=dCVHMKI8 zOl8d7XK7k)n5F5cIWCQ+=9Y=eG?qy^IluqAhdxdB)Bk63F{S%;d&*~kf~SKm=sK~_QNFVQ?Vs( zMqj*yHSj8i@qBZKf*J^lG$s%uQ8zS3eW5k#dOOs}Gf^Yxfx5ph#^Mlrej@g#J{_4% za~bKQxq-Uhub$I>C|2kBCYnMtHbs4*3%0{2P+xc*YvD|c!%}RBdr&iQ!Rk|=S)d+= z>R>u*M!TT~)DP8u9)@87y22?;q@XFEhsn4CHR5Ba890yn;QSHT`?rV)|FAddBcl5*T2F$;D@)Re!;z-mKZ?rdVvp1Go_n{tm2sJZjP#wC0 zdf-iaT{~IzP-NCkEUIH2QSEm|b)ah$^REVbaY8*Cgqpgc*cb~@UzlUhFGO$ZD^Lxr z#3WpY@pu|Fqu#8iuGc}e7ln;5(bl^oFO=!yqM)9Rv?s=*9ylAD;@haTE63V+1T~V& zs2Qk0y?#I1^OdL>`2{tzeryzNzDU$wXk~o}@AI0wvM6Y6vSOVZ24O1oeAEcuMRlkQ z^}zMkt*A}82i5R#R6Ccgw@@9|u+^au)C@>Biu(Qm4AJ|4Oa;7X zFWf?Hj(eyFgf($S9)oJAqqQe$rk+9FSA^=o1Z4TmWYo;AKwn&K>l;uV*o-dqd?y88 z+>e^lL#Uo!M9oA6`l3&~b3Op|z)(~}QK%`6M|G$zsv}+P^(@rP^+V5$q1qo6&-`m@ z$8bWHpuRZM-Y_54!9~b2nljWL*oXXQF7OeHfeFqMHb+f)7h8YU)?KJ}-$Ct>W!4W8 zn13Hm?6o)SM~(DLOvV$Kg8qq42Ron|cm%b^eXMz?r5S_TGt*G*EX5ow!{_lXYOf7z z>I|&JML|OCK6>#w42oPyd^3s5t$3e}Vk2ltB2ZJ@1hvUppdQc- z^DrCr{Vk}a*^PQ|1%}{l3_`zF&VXuRu-^Z83i^BB20d$tHK-S2EWU;@xER?#W;-%i zbJ?B`Z|!uXEe3Nw4fVk8_Iy87M{-enEZ^40ql+IqGlhbBwi-im3ufYPixGl;U(C8g)Gh)v;96PkIJs;-D1fUq3iYIH3n_LN)veYAVZ7YjqGc zBj->fxq<3Pr9JQ0#+lM^)GuEm>cNkp?(1di{ZRwVMLlO!8|Gg(7IPvNU8oV4q8?Oc z>l;yD_y{%iJFq!k!&+Fkt@C;{vnHcD(iS!HY}67yjrs@4cw1lKqM+AlGwP>y8)~FS zQB(Dey?zfhBiiD+zdEXeA*c@5v&P!W{=g)B}sHCDvKih3MI&s1a>M&CFrc08ZHY*XWr+)Pt|v`cLT6 zPpEz`wW%7T9-M&sLME!A9;l9FqZ$~D+7rXjvt+0N%(s?dZR%UFE*?a6>=K6KHPj56 zH0EEgUuc^18rDTUI0oaeDeAT9iM(khAJyR{7>m2GDV|3yVGtWeuVpf--TtTt=3*F* zMzuc~wOMDUGyj^x#hggSm8i{g5_LYXv$JNkQ6p@E`eHkKJ`?qT-l!4g;gk3R4#Dl1 zh%pa2GuIWh2eMH!l^54h;QbBr> zkwnM89Xy}oZF%~y=NSJnDsS5p{qbw^DJdpr2z$#g>z-pBpSk29d5cUYbI1y!W155K zv(T1Dp(;HXv5qf`$#^~p;R2@Ir z!f5<}yhr|E&wYVy2){d?*Y%ctzUOi;K4VBt@^_L#E|3pNTe6zy2yyUy_Th7otq--n zihs7{*;tR9BpT^uQlIE(=lSI9atcE{75=%6&yiHJ(Vi23vE@ALGkAwYkpZMNnLy@~ zhl!2?5=Qo? zK|;wQ(wrP3FOw(8VWOj))FN9|;n4Fwc?KzW?0djJW>+EI2FL From ff5a92897cf63a5458b36225bfd27bac0d58f3fa Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Tue, 3 Nov 2020 22:44:27 +0200 Subject: [PATCH 04/14] Authenticated filter for Job ads --- webapp/serializers.py | 2 +- webapp/views.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/webapp/serializers.py b/webapp/serializers.py index 85fefef..d60a960 100644 --- a/webapp/serializers.py +++ b/webapp/serializers.py @@ -174,4 +174,4 @@ class OccupationSerializer(serializers.ModelSerializer): class JobAdSerializer(serializers.ModelSerializer): class Meta: model = JobAd - fields = ('title_fi', 'title_en', 'description_fi', 'description_en', 'content_fi', 'content_en', 'visible', 'autohide_at', 'autohide_enabled') + fields = ('id', 'title_fi', 'title_en', 'description_fi', 'description_en', 'content_fi', 'content_en', 'visible', 'autohide_at', 'autohide_enabled') diff --git a/webapp/views.py b/webapp/views.py index 66d39fb..fd27d40 100644 --- a/webapp/views.py +++ b/webapp/views.py @@ -218,6 +218,11 @@ class JobAdViewSet(ModelViewSet): serializer_class = JobAdSerializer permission_classes = [IsAuthenticatedOrReadOnly] + def get_queryset(self): + if self.request.user.is_authenticated: + return JobAd.objects.all() + return JobAd.objects.filter(visible=True, autohide_at__gt=timezone.now()) + @require_http_methods(["GET"]) def about_view(request, *args, **kwargs): From 437936ad64547d93cb4ebce495d44fb91559259f Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Sat, 7 Nov 2020 17:13:35 +0200 Subject: [PATCH 05/14] Add inof about kaehmy limits --- kaehmy/templates/kaehmy.html | 3 +++ locale/en/LC_MESSAGES/django.mo | Bin 16211 -> 16448 bytes locale/en/LC_MESSAGES/django.po | 26 ++++++++++++++++---------- locale/fi/LC_MESSAGES/django.po | 26 ++++++++++++++++---------- 4 files changed, 35 insertions(+), 20 deletions(-) diff --git a/kaehmy/templates/kaehmy.html b/kaehmy/templates/kaehmy.html index e7c6eb2..947bc6d 100644 --- a/kaehmy/templates/kaehmy.html +++ b/kaehmy/templates/kaehmy.html @@ -19,6 +19,9 @@ Jos sinulla on kysyttävää mistä tahansa virasta, kannattaa konsultoida kaehmyopasta tai olla yhteydessä kyseistä virkaa tänä vuonna toimittavaan henkilöön.{% endblocktrans %}

+

+ {% blocktrans %}(HUOM! Kaehmytekstin maksimipituus on 300 merkkiä. Tarvittaessa voit kirjoittaa lisätietoja kommenteihin.){% endblocktrans %} +

{% blocktrans %}Muista, että kaehmyn lähettäminen on kiinnostuksen ilmaus eikä siis missään nimessä sitova ilmoittautumien mihinkään tehtävään!{% endblocktrans %} diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo index 6a26a49c1872b3ab0dc3f624c96ac42caac76257..9fd5df8c23d252bdfce5587a2608db91775ab9a9 100644 GIT binary patch delta 5149 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 diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index 03083a7..aa7d329 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: 2020-11-03 18:21+0200\n" +"POT-Creation-Date: 2020-11-07 17:05+0200\n" "PO-Revision-Date: 2017-11-02 23:09+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -190,7 +190,7 @@ msgstr "Phone number (not public)" msgid "Custom roles" msgstr "Custom roles" -#: kaehmy/forms.py:49 kaehmy/templates/kaehmy.html:40 +#: kaehmy/forms.py:49 kaehmy/templates/kaehmy.html:43 msgid "Preset roles" msgstr "Preset roles" @@ -408,6 +408,12 @@ msgstr "" #: kaehmy/templates/kaehmy.html:23 msgid "" +"(HUOM! Kaehmytekstin maksimipituus on 300 merkkiä. Tarvittaessa voit " +"kirjoittaa lisätietoja kommenteihin.)" +msgstr "(NOTE! The application text is limited to 300 characters. You can use the comment section for additional info.)" + +#: kaehmy/templates/kaehmy.html:26 +msgid "" "Muista, että kaehmyn lähettäminen on kiinnostuksen ilmaus\n" " eikä siis missään nimessä sitova ilmoittautumien mihinkään " "tehtävään!" @@ -415,31 +421,31 @@ msgstr "" "Note, that sending an application is not binding and should be considered as " "a gesture of interest." -#: kaehmy/templates/kaehmy.html:26 +#: kaehmy/templates/kaehmy.html:29 msgid "Päivämääriä & deadlineja" msgstr "Dates and deadlines" -#: kaehmy/templates/kaehmy.html:28 +#: kaehmy/templates/kaehmy.html:31 msgid "Hallitustyrkkypaneeli" msgstr "Panel for board applicants" -#: kaehmy/templates/kaehmy.html:29 +#: kaehmy/templates/kaehmy.html:32 msgid "Vaalikokous, osa 1 (puheenjohtajan valinta)" msgstr "Election meeting, part 1 (chairman election)" -#: kaehmy/templates/kaehmy.html:30 +#: kaehmy/templates/kaehmy.html:33 msgid "Toimikunta-appro" msgstr "Guild committee crawl" -#: kaehmy/templates/kaehmy.html:31 +#: kaehmy/templates/kaehmy.html:34 msgid "Vaalikokous, osa 2 (hallituksen valinta)" msgstr "Election meeting, part 2 (board election)" -#: kaehmy/templates/kaehmy.html:32 +#: kaehmy/templates/kaehmy.html:35 msgid "Vaalikokous, osa 3 (toimarien valinta)" msgstr "Election meeting, part 3 (non-board election)" -#: kaehmy/templates/kaehmy.html:75 +#: kaehmy/templates/kaehmy.html:78 #, python-format msgid "" "\n" @@ -456,7 +462,7 @@ msgstr "" "of personal data.\n" " " -#: kaehmy/templates/kaehmy.html:81 members/templates/settings.html:23 +#: kaehmy/templates/kaehmy.html:84 members/templates/settings.html:23 msgid "Submit" msgstr "Submit" diff --git a/locale/fi/LC_MESSAGES/django.po b/locale/fi/LC_MESSAGES/django.po index 617a1db..9e1468a 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: 2020-11-03 18:21+0200\n" +"POT-Creation-Date: 2020-11-07 17:05+0200\n" "PO-Revision-Date: 2017-11-02 23:04+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -191,7 +191,7 @@ msgstr "Puhelinnumero (ei julkinen)" msgid "Custom roles" msgstr "Uudet virat" -#: kaehmy/forms.py:49 kaehmy/templates/kaehmy.html:40 +#: kaehmy/forms.py:49 kaehmy/templates/kaehmy.html:43 msgid "Preset roles" msgstr "Kaehmyvirat" @@ -412,6 +412,12 @@ msgstr "" #: kaehmy/templates/kaehmy.html:23 msgid "" +"(HUOM! Kaehmytekstin maksimipituus on 300 merkkiä. Tarvittaessa voit " +"kirjoittaa lisätietoja kommenteihin.)" +msgstr "" + +#: kaehmy/templates/kaehmy.html:26 +msgid "" "Muista, että kaehmyn lähettäminen on kiinnostuksen ilmaus\n" " eikä siis missään nimessä sitova ilmoittautumien mihinkään " "tehtävään!" @@ -420,31 +426,31 @@ msgstr "" " eikä siis missään nimessä sitova ilmoittautumien mihinkään " "tehtävään!" -#: kaehmy/templates/kaehmy.html:26 +#: kaehmy/templates/kaehmy.html:29 msgid "Päivämääriä & deadlineja" msgstr "Päivämääriä & deadlineja" -#: kaehmy/templates/kaehmy.html:28 +#: kaehmy/templates/kaehmy.html:31 msgid "Hallitustyrkkypaneeli" msgstr "" -#: kaehmy/templates/kaehmy.html:29 +#: kaehmy/templates/kaehmy.html:32 msgid "Vaalikokous, osa 1 (puheenjohtajan valinta)" msgstr "Vaalikokous, osa 1 (puheenjohtajan valinta)" -#: kaehmy/templates/kaehmy.html:30 +#: kaehmy/templates/kaehmy.html:33 msgid "Toimikunta-appro" msgstr "" -#: kaehmy/templates/kaehmy.html:31 +#: kaehmy/templates/kaehmy.html:34 msgid "Vaalikokous, osa 2 (hallituksen valinta)" msgstr "Vaalikokous, osa 2 (hallituksen valinta)" -#: kaehmy/templates/kaehmy.html:32 +#: kaehmy/templates/kaehmy.html:35 msgid "Vaalikokous, osa 3 (toimarien valinta)" msgstr "Vaalikokous, osa 3 (toimarien valinta)" -#: kaehmy/templates/kaehmy.html:75 +#: kaehmy/templates/kaehmy.html:78 #, python-format msgid "" "\n" @@ -455,7 +461,7 @@ msgid "" " " msgstr "" -#: kaehmy/templates/kaehmy.html:81 members/templates/settings.html:23 +#: kaehmy/templates/kaehmy.html:84 members/templates/settings.html:23 msgid "Submit" msgstr "Lisää" From 2359743b20d3e3023bd04e2d2f00f8632c7bb20b Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Sat, 7 Nov 2020 19:28:59 +0200 Subject: [PATCH 06/14] Update pycodestyle --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 6615aa2..3b93c91 100644 --- a/requirements.txt +++ b/requirements.txt @@ -22,7 +22,7 @@ nose-exclude==0.5.0 psycopg2-binary==2.8.4 django-bootstrap3==11.1.0 django-tables2==1.6.1 -pycodestyle==2.3.1 +pycodestyle==2.6.0 dealer==2.0.5 django-modeltranslation==0.13b1 django-auditlog==0.4.5 From d06c24bde0ef1ad70cd5772f6e91dcc7697e21e1 Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Sat, 7 Nov 2020 18:39:58 +0000 Subject: [PATCH 07/14] Remove Officials --- kaehmy/models.py | 12 ++- webapp/admin.py | 7 +- webapp/migrations/0073_auto_20201107_1916.py | 60 +++++++++++ webapp/models.py | 104 ------------------- webapp/serializers.py | 30 ------ webapp/tests/test_contact.py | 98 ----------------- webapp/translation.py | 20 ---- webapp/urls.py | 2 - webapp/views.py | 18 ---- 9 files changed, 70 insertions(+), 281 deletions(-) create mode 100644 webapp/migrations/0073_auto_20201107_1916.py delete mode 100644 webapp/tests/test_contact.py diff --git a/kaehmy/models.py b/kaehmy/models.py index 0b0d8e1..0b1bd90 100644 --- a/kaehmy/models.py +++ b/kaehmy/models.py @@ -5,15 +5,21 @@ from webapp.utils import month_from_now from django.utils.translation import ugettext_lazy as _ from auditlog.registry import auditlog from phonenumber_field.modelfields import PhoneNumberField - +from webapp.models import BaseRole import logging -import webapp.models + +# TODO: Move BaseRole to Kaehmt App; will fuck up the DB since table is removed, if no data migration is done before-hand. +# Either reconstruct all kaehmy roles from scratch then, or do these migrations: +# 1. Create table here +# 2. Data migrate from webapp BaseRole to new kaehmy BaseRole +# 3. Delete webapp BaseRole table VERBOSE_NAME = _('Kaehmy') -class KaehmyBaseRole(webapp.models.BaseRole): +class KaehmyBaseRole(BaseRole): + """ABC""" CATEGORIES = ( ('corporate', _('Corporate affairs')), diff --git a/webapp/admin.py b/webapp/admin.py index 8d62a41..32d910a 100644 --- a/webapp/admin.py +++ b/webapp/admin.py @@ -1,8 +1,7 @@ """File containing webapp app admin registers.""" from django.contrib import admin -from webapp.models import JobAd, Official, Role, Committee, Occupation -from webapp.models import Feed, Tag, Event, Signup, SignupForm, TemplateQuestion +from webapp.models import Feed, Tag, Event, Signup, SignupForm, TemplateQuestion, JobAd from modeltranslation.admin import TranslationAdmin from django.contrib.auth.models import Permission # this is needed so that the models get registered for translation @@ -16,8 +15,4 @@ admin.site.register(Event, TranslationAdmin) admin.site.register(SignupForm, TranslationAdmin) admin.site.register(Signup, TranslationAdmin) admin.site.register(TemplateQuestion, TranslationAdmin) -admin.site.register(Committee, TranslationAdmin) -admin.site.register(Official) -admin.site.register(Occupation) -admin.site.register(Role, TranslationAdmin) admin.site.register(JobAd, TranslationAdmin) diff --git a/webapp/migrations/0073_auto_20201107_1916.py b/webapp/migrations/0073_auto_20201107_1916.py new file mode 100644 index 0000000..b290885 --- /dev/null +++ b/webapp/migrations/0073_auto_20201107_1916.py @@ -0,0 +1,60 @@ +# Generated by Django 2.1.5 on 2020-11-07 17:16 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('webapp', '0072_jobad'), + ] + + operations = [ + migrations.RemoveField( + model_name='occupation', + name='role', + ), + migrations.RemoveField( + model_name='official', + name='role_history', + ), + migrations.RemoveField( + model_name='official', + name='user', + ), + migrations.RemoveField( + model_name='presetrole', + name='baserole_ptr', + ), + migrations.RemoveField( + model_name='role', + name='committee', + ), + migrations.RemoveField( + model_name='role', + name='presetrole_ptr', + ), + migrations.RemoveField( + model_name='baserole', + name='name_en', + ), + migrations.RemoveField( + model_name='baserole', + name='name_fi', + ), + migrations.DeleteModel( + name='Committee', + ), + migrations.DeleteModel( + name='Occupation', + ), + migrations.DeleteModel( + name='Official', + ), + migrations.DeleteModel( + name='PresetRole', + ), + migrations.DeleteModel( + name='Role', + ), + ] diff --git a/webapp/models.py b/webapp/models.py index 078c613..6137b23 100644 --- a/webapp/models.py +++ b/webapp/models.py @@ -171,105 +171,6 @@ class BaseRole(models.Model): return '{} ({})'.format(n, _('board member')) if self.is_board else n -class PresetRole(BaseRole): - """Model representing a preset occupation in the guild.""" - description = models.TextField(_('Description')) - - -class Committee(models.Model): - """ - Committee model - Has many Roles found under variable roles - """ - - class Meta: - verbose_name = _('Committee') - verbose_name_plural = _('Committees') - - def __str__(self): - return _('Committee: {}').format(self.name) - - name = models.CharField(_("Name"), max_length=255) - - @property - def current_roles(self): - return self.roles.all().filter(end_date__gte=timezone.now()).filter(start_date__lte=timezone.now()) - - -class Role(PresetRole): - """ - Model representing an active or historical occupation - in the guild. - """ - - class Meta: - verbose_name = _('Role') - verbose_name_plural = _('Roles') - - committee = models.ForeignKey('Committee', related_name='roles', on_delete=models.SET_NULL, null=True) - - def __str__(self): - return '{} (Hallitus: {}) ({})'.format(self.name, _("Yes") if self.is_board else _("No"), self.committee) - - -class Occupation(models.Model): - """ - Model for a occupation in guild. - - Model links Official into a role he/she has or has had in the guild. - """ - - class Meta: - verbose_name = _('Occupation') - verbose_name_plural = _('Occupations') - - start_date = models.DateField(_('Start date')) - end_date = models.DateField(_('End date')) - role = models.ForeignKey('Role', on_delete=models.SET_NULL, null=True) - - @staticmethod - def by_year(year): - return Occupation.objects.filter( - end_date__gte=timezone.datetime(year, 1, 1)).filter( - start_date__lte=timezone.datetime(year, 12, 31)) - - def __str__(self): - return '{}: {} - {}'.format(self.role.name, self.start_date, self.end_date) - - -class Official(models.Model): - """Model representing a guild official.""" - - class Meta: - verbose_name = _('Official') - verbose_name_plural = _('Officials') - - user = models.OneToOneField(User, on_delete=models.CASCADE) - - first_name = models.CharField(_('First name'), max_length=30) - last_name = models.CharField(_('Last name'), max_length=150) - email = models.EmailField(_('Email address')) - phone_number = PhoneNumberField(_('Phone number')) - role_history = models.ManyToManyField('Occupation', 'officials', blank=True) - image = models.ImageField(blank=True, null=True) - - @staticmethod - def by_year(year): - return Official.objects.filter( - role_history__in=Occupation.occupations_by_year(year)).distinct() - - def __str__(self): - return '{} {}'.format(self.first_name, self.last_name) - - -@receiver(post_save, sender=Official) -def save_user_official(sender, instance, **kwargs): - instance.user.first_name = instance.first_name - instance.user.last_name = instance.last_name - instance.user.email = instance.email - instance.user.save() - - class JobAd(models.Model): """Job advertisements shown on Corporate relations page""" @@ -291,9 +192,4 @@ auditlog.register(Feed) auditlog.register(Event) auditlog.register(SignupForm) auditlog.register(Signup) -auditlog.register(PresetRole) -auditlog.register(Role) -auditlog.register(Committee) -auditlog.register(Occupation) -auditlog.register(Official) auditlog.register(JobAd) diff --git a/webapp/serializers.py b/webapp/serializers.py index d60a960..8673035 100644 --- a/webapp/serializers.py +++ b/webapp/serializers.py @@ -141,36 +141,6 @@ class FeedSerializer(serializers.ModelSerializer): return feed -class CommitteeSerializer(serializers.ModelSerializer): - class Meta: - model = Committee - fields = ['name_fi', 'name_en'] - - -class RoleSerializer(serializers.ModelSerializer): - committee = CommitteeSerializer(read_only=True) - - class Meta: - model = Role - fields = ('name_fi', 'name_en', 'description_fi', 'description_en', 'committee', 'is_board') - - -class ContactsSerializer(serializers.ModelSerializer): - class Meta: - model = Official - fields = ('first_name', 'last_name', 'email', 'phone_number', 'image') - depth = 2 - - -class OccupationSerializer(serializers.ModelSerializer): - role = RoleSerializer(read_only=True) - officials = ContactsSerializer(many=True, read_only=True) - - class Meta: - model = Occupation - fields = ('role', 'start_date', 'end_date', 'officials') - - class JobAdSerializer(serializers.ModelSerializer): class Meta: model = JobAd diff --git a/webapp/tests/test_contact.py b/webapp/tests/test_contact.py deleted file mode 100644 index a153c58..0000000 --- a/webapp/tests/test_contact.py +++ /dev/null @@ -1,98 +0,0 @@ -from django.test import TestCase -from django.contrib.auth.models import User -from django.utils import timezone -from rest_framework import status -from rest_framework.test import APITestCase - -from webapp.models import Official, Role, Occupation, Committee -from webapp.serializers import OccupationSerializer - - -URL = "/api/contacts/" -COMMITTEE = Committee.objects.create( - name_fi="Viestintä", - name_en="Communications" -) - - -def createRoleBoard(): - return Role.objects.create( - name_fi="Metsuri", - name_en="The lumberjack", - is_board=True, - description_fi="Toimikunta PJ", - description_en="Committee Chair" - ) - - -def createRoleNoBoard(): - return Role.objects.create( - name_fi="Toimari", - name_en="Official", - is_board=False, - description_fi="Toimikunta jäbä", - description_en="Committee dude(tte)", - committee=COMMITTEE - ) - - -def createOccupation(year, role=createRoleNoBoard(), dummydata=1): - occupation = Occupation.objects.create( - start_date=timezone.datetime(year, 1, 1), - end_date=timezone.datetime(year, 12, 31), - role=role - ) - - occupation.officials.add( - createPerson(dummydata) - ) - - return occupation - - -def createPerson(name): - return Official.objects.create( - user=User.objects.create_user(f"testi{name}", "test@test.tld", "password123"), - first_name=f"first{name}", - last_name=f"last{name}", - email="test@test.tld", - phone_number="+358501234567", - image="" - ) - - -class ContactsTestCase(APITestCase): - current_year = timezone.now().year - old_year = 1970 - - def setUp(self): - createOccupation(self.current_year, role=createRoleBoard(), dummydata=1) - createOccupation(self.current_year, dummydata=2) - createOccupation(self.old_year, role=createRoleBoard(), dummydata=3) - createOccupation(self.old_year, dummydata=4) - - def test_get(self): - response = self.client.get(f"{URL}", format='json') - self.assertEqual(response.status_code, status.HTTP_200_OK) - - serializer = OccupationSerializer( - Occupation.by_year(self.current_year), - many=True - ) - self.assertEqual(response.data["results"], serializer.data) - - def test_get_by_year(self): - response = self.client.get(f"{URL}?year={self.old_year}", format='json') - self.assertEqual(response.status_code, status.HTTP_200_OK) - - serializer = OccupationSerializer( - Occupation.by_year(self.old_year), - many=True - ) - - self.assertEqual(response.data["results"], serializer.data) - - def test_by_year_empty(self): - response = self.client.get(f"{URL}?year=1971") - self.assertEqual(response.status_code, status.HTTP_200_OK) - self.assertEqual(response.data["results"], []) diff --git a/webapp/translation.py b/webapp/translation.py index 48dfed0..c7e293b 100644 --- a/webapp/translation.py +++ b/webapp/translation.py @@ -39,26 +39,6 @@ class TemplateQuestionTranslationOptions(TranslationOptions): fields = () -@register(BaseRole) -class BaseRoleTranslationOptions(TranslationOptions): - fields = ('name',) - - -@register(PresetRole) -class PresetRoleTranslationOptions(TranslationOptions): - fields = ('description',) - - -@register(Role) -class RoleTranslationOptions(TranslationOptions): - fields = () - - -@register(Committee) -class CommitteeTranslationOptions(TranslationOptions): - fields = ('name',) - - @register(JobAd) class JobAdTranslationOptions(TranslationOptions): fields = ('title', 'description', 'content',) diff --git a/webapp/urls.py b/webapp/urls.py index be92b35..58ba3cd 100644 --- a/webapp/urls.py +++ b/webapp/urls.py @@ -18,8 +18,6 @@ router.register(r'events', EventViewSet) router.register(r'signupForm', SignupFormViewSet) router.register(r'signup', SignupViewSet) router.register(r'feed', FeedViewSet) -router.register(r'contacts', ContactsViewSet) -router.register(r'committees', CommitteeViewSet) router.register(r'questions', SavedQuestionsViewSet) router.register(r'tags', TagsViewSet) router.register(r'jobads', JobAdViewSet) diff --git a/webapp/views.py b/webapp/views.py index fd27d40..87f2d0d 100644 --- a/webapp/views.py +++ b/webapp/views.py @@ -189,24 +189,6 @@ class FeedViewSet(ModelViewSet): return Feed.objects.filter(id__in=result_ids) -class ContactsViewSet(ReadOnlyModelViewSet): - queryset = Occupation.objects.all() - serializer_class = OccupationSerializer - permission_classes = [IsAuthenticatedOrReadOnly] - - def get_queryset(self): - year = self.request.query_params.get('year') - if not year: - return Occupation.by_year(timezone.now().year) - return Occupation.by_year(int(year)) - - -class CommitteeViewSet(ReadOnlyModelViewSet): - queryset = Committee.objects.all() - serializer_class = CommitteeSerializer - permission_classes = [IsAuthenticatedOrReadOnly] - - class TagsViewSet(ReadOnlyModelViewSet): queryset = Tag.objects.all() serializer_class = TagSerializer From 1fe323cbdd12312628d6d53ef7df7e6d7de20fe7 Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Sat, 7 Nov 2020 20:18:59 +0200 Subject: [PATCH 08/14] Add soft delete API for signups --- webapp/migrations/0074_signup_deleted.py | 18 ++++++++++++++++++ webapp/models.py | 4 ++-- webapp/tests/test_signup.py | 9 +++++++++ webapp/views.py | 11 ++++++++++- 4 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 webapp/migrations/0074_signup_deleted.py diff --git a/webapp/migrations/0074_signup_deleted.py b/webapp/migrations/0074_signup_deleted.py new file mode 100644 index 0000000..2526461 --- /dev/null +++ b/webapp/migrations/0074_signup_deleted.py @@ -0,0 +1,18 @@ +# Generated by Django 2.1.5 on 2020-11-07 18:00 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('webapp', '0073_auto_20201107_1916'), + ] + + operations = [ + migrations.AddField( + model_name='signup', + name='deleted', + field=models.BooleanField(default=False), + ), + ] diff --git a/webapp/models.py b/webapp/models.py index 6137b23..3349e25 100644 --- a/webapp/models.py +++ b/webapp/models.py @@ -125,7 +125,7 @@ class SignupForm(models.Model): class Signup(models.Model): """ - In + Actual signup into any SignupForm. Deletes are soft. """ class Meta: @@ -140,6 +140,7 @@ class Signup(models.Model): email = models.EmailField(blank=True, null=True) # Random unique identifier. Used for signup editing by the user. uuid = models.UUIDField(default=uuid4, editable=False) + deleted = models.BooleanField(default=False) def __str__(self): return f"{self.signupForm}: {self.list_name} ({self.pk})" @@ -147,7 +148,6 @@ class Signup(models.Model): @receiver(post_save, sender=Signup) def email_on_signup(sender, instance, created, **kwargs): - """Send email validation.""" if created and instance.email: # TODO: Possible bug due to many-to-many relationship with events and forms. # TODO: Subject field crashes with lazy loaded translations. diff --git a/webapp/tests/test_signup.py b/webapp/tests/test_signup.py index 4ec1ef8..5f7f421 100644 --- a/webapp/tests/test_signup.py +++ b/webapp/tests/test_signup.py @@ -56,6 +56,15 @@ class SignupTestCase(APITestCase): self.assertEqual(response.status_code, status.HTTP_201_CREATED) self.assertEqual(Signup.objects.count(), 3) + def test_delete_as_admin(self): + id = self.signup1.id + no_auth_response = self.client.delete(f"{URL}{id}/", format="json") + self.assertEqual(no_auth_response.status_code, status.HTTP_401_UNAUTHORIZED) + self.client.force_authenticate(user=self.authClient) + response = self.client.delete(f"{URL}{id}/", format="json") + self.assertEqual(response.status_code, status.HTTP_200_OK) + self.assertEqual(Signup.objects.get(id=id).deleted, True) + @skip("NotImplemented") def test_get_hidden_forms_admin(self): pass diff --git a/webapp/views.py b/webapp/views.py index 87f2d0d..3800daa 100644 --- a/webapp/views.py +++ b/webapp/views.py @@ -106,7 +106,7 @@ class SignupFormViewSet(ModelViewSet): class SignupViewSet(ModelViewSet): - queryset = Signup.objects.all() + queryset = Signup.objects.filter(deleted=False) serializer_class = SignupSerializer permission_classes = [SignupPermission] @@ -156,6 +156,15 @@ class SignupViewSet(ModelViewSet): else: return JsonResponse(status=404, data={"error": f"SignupForm {id} not found"}) + def destroy(self, request, pk=None, *args, **kwargs): + try: + signup = self.get_object() + signup.deleted = True + signup.save() + return JsonResponse(status=200, data={"message": "OK"}) + except ObjectDoesNotExist: + return JsonResponse(status=404, data={"error": f"Signup {pk} not found"}) + class SavedQuestionsViewSet(ModelViewSet): queryset = TemplateQuestion.objects.all() From 00c6920c8ad88a46ffd049c3eacf29a0f8837a79 Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Sat, 7 Nov 2020 21:00:55 +0200 Subject: [PATCH 09/14] Add test for editing signup with uuid --- webapp/tests/test_signup.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/webapp/tests/test_signup.py b/webapp/tests/test_signup.py index 5f7f421..6184867 100644 --- a/webapp/tests/test_signup.py +++ b/webapp/tests/test_signup.py @@ -69,11 +69,15 @@ class SignupTestCase(APITestCase): def test_get_hidden_forms_admin(self): pass - # Update and Delete are available for super admin (Django Admin) - # and to the user that signed up (uid token) - @skip("NotImplemented") def test_update_signup_token(self): - pass + id = self.signup1.id + uuid = self.signup1.uuid + clone = ALL_QUESTION_TYPES_ANSWER.copy() + clone["-naY2R1-h"] = "Edited Testi" + new = createSignupRequest("asd", self.signupForm.id, clone) + response = self.client.put(f"{URL}{id}/edit/?uuid={uuid}", new, format="json") + self.assertEqual(response.status_code, status.HTTP_200_OK) + self.assertEqual(Signup.objects.get(id=id).answer["-naY2R1-h"], "Edited Testi") @skip("NotImplemented") def test_delete_signup_token(self): From b1921d4926e34e0d338b9875ea438a3020a7b63a Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Sat, 7 Nov 2020 21:32:49 +0200 Subject: [PATCH 10/14] Add API for sending emails for signupees --- webapp/tests/signup_fixture.py | 5 +++-- webapp/tests/test_signup.py | 15 +++++++++++++++ webapp/utils.py | 4 ++++ webapp/views.py | 24 +++++++++++++++++++++++- 4 files changed, 45 insertions(+), 3 deletions(-) diff --git a/webapp/tests/signup_fixture.py b/webapp/tests/signup_fixture.py index fecef61..a15b5fd 100644 --- a/webapp/tests/signup_fixture.py +++ b/webapp/tests/signup_fixture.py @@ -40,14 +40,15 @@ CBOX_SCHEMA = { } -def createSignupForm(name="Form1", start_time=timezone.now(), end_time=month_from_now(), questions=ALL_QUESTION_TYPES, schema=ALL_QUESTIONS_SCHEMA, visible=True): +def createSignupForm(name="Form1", start_time=timezone.now(), end_time=month_from_now(), questions=ALL_QUESTION_TYPES, schema=ALL_QUESTIONS_SCHEMA, visible=True, quota=1): return SignupForm.objects.create( title=name, start_time=start_time, end_time=end_time, questions=questions, visible=visible, - schema=schema + schema=schema, + quota=quota ) diff --git a/webapp/tests/test_signup.py b/webapp/tests/test_signup.py index 6184867..7ac905e 100644 --- a/webapp/tests/test_signup.py +++ b/webapp/tests/test_signup.py @@ -82,3 +82,18 @@ class SignupTestCase(APITestCase): @skip("NotImplemented") def test_delete_signup_token(self): pass + + # TODO: Use some mocking library and check that mailjet is actually called + def test_signupee_sendemail(self): + form = self.signupForm + emailURL = f"/api/signupForm/{form.id}/sendemail/" + payload = { + "subject": "Email subject", + "content": "Markdown", + "mode": "actual" + } + no_auth_response = self.client.post(emailURL, payload, format="json") + self.assertEqual(no_auth_response.status_code, status.HTTP_401_UNAUTHORIZED) + self.client.force_authenticate(user=self.authClient) + response = self.client.post(emailURL, payload, format="json") + self.assertEqual(response.status_code, status.HTTP_201_CREATED) diff --git a/webapp/utils.py b/webapp/utils.py index 1f60f3a..37205b7 100644 --- a/webapp/utils.py +++ b/webapp/utils.py @@ -101,3 +101,7 @@ def send_signup_email(to, subject, id, uuid, content): ) return send_email(to, subject, message, True) + +def admin_send_email_signupees(list, subject, content): + for to in list: + send_email(to, subject, markdown.markdown(content), True) diff --git a/webapp/views.py b/webapp/views.py index 3800daa..722cc9d 100644 --- a/webapp/views.py +++ b/webapp/views.py @@ -21,7 +21,7 @@ from jsonschema.exceptions import ValidationError from webapp.models import * from webapp.serializers import * -from webapp.utils import decode_base64_file +from webapp.utils import admin_send_email_signupees, decode_base64_file class SignupPermission(BasePermission): @@ -105,6 +105,28 @@ class SignupFormViewSet(ModelViewSet): return SignupForm.objects.filter(visible=True, end_time__gt=timezone.now()).order_by('start_time') + @action(detail=True, methods=['post']) + def sendemail(self, request, pk=None, *args, **kwargs): + subject = request.data["subject"] + content = request.data["content"] + mode = request.data["mode"] + + queryset = self.filter_queryset(self.get_queryset()) + filter = {'pk': pk} + signupForm = get_object_or_404(queryset, **filter) + if (mode == "all"): + admin_send_email_signupees(signupForm.signups, subject, content) + return JsonResponse(status=201, data={"message": "Email sent"}) + elif (mode == "actual"): + admin_send_email_signupees(signupForm.signups, subject, content) + return JsonResponse(status=201, data={"message": "Email sent"}) + elif (mode == "reserved"): + admin_send_email_signupees(signupForm.signups, subject, content) + return JsonResponse(status=201, data={"message": "Email sent"}) + else: + return JsonResponse(status=400, data={"error": f"Bad mode '{mode}'"}) + + class SignupViewSet(ModelViewSet): queryset = Signup.objects.filter(deleted=False) serializer_class = SignupSerializer From b834567309ec18e9652e7be8433178d0ab94a9ef Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Sun, 8 Nov 2020 00:16:29 +0200 Subject: [PATCH 11/14] API for getting signups for list view --- webapp/models.py | 2 +- webapp/views.py | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/webapp/models.py b/webapp/models.py index 3349e25..36be46f 100644 --- a/webapp/models.py +++ b/webapp/models.py @@ -115,7 +115,7 @@ class SignupForm(models.Model): @property def signups(self): - return Signup.objects.filter(signupForm=self).order_by('pk') + return Signup.objects.filter(signupForm=self, deleted=False).order_by('pk') @property def isOpen(self): diff --git a/webapp/views.py b/webapp/views.py index 722cc9d..75adb41 100644 --- a/webapp/views.py +++ b/webapp/views.py @@ -12,10 +12,11 @@ from django_filters import rest_framework as filters from django.db.models import Prefetch from django.core.exceptions import ObjectDoesNotExist from rest_framework import routers +from rest_framework.response import Response from rest_framework.viewsets import ModelViewSet, ReadOnlyModelViewSet from rest_framework.filters import OrderingFilter, SearchFilter from rest_framework.decorators import action -from rest_framework.permissions import IsAuthenticatedOrReadOnly, BasePermission, AllowAny +from rest_framework.permissions import IsAuthenticatedOrReadOnly, BasePermission, AllowAny, IsAuthenticated from jsonschema import validate from jsonschema.exceptions import ValidationError @@ -105,7 +106,7 @@ class SignupFormViewSet(ModelViewSet): return SignupForm.objects.filter(visible=True, end_time__gt=timezone.now()).order_by('start_time') - @action(detail=True, methods=['post']) + @action(detail=True, methods=['post'], permission_classes=[IsAuthenticated]) def sendemail(self, request, pk=None, *args, **kwargs): subject = request.data["subject"] content = request.data["content"] @@ -118,15 +119,23 @@ class SignupFormViewSet(ModelViewSet): admin_send_email_signupees(signupForm.signups, subject, content) return JsonResponse(status=201, data={"message": "Email sent"}) elif (mode == "actual"): - admin_send_email_signupees(signupForm.signups, subject, content) + admin_send_email_signupees(signupForm.signups[:signupForm.quota], subject, content) return JsonResponse(status=201, data={"message": "Email sent"}) elif (mode == "reserved"): - admin_send_email_signupees(signupForm.signups, subject, content) + admin_send_email_signupees(signupForm.signups[signupForm.quota:], subject, content) return JsonResponse(status=201, data={"message": "Email sent"}) else: return JsonResponse(status=400, data={"error": f"Bad mode '{mode}'"}) + @action(detail=True, methods=['get'], permission_classes=[IsAuthenticated]) + def signups(self, request, pk=None, *args, **kwargs): + queryset = self.filter_queryset(self.get_queryset()) + filter = {'pk': pk} + signupForm = get_object_or_404(queryset, **filter) + return Response(SignupSerializer(signupForm.signups, many=True).data) + + class SignupViewSet(ModelViewSet): queryset = Signup.objects.filter(deleted=False) serializer_class = SignupSerializer From e5224fe1e2b4f008b771f111bd4e1608f9bdf8e9 Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Mon, 23 Nov 2020 20:23:44 +0200 Subject: [PATCH 12/14] Lint fix --- webapp/utils.py | 1 + webapp/views.py | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/webapp/utils.py b/webapp/utils.py index 37205b7..71de738 100644 --- a/webapp/utils.py +++ b/webapp/utils.py @@ -102,6 +102,7 @@ def send_signup_email(to, subject, id, uuid, content): return send_email(to, subject, message, True) + def admin_send_email_signupees(list, subject, content): for to in list: send_email(to, subject, markdown.markdown(content), True) diff --git a/webapp/views.py b/webapp/views.py index 75adb41..52cfda7 100644 --- a/webapp/views.py +++ b/webapp/views.py @@ -105,7 +105,6 @@ class SignupFormViewSet(ModelViewSet): return SignupForm.objects.all().order_by('start_time') return SignupForm.objects.filter(visible=True, end_time__gt=timezone.now()).order_by('start_time') - @action(detail=True, methods=['post'], permission_classes=[IsAuthenticated]) def sendemail(self, request, pk=None, *args, **kwargs): subject = request.data["subject"] @@ -127,7 +126,6 @@ class SignupFormViewSet(ModelViewSet): else: return JsonResponse(status=400, data={"error": f"Bad mode '{mode}'"}) - @action(detail=True, methods=['get'], permission_classes=[IsAuthenticated]) def signups(self, request, pk=None, *args, **kwargs): queryset = self.filter_queryset(self.get_queryset()) From c5008e3656b8ca0a7ea5e52583937a86ad4eca5a Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Mon, 30 Nov 2020 20:54:31 +0200 Subject: [PATCH 13/14] Add debug logging --- webapp/utils.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/webapp/utils.py b/webapp/utils.py index 71de738..03024d7 100644 --- a/webapp/utils.py +++ b/webapp/utils.py @@ -55,6 +55,10 @@ def month_from_now(): def send_email(to, subject, body, html=False): if not ENABLE_AUTOMATIC_EMAILS: + logging.debug("Skipping email") + logging.debug(f"to: {to}") + logging.debug(f"subject: {subject}") + logging.debug(f"body: {body}") return try: mailjet = Client(auth=(EMAIL_API_KEY, EMAIL_API_SECRET), version='v3.1') From 4be0b75a1c30af008b4ff1d8b229ac0caa48c145 Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Sat, 12 Dec 2020 14:01:07 +0200 Subject: [PATCH 14/14] Update production Docker secret names --- stack-compose.yml | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/stack-compose.yml b/stack-compose.yml index 775c529..595eda2 100644 --- a/stack-compose.yml +++ b/stack-compose.yml @@ -8,15 +8,15 @@ services: condition: on-failure environment: - - POSTGRES_USER_FILE=/run/secrets/DJANGO_DB_USER - - POSTGRES_PASSWORD_FILE=/run/secrets/DJANGO_DB_PASSWD + - POSTGRES_USER_FILE=/run/secrets/BACKEND_DB_USER + - POSTGRES_PASSWORD_FILE=/run/secrets/BACKEND_DB_PASSWD ports: - 5432:5432 volumes: - dbdata:/var/lib/postgresql/data secrets: - - DJANGO_DB_USER - - DJANGO_DB_PASSWD + - BACKEND_DB_USER + - BACKEND_DB_PASSWD backend: image: registry.gitlab.com/sahkoinsinoorikilta/vtmk/web2.0-backend:latest @@ -42,38 +42,38 @@ services: target: /app/collected_static environment: - - SECRET_KEY_FILE=/run/secrets/DJANGO_SECRET_KEY - - TG_BOT_TOKEN_FILE=/run/secrets/DJANGO_TG_BOT_TOKEN - - DB_USER_FILE=/run/secrets/DJANGO_DB_USER - - DB_PASSWD_FILE=/run/secrets/DJANGO_DB_PASSWD + - SECRET_KEY_FILE=/run/secrets/BACKEND_SECRET_KEY + - TG_BOT_TOKEN_FILE=/run/secrets/BACKEND_TG_BOT_TOKEN + - DB_USER_FILE=/run/secrets/BACKEND_DB_USER + - DB_PASSWD_FILE=/run/secrets/BACKEND_DB_PASSWD - HOST=api.sika.sik.party - FRONTEND_URL=sika.sik.party - DB_HOST=db - DB_PORT=5432 - - EMAIL_API_KEY_FILE=/run/secrets/DJANGO_EMAIL_API_KEY - - EMAIL_API_SECRET_FILE=/run/secrets/DJANGO_EMAIL_API_SECRET + - EMAIL_API_KEY_FILE=/run/secrets/BACKEND_EMAIL_API_KEY + - EMAIL_API_SECRET_FILE=/run/secrets/BACKEND_EMAIL_API_SECRET secrets: - - DJANGO_SECRET_KEY - - DJANGO_TG_BOT_TOKEN - - DJANGO_DB_USER - - DJANGO_DB_PASSWD - - DJANGO_EMAIL_API_KEY - - DJANGO_EMAIL_API_SECRET + - BACKEND_SECRET_KEY + - BACKEND_TG_BOT_TOKEN + - BACKEND_DB_USER + - BACKEND_DB_PASSWD + - BACKEND_EMAIL_API_KEY + - BACKEND_EMAIL_API_SECRET secrets: - DJANGO_SECRET_KEY: + BACKEND_SECRET_KEY: external: true - DJANGO_TG_BOT_TOKEN: + BACKEND_TG_BOT_TOKEN: external: true - DJANGO_DB_NAME: + BACKEND_DB_NAME: external: true - DJANGO_DB_USER: + BACKEND_DB_USER: external: true - DJANGO_DB_PASSWD: + BACKEND_DB_PASSWD: external: true - DJANGO_EMAIL_API_KEY: + BACKEND_EMAIL_API_KEY: external: true - DJANGO_EMAIL_API_SECRET: + BACKEND_EMAIL_API_SECRET: external: true volumes: