diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo index 6364efb..b901384 100644 Binary files a/locale/en/LC_MESSAGES/django.mo and b/locale/en/LC_MESSAGES/django.mo differ diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index 839ce4d..158fbe0 100644 --- a/locale/en/LC_MESSAGES/django.po +++ b/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-25 21:32+0300\n" +"POT-Creation-Date: 2017-09-28 22:57+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,7 +33,7 @@ msgstr "External website" msgid "Sössö articles" msgstr "Sössö articles" -#: infoscreen/models.py:199 +#: infoscreen/models.py:199 webapp/models.py:70 msgid "Events" msgstr "Events" @@ -169,8 +169,8 @@ msgstr "Select rotation to edit" msgid "id" msgstr "id" -#: infoscreen/templates/infoscreen_admin.html:141 webapp/models.py:60 -#: webapp/models.py:94 webapp/models.py:107 +#: infoscreen/templates/infoscreen_admin.html:141 webapp/models.py:91 +#: webapp/models.py:125 webapp/models.py:138 msgid "Name" msgstr "Name" @@ -184,12 +184,12 @@ msgid "Language" msgstr "Language" #: infoscreen/templates/infoscreen_admin.html:161 -#: members/templates/settings.html:20 sikweb/base.py:216 +#: members/templates/settings.html:20 sikweb/base.py:221 msgid "Finnish" msgstr "Finnish" #: infoscreen/templates/infoscreen_admin.html:162 -#: members/templates/settings.html:21 sikweb/base.py:217 +#: members/templates/settings.html:21 sikweb/base.py:222 msgid "English" msgstr "English" @@ -200,56 +200,56 @@ msgstr "English" msgid "Submit" msgstr "Submitted" -#: members/forms.py:103 members/tables.py:32 +#: members/forms.py:110 members/tables.py:32 msgid "Member" msgstr "Member" -#: members/models.py:13 +#: members/models.py:14 msgid "First name" msgstr "First name" -#: members/models.py:14 +#: members/models.py:15 msgid "Last name" msgstr "Last name" -#: members/models.py:15 webapp/models.py:95 webapp/models.py:108 +#: members/models.py:16 webapp/models.py:126 webapp/models.py:139 msgid "Email" msgstr "Email" -#: members/models.py:16 +#: members/models.py:17 msgid "Place of residence" msgstr "Place of residence" -#: members/models.py:18 members/models.py:83 +#: members/models.py:19 members/models.py:70 #: members/templates/member_add_many.html:35 msgid "AYY" msgstr "AYY" -#: members/models.py:19 +#: members/models.py:20 msgid "JAS" msgstr "JAS" -#: members/models.py:69 +#: members/models.py:51 msgid "Submitted" msgstr "Submitted" -#: members/models.py:81 +#: members/models.py:68 msgid "Date" msgstr "Date" -#: members/models.py:82 +#: members/models.py:69 msgid "Source" msgstr "Source" -#: members/models.py:84 +#: members/models.py:71 msgid "Cash" msgstr "Cash" -#: members/models.py:85 members/templates/member_add_many.html:36 +#: members/models.py:72 members/templates/member_add_many.html:36 msgid "Bank transfer" msgstr "Bank transfer" -#: members/models.py:102 +#: members/models.py:96 msgid "Created" msgstr "Created" @@ -453,130 +453,196 @@ msgstr "Payment events" msgid "Payments in register:" msgstr "Member register" -#: members/views/applications.py:49 members/views/applications.py:96 -#: members/views/applications.py:124 +#: members/views/applications.py:51 members/views/applications.py:100 +#: members/views/applications.py:129 msgid "No application id specified" msgstr "No application id specified" -#: members/views/applications.py:77 +#: members/views/applications.py:80 msgid "Successfully accepted application" msgstr "Successfully accepted application" -#: members/views/applications.py:84 +#: members/views/applications.py:87 msgid "Could not accept application object" msgstr "Could not accept application object" -#: members/views/applications.py:100 +#: members/views/applications.py:104 msgid "Successfully deleted application" msgstr "Successfully deleted application" -#: members/views/applications.py:112 +#: members/views/applications.py:116 msgid "Could not delete application object" msgstr "Could not delete application object" -#: members/views/members.py:70 members/views/members.py:163 -#: members/views/members.py:189 +#: members/views/members.py:74 members/views/members.py:172 +#: members/views/members.py:199 msgid "No member id specified" msgstr "No member id specified" -#: members/views/members.py:105 +#: members/views/members.py:111 msgid "Failed to import members" msgstr "Failed to import members" -#: members/views/members.py:118 +#: members/views/members.py:125 msgid "Successfully added member" msgstr "Successfully added member" -#: members/views/members.py:143 +#: members/views/members.py:151 msgid "Successfully updated member" msgstr "Successfully updated member" -#: members/views/members.py:151 +#: members/views/members.py:159 msgid "Could not update member object" msgstr "Could not update member object" -#: members/views/members.py:167 +#: members/views/members.py:176 msgid "Successfully deleted member" msgstr "Successfully deleted member" -#: members/views/members.py:178 +#: members/views/members.py:187 msgid "Could not delete member object" msgstr "Could not delete member object" -#: members/views/payments.py:69 +#: members/views/payments.py:70 msgid "Successfully added payment for member" msgstr "Successfully added payment for member" -#: members/views/payments.py:87 members/views/payments.py:105 -#: members/views/payments.py:124 +#: members/views/payments.py:89 members/views/payments.py:108 +#: members/views/payments.py:128 msgid "No payment id specified" msgstr "No payment id specified" -#: members/views/payments.py:129 +#: members/views/payments.py:133 msgid "Successfully deleted payment" msgstr "Successfully deleted payment" -#: members/views/payments.py:139 +#: members/views/payments.py:143 msgid "Could not delete payment object" msgstr "Could not delete payment object" -#: members/views/payments.py:158 +#: members/views/payments.py:163 msgid "Successfully updated payment" msgstr "Successfully updated payment" -#: members/views/payments.py:165 +#: members/views/payments.py:170 msgid "Could not update payment object" msgstr "Could not update payment object" -#: members/views/utils.py:110 +#: members/views/utils.py:115 msgid "Missing \"textfield\" POST request field" msgstr "Missing \"textfield\" POST request field" +#: templates/admin/base_site.html:33 +#, fuzzy +#| msgid "Language" +msgid "language" +msgstr "Language" + +#: templates/admin/base_site.html:43 +msgid "Go" +msgstr "" + #: templates/footer.html:7 msgid "Copyright Aalto-yliopiston Sähköinsinöörikilta ry" msgstr "Copyright Aalto-yliopiston Sähköinsinöörikilta ry" -#: webapp/models.py:61 +#: webapp/models.py:15 +msgid "Webapp" +msgstr "" + +#: webapp/models.py:26 +msgid "Tag" +msgstr "" + +#: webapp/models.py:27 +msgid "Tags" +msgstr "" + +#: webapp/models.py:30 +msgid "Tag: {}" +msgstr "" + +#: webapp/models.py:50 +msgid "Feed: {}" +msgstr "" + +#: webapp/models.py:53 +msgid "Feed" +msgstr "" + +#: webapp/models.py:54 +msgid "Feeds" +msgstr "" + +#: webapp/models.py:66 +#, fuzzy +#| msgid "Events" +msgid "Event: {}" +msgstr "Events" + +#: webapp/models.py:69 +#, fuzzy +#| msgid "Events" +msgid "Event" +msgstr "Events" + +#: webapp/models.py:81 +msgid "Registration: {}" +msgstr "" + +#: webapp/models.py:84 +#, fuzzy +#| msgid "Rotation" +msgid "Registration" +msgstr "Rotation" + +#: webapp/models.py:85 +#, fuzzy +#| msgid "Rotations" +msgid "Registrations" +msgstr "Rotations" + +#: webapp/models.py:92 #, fuzzy #| msgid "Add member" msgid "Board member" msgstr "Add member" -#: webapp/models.py:67 +#: webapp/models.py:98 #, fuzzy #| msgid "Duration" msgid "Description" msgstr "Duration" -#: webapp/models.py:68 +#: webapp/models.py:99 msgid "Summary" msgstr "" -#: webapp/models.py:96 +#: webapp/models.py:127 msgid "Message" msgstr "" -#: webapp/models.py:109 +#: webapp/models.py:140 msgid "Year" msgstr "" -#: webapp/models.py:123 +#: webapp/models.py:154 msgid "Role" msgstr "" -#: webapp/models.py:125 +#: webapp/models.py:156 msgid "Start date" msgstr "" -#: webapp/models.py:126 +#: webapp/models.py:157 msgid "End date" msgstr "" -#: webapp/models.py:136 +#: webapp/models.py:167 msgid "Official" msgstr "" -#: webapp/models.py:138 +#: webapp/models.py:169 msgid "Phone number" msgstr "" diff --git a/locale/fi/LC_MESSAGES/django.mo b/locale/fi/LC_MESSAGES/django.mo index d57a49a..23bf56e 100644 Binary files a/locale/fi/LC_MESSAGES/django.mo and b/locale/fi/LC_MESSAGES/django.mo differ diff --git a/locale/fi/LC_MESSAGES/django.po b/locale/fi/LC_MESSAGES/django.po index 2145ded..66aa1fd 100644 --- a/locale/fi/LC_MESSAGES/django.po +++ b/locale/fi/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-25 21:32+0300\n" +"POT-Creation-Date: 2017-09-28 22:57+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -34,7 +34,7 @@ msgstr "Ulkoinen verkkosivu" msgid "Sössö articles" msgstr "Sössön artikkelit" -#: infoscreen/models.py:199 +#: infoscreen/models.py:199 webapp/models.py:70 msgid "Events" msgstr "Tapahtumat" @@ -168,8 +168,8 @@ msgstr "Valitse muokattava rotaatio" msgid "id" msgstr "id" -#: infoscreen/templates/infoscreen_admin.html:141 webapp/models.py:60 -#: webapp/models.py:94 webapp/models.py:107 +#: infoscreen/templates/infoscreen_admin.html:141 webapp/models.py:91 +#: webapp/models.py:125 webapp/models.py:138 msgid "Name" msgstr "Nimi" @@ -183,12 +183,12 @@ msgid "Language" msgstr "Kieli" #: infoscreen/templates/infoscreen_admin.html:161 -#: members/templates/settings.html:20 sikweb/base.py:216 +#: members/templates/settings.html:20 sikweb/base.py:221 msgid "Finnish" msgstr "suomi" #: infoscreen/templates/infoscreen_admin.html:162 -#: members/templates/settings.html:21 sikweb/base.py:217 +#: members/templates/settings.html:21 sikweb/base.py:222 msgid "English" msgstr "englanti" @@ -197,56 +197,56 @@ msgstr "englanti" msgid "Submit" msgstr "Lisää" -#: members/forms.py:103 members/tables.py:32 +#: members/forms.py:110 members/tables.py:32 msgid "Member" msgstr "Jäsen" -#: members/models.py:13 +#: members/models.py:14 msgid "First name" msgstr "Etunimi" -#: members/models.py:14 +#: members/models.py:15 msgid "Last name" msgstr "Sukunimi" -#: members/models.py:15 webapp/models.py:95 webapp/models.py:108 +#: members/models.py:16 webapp/models.py:126 webapp/models.py:139 msgid "Email" msgstr "Sähköposti" -#: members/models.py:16 +#: members/models.py:17 msgid "Place of residence" msgstr "Asuinpaikka" -#: members/models.py:18 members/models.py:83 +#: members/models.py:19 members/models.py:70 #: members/templates/member_add_many.html:35 msgid "AYY" msgstr "AYY" -#: members/models.py:19 +#: members/models.py:20 msgid "JAS" msgstr "JAS" -#: members/models.py:69 +#: members/models.py:51 msgid "Submitted" msgstr "Lisätty" -#: members/models.py:81 +#: members/models.py:68 msgid "Date" msgstr "Päivämäärä" -#: members/models.py:82 +#: members/models.py:69 msgid "Source" msgstr "Lähde" -#: members/models.py:84 +#: members/models.py:71 msgid "Cash" msgstr "Käteinen" -#: members/models.py:85 members/templates/member_add_many.html:36 +#: members/models.py:72 members/templates/member_add_many.html:36 msgid "Bank transfer" msgstr "Tilisiirto" -#: members/models.py:102 +#: members/models.py:96 msgid "Created" msgstr "Lisätty" @@ -443,126 +443,182 @@ msgstr "Maksutapahtumat" msgid "Payments in register:" msgstr "Maksutapahtumia:" -#: members/views/applications.py:49 members/views/applications.py:96 -#: members/views/applications.py:124 +#: members/views/applications.py:51 members/views/applications.py:100 +#: members/views/applications.py:129 msgid "No application id specified" msgstr "Hakemuksen ID ei määritelty" -#: members/views/applications.py:77 +#: members/views/applications.py:80 msgid "Successfully accepted application" msgstr "Onnistuneesti hyväksyttiin hakemus" -#: members/views/applications.py:84 +#: members/views/applications.py:87 msgid "Could not accept application object" msgstr "Hakemusobjektia ei voitu hyväksyä" -#: members/views/applications.py:100 +#: members/views/applications.py:104 msgid "Successfully deleted application" msgstr "Onnistuneesti poistettiin hakemus" -#: members/views/applications.py:112 +#: members/views/applications.py:116 msgid "Could not delete application object" msgstr "Hakemusobjektia ei voitu poistaa" -#: members/views/members.py:70 members/views/members.py:163 -#: members/views/members.py:189 +#: members/views/members.py:74 members/views/members.py:172 +#: members/views/members.py:199 msgid "No member id specified" msgstr "Jäsenen ID ei määritelty" -#: members/views/members.py:105 +#: members/views/members.py:111 msgid "Failed to import members" msgstr "Jäsenten tuonti epäonnistui" -#: members/views/members.py:118 +#: members/views/members.py:125 msgid "Successfully added member" msgstr "Onnistuneesti lisättiin jäsen" -#: members/views/members.py:143 +#: members/views/members.py:151 msgid "Successfully updated member" msgstr "Onnistuneesti päivitettiin jäsen" -#: members/views/members.py:151 +#: members/views/members.py:159 msgid "Could not update member object" msgstr "Jäsenobjektia ei voitu päivittää" -#: members/views/members.py:167 +#: members/views/members.py:176 msgid "Successfully deleted member" msgstr "Onnistuneesti poistettiin jäsen" -#: members/views/members.py:178 +#: members/views/members.py:187 msgid "Could not delete member object" msgstr "Jäsenobjektia ei voitu poistaa" -#: members/views/payments.py:69 +#: members/views/payments.py:70 msgid "Successfully added payment for member" msgstr "Onnistuneesti lisättiin maksutapahtuma jäsenelle" -#: members/views/payments.py:87 members/views/payments.py:105 -#: members/views/payments.py:124 +#: members/views/payments.py:89 members/views/payments.py:108 +#: members/views/payments.py:128 msgid "No payment id specified" msgstr "Maksutapahtuman ID ei määritelty" -#: members/views/payments.py:129 +#: members/views/payments.py:133 msgid "Successfully deleted payment" msgstr "Onnistuneesti poistettiin maksutapahtuma" -#: members/views/payments.py:139 +#: members/views/payments.py:143 msgid "Could not delete payment object" msgstr "Maksutapahtumaobjektia ei voitu poistaa" -#: members/views/payments.py:158 +#: members/views/payments.py:163 msgid "Successfully updated payment" msgstr "Onnistuneesti päivitettiin maksutapahtuma" -#: members/views/payments.py:165 +#: members/views/payments.py:170 msgid "Could not update payment object" msgstr "Maksutapahtumaobjektia ei voitu päivittää" -#: members/views/utils.py:110 +#: members/views/utils.py:115 msgid "Missing \"textfield\" POST request field" msgstr "Puuttuva \"textfield\" POST-kenttä" +#: templates/admin/base_site.html:33 +msgid "language" +msgstr "Kieli" + +#: templates/admin/base_site.html:43 +msgid "Go" +msgstr "Vaihda" + #: templates/footer.html:7 msgid "Copyright Aalto-yliopiston Sähköinsinöörikilta ry" msgstr "Copyright Aalto-yliopiston Sähköinsinöörikilta ry" -#: webapp/models.py:61 +#: webapp/models.py:15 +msgid "Webapp" +msgstr "Nettisivut" + +#: webapp/models.py:26 +msgid "Tag" +msgstr "Tunniste" + +#: webapp/models.py:27 +msgid "Tags" +msgstr "Tunnisteet" + +#: webapp/models.py:30 +msgid "Tag: {}" +msgstr "Tunniste: {}" + +#: webapp/models.py:50 +msgid "Feed: {}" +msgstr "Uutinen: {}" + +#: webapp/models.py:53 +msgid "Feed" +msgstr "Uutinen" + +#: webapp/models.py:54 +msgid "Feeds" +msgstr "Uutiset" + +#: webapp/models.py:66 +msgid "Event: {}" +msgstr "Tapahtuma: {}" + +#: webapp/models.py:69 +msgid "Event" +msgstr "Tapahtuma" + +#: webapp/models.py:81 +msgid "Registration: {}" +msgstr "Registration: {}" + +#: webapp/models.py:84 +msgid "Registration" +msgstr "Ilmoittautuminen" + +#: webapp/models.py:85 +msgid "Registrations" +msgstr "Ilmoittautumiset" + +#: webapp/models.py:92 msgid "Board member" msgstr "Hallituksen jäsen" -#: webapp/models.py:67 +#: webapp/models.py:98 msgid "Description" msgstr "Kuvaus" -#: webapp/models.py:68 +#: webapp/models.py:99 msgid "Summary" msgstr "Tiivistelmä" -#: webapp/models.py:96 +#: webapp/models.py:127 msgid "Message" msgstr "Viesti" -#: webapp/models.py:109 +#: webapp/models.py:140 msgid "Year" msgstr "Vuosi" -#: webapp/models.py:123 +#: webapp/models.py:154 msgid "Role" msgstr "Rooli" -#: webapp/models.py:125 +#: webapp/models.py:156 msgid "Start date" msgstr "Alkupäivämäärä" -#: webapp/models.py:126 +#: webapp/models.py:157 msgid "End date" msgstr "Loppupäivämäärä" -#: webapp/models.py:136 +#: webapp/models.py:167 msgid "Official" msgstr "Toimihenkilö" -#: webapp/models.py:138 +#: webapp/models.py:169 msgid "Phone number" msgstr "Puhelinnumero" diff --git a/requirements.txt b/requirements.txt index 42871fa..8c2804c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -28,3 +28,4 @@ django-phonenumber-field==1.3.0 paho-mqtt==1.3.0 django-autocomplete-light==3.2.10 six==1.10.0 +django-suit==0.2.25 diff --git a/sikweb/base.py b/sikweb/base.py index 5cdb35a..aa5ec1c 100644 --- a/sikweb/base.py +++ b/sikweb/base.py @@ -64,6 +64,7 @@ LOGGING = { INSTALLED_APPS = [ 'modeltranslation', # has to be before admin for translation admin to work + 'suit', 'dal', 'dal_select2', 'django.contrib.admin', @@ -249,3 +250,32 @@ STATICFILES_DIRS = ( ) MEDIA_ROOT = os.path.join(BASE_DIR, 'media') MEDIA_URL = '/media/' + +SUIT_CONFIG = { + # header + 'ADMIN_NAME': 'SIK Admin', + # 'HEADER_DATE_FORMAT': 'l, j. F Y', + # 'HEADER_TIME_FORMAT': 'H:i', + + # forms + # 'SHOW_REQUIRED_ASTERISK': True, # Default True + # 'CONFIRM_UNSAVED_CHANGES': True, # Default True + + # menu + # 'SEARCH_URL': '/admin/auth/user/', + # 'MENU_ICONS': { + # 'sites': 'icon-leaf', + # 'auth': 'icon-lock', + # }, + # 'MENU_OPEN_FIRST_CHILD': True, # Default True + # 'MENU_EXCLUDE': ('auth.group',), + # 'MENU': ( + # 'sites', + # {'app': 'auth', 'icon':'icon-lock', 'models': ('user', 'group')}, + # {'label': 'Settings', 'icon':'icon-cog', 'models': ('auth.user', 'auth.group')}, + # {'label': 'Support', 'icon':'icon-question-sign', 'url': '/support/'}, + # ), + + # misc + # 'LIST_PER_PAGE': 15 +} diff --git a/static/css/sikadmin.css b/static/css/sikadmin.css new file mode 100644 index 0000000..41aeb61 --- /dev/null +++ b/static/css/sikadmin.css @@ -0,0 +1,17 @@ +body { + font-size: 14px; +} + +.header { + background: #003366; + padding-top: 1rem; + padding-bottom: 1rem; +} + +.header #branding { + border-right: 0px; +} + +.header .header-content.header-content-first { + border-left: 0px; +} diff --git a/templates/admin/base_site.html b/templates/admin/base_site.html new file mode 100644 index 0000000..ee05b40 --- /dev/null +++ b/templates/admin/base_site.html @@ -0,0 +1,74 @@ +{% extends "admin/base.html" %} +{% load admin_static %} + +{% load i18n %} +{# Additional content here, some extra meta tags or favicon #} +{#{% block extrahead %}#} +{#{% endblock %}#} + + +{# Additional CSS includes #} +{% block extrastyle %} + +{% endblock %} + + +{# Additional JS files in footer, right before #} +{#{% block extrajs %}#} +{# #} +{#{% endblock %}#} + + +{# Footer links (left side) #} +{#{% block footer_links %}#} +{# Documentation#} +{#{% endblock %}#} + +{# Additional header content like notifications or language switcher #} +{% block header_content %} + {{ block.super }} +
+
{% csrf_token %} + + + +
+ + +
+{% endblock %} + +{# Footer branding name (center) #} +{#{% block footer_branding %}#} +{#{% endblock %}#} + + +{# Footer copyright (right side) #} +{#{% block copyright %}#} +{# Copyright © 2013 Client
Developed by YourName #} +{#{% endblock %}#} diff --git a/webapp/admin.py b/webapp/admin.py index b0b4349..59a0086 100644 --- a/webapp/admin.py +++ b/webapp/admin.py @@ -2,7 +2,7 @@ from django.contrib import admin from webapp.models import Official, Role -from webapp.models import Feed, Tag, BaseFeed, Event +from webapp.models import Feed, Tag, BaseFeed, Event, Registration from webapp.models import KaehmyForm, KaehmyMessage from webapp.models import CustomKaehmyRole, PresetKaehmyRole from modeltranslation.admin import TranslationAdmin @@ -15,6 +15,7 @@ admin.site.register(Permission) admin.site.register(Feed, TranslationAdmin) admin.site.register(Tag, TranslationAdmin) admin.site.register(Event, TranslationAdmin) +admin.site.register(Registration, TranslationAdmin) admin.site.register(Official) admin.site.register(Role) admin.site.register(KaehmyForm) diff --git a/webapp/migrations/0015_auto_20170928_2331.py b/webapp/migrations/0015_auto_20170928_2331.py new file mode 100644 index 0000000..baaa4bb --- /dev/null +++ b/webapp/migrations/0015_auto_20170928_2331.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11 on 2017-09-28 20:31 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('webapp', '0014_auto_20170920_1807'), + ] + + operations = [ + migrations.AlterModelOptions( + name='event', + options={'verbose_name': 'Event', 'verbose_name_plural': 'Events'}, + ), + migrations.AlterModelOptions( + name='feed', + options={'verbose_name': 'Feed', 'verbose_name_plural': 'Feeds'}, + ), + migrations.AlterModelOptions( + name='registration', + options={'verbose_name': 'Registration', 'verbose_name_plural': 'Registrations'}, + ), + migrations.AlterModelOptions( + name='tag', + options={'verbose_name': 'Tag', 'verbose_name_plural': 'Tags'}, + ), + migrations.AddField( + model_name='registration', + name='name_en', + field=models.CharField(max_length=255, null=True), + ), + migrations.AddField( + model_name='registration', + name='name_fi', + field=models.CharField(max_length=255, null=True), + ), + ] diff --git a/webapp/models.py b/webapp/models.py index 812d9f9..b48add0 100644 --- a/webapp/models.py +++ b/webapp/models.py @@ -12,6 +12,9 @@ from phonenumber_field.modelfields import PhoneNumberField from django.contrib.postgres.fields import JSONField +VERBOSE_NAME = _('Webapp') + + class Tag(models.Model): """Model for tag.""" @@ -19,6 +22,13 @@ class Tag(models.Model): name = models.CharField(max_length=127) icon = models.ImageField() + class Meta: + verbose_name = _('Tag') + verbose_name_plural = _('Tags') + + def __str__(self): + return _('Tag: {}').format(self.slug) + class BaseFeed(models.Model): """Model containing something showing on some info feed.""" @@ -36,6 +46,13 @@ class Feed(BaseFeed): publish_time = models.DateTimeField(default=timezone.now) autohide = models.DateTimeField(default=month_from_now) + def __str__(self): + return _('Feed: {}').format(self.title) + + class Meta: + verbose_name = _('Feed') + verbose_name_plural = _('Feeds') + class Event(BaseFeed): """Model for event.""" @@ -45,6 +62,13 @@ class Event(BaseFeed): registration = models.ForeignKey( 'Registration', on_delete=models.CASCADE, null=True) + def __str__(self): + return _('Event: {}').format(self.title) + + class Meta: + verbose_name = _('Event') + verbose_name_plural = _('Events') + class Registration(models.Model): """Model for event registration.""" @@ -53,6 +77,13 @@ class Registration(models.Model): email = models.EmailField() options = JSONField() + def __str__(self): + return _('Registration: {}').format(self.name) + + class Meta: + verbose_name = _('Registration') + verbose_name_plural = _('Registrations') + class BaseRole(models.Model): """Base model for occupations/roles.""" diff --git a/webapp/translation.py b/webapp/translation.py index 9ee016d..36b4cfc 100644 --- a/webapp/translation.py +++ b/webapp/translation.py @@ -1,7 +1,7 @@ """Translation classes.""" from modeltranslation.translator import register, TranslationOptions -from webapp.models import BaseFeed, Feed, Tag, Event +from webapp.models import BaseFeed, Feed, Tag, Event, Registration @register(BaseFeed) @@ -30,3 +30,10 @@ class TagTranslationOptions(TranslationOptions): """Class for tag translation options.""" fields = ('name',) + + +@register(Registration) +class RegistrationTranslationOptions(TranslationOptions): + """Class for registration translation options.""" + + fields = ('name',)