From 8d707b8cbc6d17d2b1fe3b29c2a7c4340987cfda Mon Sep 17 00:00:00 2001 From: erichhasl Date: Wed, 11 Oct 2017 11:46:52 +0200 Subject: [PATCH 1/8] rename queue field --- jdav_web/members/admin.py | 7 ++++--- .../members/locale/de/LC_MESSAGES/django.po | 17 ++++++++++------- jdav_web/members/models.py | 2 +- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/jdav_web/members/admin.py b/jdav_web/members/admin.py index 3ff87fb..fdd5d50 100644 --- a/jdav_web/members/admin.py +++ b/jdav_web/members/admin.py @@ -24,9 +24,10 @@ from easy_select2 import apply_select2 # Register your models here. class MemberAdmin(admin.ModelAdmin): fields = ['prename', 'lastname', 'email', 'email_parents', 'street', 'town', 'phone_number', 'phone_number_parents', 'birth_date', 'group', - 'gets_newsletter', 'queue', 'registration_form', 'comments'] - list_display = ('name', 'birth_date', 'gets_newsletter', 'get_group', 'queue', 'created', 'comments') - list_filter = ('group', 'gets_newsletter', 'queue') + 'gets_newsletter', 'registered', 'registration_form', 'comments'] + list_display = ('name', 'birth_date', 'get_group', 'gets_newsletter', + 'registered', 'created', 'comments') + list_filter = ('group', 'gets_newsletter', 'registered') formfield_overrides = { ManyToManyField: {'widget': forms.CheckboxSelectMultiple}, ForeignKey: {'widget': apply_select2(forms.Select)} diff --git a/jdav_web/members/locale/de/LC_MESSAGES/django.po b/jdav_web/members/locale/de/LC_MESSAGES/django.po index bb8b782..9fa8986 100644 --- a/jdav_web/members/locale/de/LC_MESSAGES/django.po +++ b/jdav_web/members/locale/de/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-18 17:27+0200\n" +"POT-Creation-Date: 2017-10-11 11:50+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,19 +18,19 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: admin.py:58 +#: admin.py:59 msgid "Difficulty" msgstr "Schwierigkeit" -#: admin.py:62 +#: admin.py:63 msgid "Tour type" msgstr "Art der Tour" -#: admin.py:199 +#: admin.py:200 msgid "Convert to PDF" msgstr "Kriseninterventionsliste erstellen" -#: admin.py:305 +#: admin.py:306 msgid "Generate overview" msgstr "Hinweise für Jugendleiter erstellen" @@ -115,8 +115,8 @@ msgid "created" msgstr "erstellt" #: models.py:67 -msgid "queue" -msgstr "Warteliste" +msgid "Registration complete" +msgstr "Anmeldung vollständig" #: models.py:68 msgid "registration form" @@ -218,6 +218,9 @@ msgstr "Fähigkeiten:" msgid "Skill level" msgstr "Fähigkeitsniveau" +#~ msgid "queue" +#~ msgstr "Warteliste" + #~ msgid "Art der Tour" #~ msgstr "Art der Tour" diff --git a/jdav_web/members/models.py b/jdav_web/members/models.py index ecc1d0e..e568499 100644 --- a/jdav_web/members/models.py +++ b/jdav_web/members/models.py @@ -64,7 +64,7 @@ class Member(models.Model): unsubscribe_expire = models.DateTimeField(default=timezone.now) comments = models.TextField(_('comments'), default='', blank=True) created = models.DateField(auto_now=True, verbose_name=_('created')) - queue = models.BooleanField(default=False, verbose_name=_('queue')) + registered = models.BooleanField(default=False, verbose_name=_('Registration complete')) registration_form = models.ImageField(verbose_name=_('registration form'), blank=True) def __str__(self): From 1b8e95286601872a9bac8186976b8e01bcfe052c Mon Sep 17 00:00:00 2001 From: erichhasl Date: Wed, 11 Oct 2017 12:35:31 +0200 Subject: [PATCH 2/8] add custom filter that has a default field --- jdav_web/members/admin.py | 41 ++++++++++++++++++- .../members/locale/de/LC_MESSAGES/django.po | 30 ++++++++++---- 2 files changed, 61 insertions(+), 10 deletions(-) diff --git a/jdav_web/members/admin.py b/jdav_web/members/admin.py index fdd5d50..13b9214 100644 --- a/jdav_web/members/admin.py +++ b/jdav_web/members/admin.py @@ -21,13 +21,52 @@ from django.conf import settings from easy_select2 import apply_select2 +class RegistrationFilter(admin.SimpleListFilter): + title = _('Registration complete') + parameter_name = 'registered' + default_value = ('All', None) + + def lookups(self, request, model_admin): + return ( + ('True', _('True')), + ('False', _('False')), + ('All', _('All')) + ) + + def queryset(self, request, queryset): + if self.value() == 'True': + return queryset.filter(registered=True) + elif self.value() == 'False': + return queryset.filter(registered=False) + elif self.value() is None: + if self.default_value[1] is None: + return queryset + else: + return queryset.filter(registered=self.default_value[1]) + elif self.value() == 'All': + return queryset + + def choices(self, cl): + for lookup, title in self.lookup_choices: + yield { + 'selected': + self.value() == lookup or + (self.value() is None and lookup == self.default_value[0]), + 'query_string': cl.get_query_string({ + self.parameter_name: + lookup, + }, []), + 'display': title + } + + # Register your models here. class MemberAdmin(admin.ModelAdmin): fields = ['prename', 'lastname', 'email', 'email_parents', 'street', 'town', 'phone_number', 'phone_number_parents', 'birth_date', 'group', 'gets_newsletter', 'registered', 'registration_form', 'comments'] list_display = ('name', 'birth_date', 'get_group', 'gets_newsletter', 'registered', 'created', 'comments') - list_filter = ('group', 'gets_newsletter', 'registered') + list_filter = ('group', 'gets_newsletter', RegistrationFilter) formfield_overrides = { ManyToManyField: {'widget': forms.CheckboxSelectMultiple}, ForeignKey: {'widget': apply_select2(forms.Select)} diff --git a/jdav_web/members/locale/de/LC_MESSAGES/django.po b/jdav_web/members/locale/de/LC_MESSAGES/django.po index 9fa8986..761db2e 100644 --- a/jdav_web/members/locale/de/LC_MESSAGES/django.po +++ b/jdav_web/members/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-10-11 11:50+0200\n" +"POT-Creation-Date: 2017-10-11 12:34+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,19 +18,35 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: admin.py:59 +#: admin.py:25 models.py:67 +msgid "Registration complete" +msgstr "Anmeldung vollständig" + +#: admin.py:31 +msgid "True" +msgstr "Ja" + +#: admin.py:32 +msgid "False" +msgstr "Nein" + +#: admin.py:33 +msgid "All" +msgstr "Alle" + +#: admin.py:98 msgid "Difficulty" msgstr "Schwierigkeit" -#: admin.py:63 +#: admin.py:102 msgid "Tour type" msgstr "Art der Tour" -#: admin.py:200 +#: admin.py:239 msgid "Convert to PDF" msgstr "Kriseninterventionsliste erstellen" -#: admin.py:306 +#: admin.py:345 msgid "Generate overview" msgstr "Hinweise für Jugendleiter erstellen" @@ -114,10 +130,6 @@ msgstr "Kommentare" msgid "created" msgstr "erstellt" -#: models.py:67 -msgid "Registration complete" -msgstr "Anmeldung vollständig" - #: models.py:68 msgid "registration form" msgstr "Anmeldeformular" From 555c1dc20f729e652d48c875edc828d0e7688132 Mon Sep 17 00:00:00 2001 From: erichhasl Date: Wed, 11 Oct 2017 13:06:40 +0200 Subject: [PATCH 3/8] add material category --- jdav_web/material/admin.py | 12 +++- .../material/locale/de/LC_MESSAGES/django.po | 56 ++++++++++++------- jdav_web/material/models.py | 16 ++++++ 3 files changed, 62 insertions(+), 22 deletions(-) diff --git a/jdav_web/material/admin.py b/jdav_web/material/admin.py index 31198a1..f324c77 100644 --- a/jdav_web/material/admin.py +++ b/jdav_web/material/admin.py @@ -4,10 +4,14 @@ from django.contrib.admin import SimpleListFilter from django.db import models from django import forms -from .models import MaterialPart, Ownership +from .models import MaterialPart, Ownership, MaterialCategory from easy_select2 import apply_select2 +class MaterialCategoryAdmin(admin.ModelAdmin): + fields = ['name'] + + # Register your models here. class OwnershipInline(admin.TabularInline): """ @@ -45,10 +49,14 @@ class MaterialAdmin(admin.ModelAdmin): 'ownership_overview', 'buy_date', 'lifetime', 'not_too_old', 'admin_thumbnail') inlines = [OwnershipInline] - list_filter = (NotTooOldFilter,) + list_filter = (NotTooOldFilter, 'material_cat') + formfield_overrides = { + models.ManyToManyField: {'widget': forms.CheckboxSelectMultiple} + } class Media: css = {'all': ('admin/css/tabular_hide_original.css',)} +admin.site.register(MaterialCategory, MaterialCategoryAdmin) admin.site.register(MaterialPart, MaterialAdmin) diff --git a/jdav_web/material/locale/de/LC_MESSAGES/django.po b/jdav_web/material/locale/de/LC_MESSAGES/django.po index 211e548..24af840 100644 --- a/jdav_web/material/locale/de/LC_MESSAGES/django.po +++ b/jdav_web/material/locale/de/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-07-05 19:07+0200\n" +"POT-Creation-Date: 2017-10-11 13:02+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,15 +18,15 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: admin.py:25 +#: admin.py:29 msgid "Age" msgstr "Alter" -#: admin.py:30 +#: admin.py:34 msgid "Not too old" msgstr "Nicht zu alt" -#: admin.py:31 +#: admin.py:35 msgid "Too old" msgstr "Zu alt" @@ -34,66 +34,82 @@ msgstr "Zu alt" msgid "material" msgstr "Material" -#: models.py:17 +#: models.py:15 +msgid "Name" +msgstr "Name" + +#: models.py:16 +msgid "Description" +msgstr "Beschreibung" + +#: models.py:22 models.py:39 +msgid "Material category" +msgstr "Materialart" + +#: models.py:23 +msgid "Material categories" +msgstr "Materialarten" + +#: models.py:32 msgid "name" msgstr "Name" -#: models.py:18 +#: models.py:33 msgid "description" msgstr "Beschreibung" -#: models.py:19 +#: models.py:34 msgid "quantity" msgstr "Anzahl" -#: models.py:20 +#: models.py:35 msgid "purchase date" msgstr "Kaufdatum" -#: models.py:21 +#: models.py:36 msgid "lifetime (years)" msgstr "Lebenszeit (Jahre)" -#: models.py:22 +#: models.py:37 msgid "photo" msgstr "Bild" -#: models.py:33 +#: models.py:50 msgid "Quantity" msgstr "Anzahl" -#: models.py:40 +#: models.py:57 msgid "Thumbnail" msgstr "Bild" -#: models.py:49 +#: models.py:66 msgid "Owners" msgstr "Verantwortliche" -#: models.py:59 +#: models.py:76 msgid "Not too old?" msgstr "Nicht zu alt?" -#: models.py:62 +#: models.py:79 msgid "material part" msgstr "Materialteil" -#: models.py:63 +#: models.py:80 msgid "material parts" msgstr "Materialteile" -#: models.py:69 +#: models.py:86 msgid "owner" msgstr "Besitzer" -#: models.py:70 +#: models.py:87 msgid "count" msgstr "Anzahl" -#: models.py:77 +#: models.py:94 msgid "ownership" msgstr "Besitzer" -#: models.py:78 +#: models.py:95 msgid "ownerships" msgstr "Verantwortliche" diff --git a/jdav_web/material/models.py b/jdav_web/material/models.py index d610775..f6253e5 100644 --- a/jdav_web/material/models.py +++ b/jdav_web/material/models.py @@ -8,6 +8,20 @@ from django.utils.translation import ugettext_lazy as _ MAX_TIME_MATERIAL = 5 +class MaterialCategory(models.Model): + """ + Describes one kind of material + """ + name = models.CharField(max_length=40, verbose_name=_('Name')) + + def __str__(self): + return self.name + + class Meta: + verbose_name = _('Material category') + verbose_name_plural = _('Material categories') + + # Create your models here. class MaterialPart(models.Model): """ @@ -20,6 +34,8 @@ class MaterialPart(models.Model): buy_date = models.DateField(_('purchase date'), editable=True) lifetime = models.DecimalField(_('lifetime (years)'), decimal_places=0, max_digits=3) photo = models.ImageField(_('photo'), upload_to='images', blank=True) + material_cat = models.ManyToManyField(MaterialCategory, default=None, + verbose_name=_('Material category')) def __str__(self): """String representation""" From 78bb9c93fc10667a4785cba8b0093fd3a6ecd138 Mon Sep 17 00:00:00 2001 From: erichhasl Date: Wed, 11 Oct 2017 14:00:17 +0200 Subject: [PATCH 4/8] add search fields --- jdav_web/mailer/admin.py | 1 + jdav_web/material/admin.py | 1 + jdav_web/members/admin.py | 3 +++ 3 files changed, 5 insertions(+) diff --git a/jdav_web/mailer/admin.py b/jdav_web/mailer/admin.py index d84a9a2..372943e 100644 --- a/jdav_web/mailer/admin.py +++ b/jdav_web/mailer/admin.py @@ -18,6 +18,7 @@ class AttachmentInline(admin.TabularInline): class MessageAdmin(admin.ModelAdmin): """Message creation view""" list_display = ('subject', 'get_recipients', 'sent') + search_fields = ('subject',) change_form_template = "mailer/change_form.html" formfield_overrides = { models.ManyToManyField: {'widget': forms.CheckboxSelectMultiple}, diff --git a/jdav_web/material/admin.py b/jdav_web/material/admin.py index f324c77..8f80a95 100644 --- a/jdav_web/material/admin.py +++ b/jdav_web/material/admin.py @@ -48,6 +48,7 @@ class MaterialAdmin(admin.ModelAdmin): list_display = ('name', 'description', 'quantity_real', 'ownership_overview', 'buy_date', 'lifetime', 'not_too_old', 'admin_thumbnail') + search_fields = ('name', 'description') inlines = [OwnershipInline] list_filter = (NotTooOldFilter, 'material_cat') formfield_overrides = { diff --git a/jdav_web/members/admin.py b/jdav_web/members/admin.py index 13b9214..ff81a19 100644 --- a/jdav_web/members/admin.py +++ b/jdav_web/members/admin.py @@ -66,6 +66,7 @@ class MemberAdmin(admin.ModelAdmin): 'gets_newsletter', 'registered', 'registration_form', 'comments'] list_display = ('name', 'birth_date', 'get_group', 'gets_newsletter', 'registered', 'created', 'comments') + search_fields = ('prename', 'lastname') list_filter = ('group', 'gets_newsletter', RegistrationFilter) formfield_overrides = { ManyToManyField: {'widget': forms.CheckboxSelectMultiple}, @@ -126,6 +127,7 @@ class MemberListAdmin(admin.ModelAdmin): inlines = [MemberOnListInline] form = MemberListAdminForm list_display = ['__str__', 'date'] + search_fields = ('name',) actions = ['convert_to_pdf', 'generate_notes'] formfield_overrides = { ManyToManyField: {'widget': forms.CheckboxSelectMultiple}, @@ -381,6 +383,7 @@ class KlettertreffAdmin(admin.ModelAdmin): exclude = [] inlines = [KlettertreffAttendeeInline] list_display = ['__str__', 'date', 'get_jugendleiter'] + search_fields = ('date', 'location', 'topic') list_filter = [('date', DateFieldListFilter), 'group__name'] actions = ['overview'] From bd477ad50c818426cbb9b40c9195c16c161140bd Mon Sep 17 00:00:00 2001 From: erichhasl Date: Wed, 11 Oct 2017 14:40:42 +0200 Subject: [PATCH 5/8] extend phone number length --- jdav_web/members/models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jdav_web/members/models.py b/jdav_web/members/models.py index e568499..11d5b54 100644 --- a/jdav_web/members/models.py +++ b/jdav_web/members/models.py @@ -51,8 +51,8 @@ class Member(models.Model): lastname = models.CharField(max_length=20, verbose_name=_('last name')) street = models.CharField(max_length=30, verbose_name=_('street'), default='', blank=True) town = models.CharField(max_length=30, verbose_name=_('town'), default='', blank=True) - phone_number = models.CharField(max_length=12, verbose_name=_('phone number'), default='', blank=True) - phone_number_parents = models.CharField(max_length=12, verbose_name=_('parents phone number'), default='', blank=True) + phone_number = models.CharField(max_length=18, verbose_name=_('phone number'), default='', blank=True) + phone_number_parents = models.CharField(max_length=18, verbose_name=_('parents phone number'), default='', blank=True) email = models.EmailField(max_length=100, default="") email_parents = models.EmailField(max_length=100, default="", blank=True, verbose_name=_("Parents' Email")) From 7233bd92dfcda28d9fb882dd3cfa369339973215 Mon Sep 17 00:00:00 2001 From: erichhasl Date: Wed, 11 Oct 2017 14:44:08 +0200 Subject: [PATCH 6/8] redirect from startpage to dav website --- jdav_web/startpage/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jdav_web/startpage/views.py b/jdav_web/startpage/views.py index fa24047..c7ad38f 100644 --- a/jdav_web/startpage/views.py +++ b/jdav_web/startpage/views.py @@ -1,6 +1,6 @@ -from django.shortcuts import render +from django.shortcuts import redirect # Create your views here. def index(request): - return render(request, 'startpage/index.html') + return redirect('http://www.alpenverein-ludwigsburg.de/index.php?id=122') From 99de79773737ca58743d4f47c933eac8d2dc4cc3 Mon Sep 17 00:00:00 2001 From: erichhasl Date: Wed, 11 Oct 2017 15:10:06 +0200 Subject: [PATCH 7/8] add postcode --- jdav_web/members/admin.py | 5 +- .../members/locale/de/LC_MESSAGES/django.po | 80 ++++++++++--------- jdav_web/members/models.py | 7 ++ 3 files changed, 52 insertions(+), 40 deletions(-) diff --git a/jdav_web/members/admin.py b/jdav_web/members/admin.py index ff81a19..2783318 100644 --- a/jdav_web/members/admin.py +++ b/jdav_web/members/admin.py @@ -62,7 +62,8 @@ class RegistrationFilter(admin.SimpleListFilter): # Register your models here. class MemberAdmin(admin.ModelAdmin): - fields = ['prename', 'lastname', 'email', 'email_parents', 'street', 'town', 'phone_number', 'phone_number_parents', 'birth_date', 'group', + fields = ['prename', 'lastname', 'email', 'email_parents', 'street', 'plz', + 'town', 'phone_number', 'phone_number_parents', 'birth_date', 'group', 'gets_newsletter', 'registered', 'registration_form', 'comments'] list_display = ('name', 'birth_date', 'get_group', 'gets_newsletter', 'registered', 'created', 'comments') @@ -162,7 +163,7 @@ class MemberListAdmin(admin.ModelAdmin): line = '{0} {1} & {2}, {3} & {4} & {5} \\\\ \n'.format( memberonlist.member.prename, memberonlist.member.lastname, memberonlist.member.street, - memberonlist.member.town, memberonlist.member.phone_number, + memberonlist.member.place, memberonlist.member.phone_number, memberonlist.member.email) f.write(esc_underscore(line)) diff --git a/jdav_web/members/locale/de/LC_MESSAGES/django.po b/jdav_web/members/locale/de/LC_MESSAGES/django.po index 761db2e..7c9daec 100644 --- a/jdav_web/members/locale/de/LC_MESSAGES/django.po +++ b/jdav_web/members/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-10-11 12:34+0200\n" +"POT-Creation-Date: 2017-10-11 14:50+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: admin.py:25 models.py:67 +#: admin.py:25 models.py:69 msgid "Registration complete" msgstr "Anmeldung vollständig" @@ -34,23 +34,23 @@ msgstr "Nein" msgid "All" msgstr "Alle" -#: admin.py:98 +#: admin.py:100 msgid "Difficulty" msgstr "Schwierigkeit" -#: admin.py:102 +#: admin.py:104 msgid "Tour type" msgstr "Art der Tour" -#: admin.py:239 +#: admin.py:242 msgid "Convert to PDF" msgstr "Kriseninterventionsliste erstellen" -#: admin.py:345 +#: admin.py:348 msgid "Generate overview" msgstr "Hinweise für Jugendleiter erstellen" -#: apps.py:7 models.py:105 +#: apps.py:7 models.py:107 msgid "members" msgstr "Teilnehmer" @@ -62,7 +62,7 @@ msgstr "Name" msgid "Description" msgstr "Beschreibung" -#: models.py:23 models.py:121 templates/members/change_member.html:9 +#: models.py:23 models.py:123 templates/members/change_member.html:9 msgid "Activity" msgstr "Aktivität" @@ -78,7 +78,7 @@ msgstr "Name" msgid "minimum age (years)" msgstr "Mindestalter (Jahre)" -#: models.py:41 models.py:60 +#: models.py:41 models.py:62 msgid "group" msgstr "Gruppe" @@ -99,122 +99,126 @@ msgid "street" msgstr "Straße" #: models.py:53 +msgid "Postcode" +msgstr "PLZ" + +#: models.py:55 msgid "town" msgstr "Stadt" -#: models.py:54 +#: models.py:56 msgid "phone number" msgstr "Telefonnummer" -#: models.py:55 +#: models.py:57 msgid "parents phone number" msgstr "Telefonnummer der Eltern" -#: models.py:58 +#: models.py:60 msgid "Parents' Email" msgstr "Email der Eltern" -#: models.py:59 +#: models.py:61 msgid "birth date" msgstr "Geburtsdatum" -#: models.py:61 +#: models.py:63 msgid "receives newsletter" msgstr "Erhält den Newsletter" -#: models.py:65 +#: models.py:67 msgid "comments" msgstr "Kommentare" -#: models.py:66 +#: models.py:68 msgid "created" msgstr "erstellt" -#: models.py:68 +#: models.py:70 msgid "registration form" msgstr "Anmeldeformular" -#: models.py:101 models.py:185 +#: models.py:103 models.py:187 msgid "Group" msgstr "Gruppe" -#: models.py:104 +#: models.py:106 msgid "member" msgstr "Teilnehmer" -#: models.py:123 +#: models.py:125 msgid "Place" msgstr "Ort" -#: models.py:124 +#: models.py:126 msgid "Destination (optional)" msgstr "Ziel (optional)" -#: models.py:126 models.py:181 +#: models.py:128 models.py:183 msgid "Date" msgstr "Datum" -#: models.py:127 +#: models.py:129 msgid "End (optional)" msgstr "Ende" -#: models.py:129 +#: models.py:131 msgid "Groups" msgstr "Gruppen" -#: models.py:137 +#: models.py:139 msgid "Categories" msgstr "Kategorien" -#: models.py:138 +#: models.py:140 msgid "easy" msgstr "leicht" -#: models.py:138 +#: models.py:140 msgid "medium" msgstr "mittel" -#: models.py:138 +#: models.py:140 msgid "hard" msgstr "schwer" -#: models.py:147 +#: models.py:149 msgid "Memberlist" msgstr "Teilnehmerliste" -#: models.py:148 +#: models.py:150 msgid "Memberlists" msgstr "Teilnehmerlisten" -#: models.py:163 models.py:171 models.py:216 models.py:223 +#: models.py:165 models.py:173 models.py:218 models.py:225 msgid "Member" msgstr "Teilnehmer" -#: models.py:165 +#: models.py:167 msgid "Comment" msgstr "Kommentar" -#: models.py:172 models.py:224 +#: models.py:174 models.py:226 msgid "Members" msgstr "Teilnehmer" -#: models.py:182 +#: models.py:184 msgid "Location" msgstr "Ort" -#: models.py:183 +#: models.py:185 msgid "Topic" msgstr "Thema" -#: models.py:207 +#: models.py:209 msgid "Jugendleiter" msgstr "Jugendleiter" -#: models.py:210 +#: models.py:212 msgid "Klettertreff" msgstr "Klettertreff" -#: models.py:211 +#: models.py:213 msgid "Klettertreffs" msgstr "Klettertreffs" diff --git a/jdav_web/members/models.py b/jdav_web/members/models.py index 11d5b54..98da325 100644 --- a/jdav_web/members/models.py +++ b/jdav_web/members/models.py @@ -50,6 +50,8 @@ class Member(models.Model): prename = models.CharField(max_length=20, verbose_name=_('prename')) lastname = models.CharField(max_length=20, verbose_name=_('last name')) street = models.CharField(max_length=30, verbose_name=_('street'), default='', blank=True) + plz = models.CharField(max_length=10, verbose_name=_('Postcode'), + default='', blank=True) town = models.CharField(max_length=30, verbose_name=_('town'), default='', blank=True) phone_number = models.CharField(max_length=18, verbose_name=_('phone number'), default='', blank=True) phone_number_parents = models.CharField(max_length=18, verbose_name=_('parents phone number'), default='', blank=True) @@ -93,6 +95,11 @@ class Member(models.Model): """Returning whole name (prename + lastname)""" return "{0} {1}".format(self.prename, self.lastname) + @property + def place(self): + """Returning the whole place (plz + town)""" + return "{0} {1}".format(self.plz, self.town) + def get_group(self): """Returns a string of groups in which the member is.""" groupstring = ''.join(g.name + ',\n' for g in self.group.all()) From b99266a341b2db1bf19d075b3e311af6de334c82 Mon Sep 17 00:00:00 2001 From: erichhasl Date: Wed, 11 Oct 2017 16:34:22 +0200 Subject: [PATCH 8/8] change translation of material category --- jdav_web/material/locale/de/LC_MESSAGES/django.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jdav_web/material/locale/de/LC_MESSAGES/django.po b/jdav_web/material/locale/de/LC_MESSAGES/django.po index 24af840..8adf029 100644 --- a/jdav_web/material/locale/de/LC_MESSAGES/django.po +++ b/jdav_web/material/locale/de/LC_MESSAGES/django.po @@ -44,11 +44,11 @@ msgstr "Beschreibung" #: models.py:22 models.py:39 msgid "Material category" -msgstr "Materialart" +msgstr "Materialtyp" #: models.py:23 msgid "Material categories" -msgstr "Materialarten" +msgstr "Materialtypen" #: models.py:32 msgid "name"