add activity overview and hide qualites from normal users

v1-0-stable
Christian Merten 6 years ago
parent a88d659b91
commit d1bc6666dd

@ -81,6 +81,8 @@ class MemberAdmin(admin.ModelAdmin):
extra_context = extra_context or {} extra_context = extra_context or {}
extra_context['qualities'] =\ extra_context['qualities'] =\
Member.objects.get(pk=object_id).get_skills() Member.objects.get(pk=object_id).get_skills()
extra_context['activities'] =\
Member.objects.get(pk=object_id).get_activities()
return super(MemberAdmin, self).change_view(request, object_id, return super(MemberAdmin, self).change_view(request, object_id,
form_url=form_url, form_url=form_url,
extra_context=extra_context) extra_context=extra_context)

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-11 14:53+0100\n" "POT-Creation-Date: 2019-09-14 23:12+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,223 +18,229 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: admin.py:25 models.py:69 #: members/admin.py:26 members/models.py:72
msgid "Registration complete" msgid "Registration complete"
msgstr "Anmeldung vollständig" msgstr "Anmeldung vollständig"
#: admin.py:31 #: members/admin.py:32
msgid "True" msgid "True"
msgstr "Ja" msgstr "Ja"
#: admin.py:32 #: members/admin.py:33
msgid "False" msgid "False"
msgstr "Nein" msgstr "Nein"
#: admin.py:33 #: members/admin.py:34
msgid "All" msgid "All"
msgstr "Alle" msgstr "Alle"
#: admin.py:91 #: members/admin.py:94
msgid "Compose new mail to selected members" msgid "Compose new mail to selected members"
msgstr "Neue Nachricht an ausgewählte Teilnehmer verfassen" msgstr "Neue Nachricht an ausgewählte Teilnehmer verfassen"
#: admin.py:107 #: members/admin.py:110
msgid "Difficulty" msgid "Difficulty"
msgstr "Schwierigkeit" msgstr "Schwierigkeit"
#: admin.py:111 #: members/admin.py:114
msgid "Tour type" msgid "Tour type"
msgstr "Art der Tour" msgstr "Art der Tour"
#: admin.py:249 #: members/admin.py:257
msgid "Convert to PDF" msgid "Convert to PDF"
msgstr "Kriseninterventionsliste erstellen" msgstr "Kriseninterventionsliste erstellen"
#: admin.py:355 #: members/admin.py:366
msgid "Generate overview" msgid "Generate overview"
msgstr "Hinweise für Jugendleiter erstellen" msgstr "Hinweise für Jugendleiter erstellen"
#: apps.py:7 models.py:112 #: members/apps.py:7 members/models.py:128
msgid "members" msgid "members"
msgstr "Teilnehmer" msgstr "Teilnehmer"
#: models.py:16 #: members/models.py:19
msgid "Name" msgid "Name"
msgstr "Name" msgstr "Name"
#: models.py:17 #: members/models.py:20
msgid "Description" msgid "Description"
msgstr "Beschreibung" msgstr "Beschreibung"
#: models.py:23 models.py:128 templates/members/change_member.html:9 #: members/models.py:26 members/models.py:151
#: members/templates/members/change_member.html:17
msgid "Activity" msgid "Activity"
msgstr "Aktivität" msgstr "Aktivität"
#: models.py:24 #: members/models.py:27
msgid "Activities" msgid "Activities"
msgstr "Aktivitäten" msgstr "Aktivitäten"
#: models.py:32 #: members/models.py:35
msgid "name" msgid "name"
msgstr "Name" msgstr "Name"
#: models.py:34 #: members/models.py:37
msgid "minimum age (years)" msgid "minimum age (years)"
msgstr "Mindestalter (Jahre)" msgstr "Mindestalter (Jahre)"
#: models.py:41 models.py:62 #: members/models.py:44 members/models.py:65
msgid "group" msgid "group"
msgstr "Gruppe" msgstr "Gruppe"
#: models.py:42 #: members/models.py:45
msgid "groups" msgid "groups"
msgstr "Gruppen" msgstr "Gruppen"
#: models.py:50 #: members/models.py:53
msgid "prename" msgid "prename"
msgstr "Vorname" msgstr "Vorname"
#: models.py:51 #: members/models.py:54
msgid "last name" msgid "last name"
msgstr "Nachname" msgstr "Nachname"
#: models.py:52 #: members/models.py:55
msgid "street" msgid "street"
msgstr "Straße" msgstr "Straße"
#: models.py:53 #: members/models.py:56
msgid "Postcode" msgid "Postcode"
msgstr "PLZ" msgstr "PLZ"
#: models.py:55 #: members/models.py:58
msgid "town" msgid "town"
msgstr "Stadt" msgstr "Stadt"
#: models.py:56 #: members/models.py:59
msgid "phone number" msgid "phone number"
msgstr "Telefonnummer" msgstr "Telefonnummer"
#: models.py:57 #: members/models.py:60
msgid "parents phone number" msgid "parents phone number"
msgstr "Telefonnummer der Eltern" msgstr "Telefonnummer der Eltern"
#: models.py:60 #: members/models.py:63
msgid "Parents' Email" msgid "Parents' Email"
msgstr "Email der Eltern" msgstr "Email der Eltern"
#: models.py:61 #: members/models.py:64
msgid "birth date" msgid "birth date"
msgstr "Geburtsdatum" msgstr "Geburtsdatum"
#: models.py:63 #: members/models.py:66
msgid "receives newsletter" msgid "receives newsletter"
msgstr "Erhält den Newsletter" msgstr "Erhält den Newsletter"
#: models.py:67 #: members/models.py:70
msgid "comments" msgid "comments"
msgstr "Kommentare" msgstr "Kommentare"
#: models.py:68 #: members/models.py:71
msgid "created" msgid "created"
msgstr "erstellt" msgstr "erstellt"
#: models.py:70 #: members/models.py:73
msgid "registration form" msgid "registration form"
msgstr "Anmeldeformular" msgstr "Anmeldeformular"
#: models.py:108 models.py:192 #: members/models.py:124 members/models.py:215
msgid "Group" msgid "Group"
msgstr "Gruppe" msgstr "Gruppe"
#: models.py:111 #: members/models.py:127
msgid "member" msgid "member"
msgstr "Teilnehmer" msgstr "Teilnehmer"
#: models.py:130 #: members/models.py:153
msgid "Place" msgid "Place"
msgstr "Ort" msgstr "Ort"
#: models.py:131 #: members/models.py:154
msgid "Destination (optional)" msgid "Destination (optional)"
msgstr "Ziel (optional)" msgstr "Ziel (optional)"
#: models.py:133 models.py:188 #: members/models.py:156 members/models.py:211
msgid "Date" msgid "Date"
msgstr "Datum" msgstr "Datum"
#: models.py:134 #: members/models.py:157
msgid "End (optional)" msgid "End (optional)"
msgstr "Ende" msgstr "Ende"
#: models.py:136 #: members/models.py:159
msgid "Groups" msgid "Groups"
msgstr "Gruppen" msgstr "Gruppen"
#: models.py:144 #: members/models.py:167
msgid "Categories" msgid "Categories"
msgstr "Kategorien" msgstr "Kategorien"
#: models.py:145 #: members/models.py:168
msgid "easy" msgid "easy"
msgstr "leicht" msgstr "leicht"
#: models.py:145 #: members/models.py:168
msgid "medium" msgid "medium"
msgstr "mittel" msgstr "mittel"
#: models.py:145 #: members/models.py:168
msgid "hard" msgid "hard"
msgstr "schwer" msgstr "schwer"
#: models.py:154 #: members/models.py:177
msgid "Memberlist" msgid "Memberlist"
msgstr "Teilnehmerliste" msgstr "Teilnehmerliste"
#: models.py:155 #: members/models.py:178
msgid "Memberlists" msgid "Memberlists"
msgstr "Teilnehmerlisten" msgstr "Teilnehmerlisten"
#: models.py:170 models.py:178 models.py:223 models.py:230 #: members/models.py:193 members/models.py:201 members/models.py:246
#: members/models.py:253
msgid "Member" msgid "Member"
msgstr "Teilnehmer" msgstr "Teilnehmer"
#: models.py:172 #: members/models.py:195
msgid "Comment" msgid "Comment"
msgstr "Kommentar" msgstr "Kommentar"
#: models.py:179 models.py:231 #: members/models.py:202 members/models.py:254
msgid "Members" msgid "Members"
msgstr "Teilnehmer" msgstr "Teilnehmer"
#: models.py:189 #: members/models.py:212
msgid "Location" msgid "Location"
msgstr "Ort" msgstr "Ort"
#: models.py:190 #: members/models.py:213
msgid "Topic" msgid "Topic"
msgstr "Thema" msgstr "Thema"
#: models.py:214 #: members/models.py:237
msgid "Jugendleiter" msgid "Jugendleiter"
msgstr "Jugendleiter" msgstr "Jugendleiter"
#: models.py:217 #: members/models.py:240
msgid "Klettertreff" msgid "Klettertreff"
msgstr "Klettertreff" msgstr "Klettertreff"
#: models.py:218 #: members/models.py:241
msgid "Klettertreffs" msgid "Klettertreffs"
msgstr "Klettertreffs" msgstr "Klettertreffs"
#: templates/admin/klettertreff_overview.html:9 #: members/templates/admin/klettertreff_overview.html:9
msgid "date" msgid "date"
msgstr "Datum" msgstr "Datum"
#: templates/members/change_member.html:6 #: members/templates/members/change_member.html:6
msgid "Participations:"
msgstr "Freizeitteilnahmen:"
#: members/templates/members/change_member.html:14
msgid "Qualities:" msgid "Qualities:"
msgstr "Fähigkeiten:" msgstr "Fähigkeiten:"
#: templates/members/change_member.html:10 #: members/templates/members/change_member.html:18
msgid "Skill level" msgid "Skill level"
msgstr "Fähigkeitsniveau" msgstr "Fähigkeitsniveau"

@ -3,6 +3,7 @@ import uuid
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.utils import timezone from django.utils import timezone
from django.urls import reverse
from utils import RestrictedFileField from utils import RestrictedFileField
import os import os
@ -126,6 +127,7 @@ class Member(models.Model):
class Meta: class Meta:
verbose_name = _('member') verbose_name = _('member')
verbose_name_plural = _('members') verbose_name_plural = _('members')
permissions = (('may_see_qualities', 'Is allowed to see the quality overview'),)
def get_skills(self): def get_skills(self):
# get skills by summing up all the activities taken part in # get skills by summing up all the activities taken part in
@ -137,6 +139,10 @@ class Member(models.Model):
if l.date < datetime.now().date()]) if l.date < datetime.now().date()])
return skills return skills
def get_activities(self):
# get activity overview
return MemberList.objects.filter(memberonlist__member=self)
class MemberList(models.Model): class MemberList(models.Model):
"""Lets the user create a list of members in pdf format. """ """Lets the user create a list of members in pdf format. """
@ -178,6 +184,9 @@ class MemberList(models.Model):
else: else:
return "Gemeinschaftstour" return "Gemeinschaftstour"
def get_absolute_url(self):
return reverse('admin:members_memberlist_change', args=[str(self.id)])
class MemberOnList(models.Model): class MemberOnList(models.Model):
""" """

@ -3,6 +3,14 @@
{% load static %} {% load static %}
{% block after_field_sets %} {% block after_field_sets %}
<p><b>{% trans "Participations:" %}</b></p>
<ul>
{% for activity in activities %}
<li><a href="{{ activity.get_absolute_url }}">{{ activity.name }}</a>, {{ activity.date }}</li>
</ul>
{% endfor %}
{% if perms.members.may_see_qualities %}
<p><b>{% trans "Qualities:" %}</b></p> <p><b>{% trans "Qualities:" %}</b></p>
<table style="width:100%"> <table style="width:100%">
<tr> <tr>
@ -16,5 +24,6 @@
</tr> </tr>
{% endfor %} {% endfor %}
</table> </table>
{% endif %}
{% endblock %} {% endblock %}

Loading…
Cancel
Save