Use django-suit for SIK Admin

This commit is contained in:
Jan Tuomi
2017-09-28 23:36:12 +03:00
parent 285a0e7dbf
commit 8f06190bd0
12 changed files with 428 additions and 104 deletions
Binary file not shown.
+117 -51
View File
@@ -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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 ""
Binary file not shown.
+107 -51
View File
@@ -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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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"
+1
View File
@@ -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
+30
View File
@@ -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
}
+17
View File
@@ -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;
}
+74
View File
@@ -0,0 +1,74 @@
{% extends "admin/base.html" %}
{% load admin_static %}
{% load i18n %}
{# Additional <head> content here, some extra meta tags or favicon #}
{#{% block extrahead %}#}
{#{% endblock %}#}
{# Additional CSS includes #}
{% block extrastyle %}
<link rel="stylesheet" type="text/css" href="{% static 'css/sikadmin.css' %}" media="all">
{% endblock %}
{# Additional JS files in footer, right before </body> #}
{#{% block extrajs %}#}
{# <script type="text/javascript" src="{% static 'js/my_project.js' %}"></script>#}
{#{% endblock %}#}
{# Footer links (left side) #}
{#{% block footer_links %}#}
{# <a href="/docs/" class="icon"><i class="icon-question-sign"></i>Documentation</a>#}
{#{% endblock %}#}
{# Additional header content like notifications or language switcher #}
{% block header_content %}
{{ block.super }}
<div class="header-content">
<form action="{% url 'set_language' %}" method="post">{% csrf_token %}
<input name="next" type="hidden" value="{{ redirect_to }}" />
<select name="language" style="width: auto;">
{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as LANGUAGES %}
{% get_language_info_list for LANGUAGES as languages %}
{% for language in languages %}
<option value="{{ language.code }}"{% if language.code == LANGUAGE_CODE %} selected="selected"{% endif %}>
{{ language.name_local }} ({{ language.code }})
</option>
{% endfor %}
</select>
<input class="btn btn-high" type="submit" value="{% trans 'Go' %}" style="vertical-align: top;"/>
</form>
<!-- First icon column -->
<!--
<div class="header-column icon">
<i class="icon-home"></i><br>
<i class="icon-cog"></i>
</div>
<div class="header-column" style="margin-right: 20px">
<a href="/" class="grey">Front-end</a><br>
<a href="" class="grey">One more link</a>
</div>
Second icon column
<div class="header-column icon">
<i class="icon-comment"></i>
</div>
<div class="header-column">
<a href="" class="grey">5 new messages</a>
</div>
-->
</div>
{% endblock %}
{# Footer branding name (center) #}
{#{% block footer_branding %}#}
{#{% endblock %}#}
{# Footer copyright (right side) #}
{#{% block copyright %}#}
{# Copyright &copy; 2013 Client<br>Developed by <a href="http://yoursite.com" target="_blank">YourName</a> #}
{#{% endblock %}#}
+2 -1
View File
@@ -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)
@@ -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),
),
]
+31
View File
@@ -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."""
+8 -1
View File
@@ -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',)