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['qualities'] =\
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,
form_url=form_url,
extra_context=extra_context)

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

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

@ -3,6 +3,14 @@
{% load static %}
{% 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>
<table style="width:100%">
<tr>
@ -16,5 +24,6 @@
</tr>
{% endfor %}
</table>
{% endif %}
{% endblock %}

Loading…
Cancel
Save