diff --git a/jdav_web/jdav_web/settings/components/jet.py b/jdav_web/jdav_web/settings/components/jet.py index 110e110..8a99835 100644 --- a/jdav_web/jdav_web/settings/components/jet.py +++ b/jdav_web/jdav_web/settings/components/jet.py @@ -34,12 +34,16 @@ JET_SIDE_MENU_ITEMS = [ ]}, {'app_label': 'members', 'items': [ {'name': 'member', 'permissions': ['members.view_member']}, - {'name': 'group', 'permissions': ['members.view_group']}, {'name': 'membernotelist', 'permissions': ['members.view_membernotelist']}, {'name': 'freizeit', 'permissions': ['members.view_freizeit']}, {'name': 'klettertreff', 'permissions': ['members.view_klettertreff']}, + ]}, + {'label': 'Gruppenverwaltung', 'app_label': 'members', 'permissions': ['members.view_group'], 'items': [ + {'name': 'group', 'permissions': ['members.view_group']}, {'name': 'activitycategory', 'permissions': ['members.view_activitycategory']}, {'name': 'trainingcategory', 'permissions': ['members.view_trainingcategory']}, + ]}, + {'label': 'Neue Mitglieder', 'app_label': 'members', 'permissions': ['members.view_memberunconfirmedproxy'], 'items': [ {'name': 'memberunconfirmedproxy', 'permissions': ['members.view_memberunconfirmedproxy']}, {'name': 'memberwaitinglist', 'permissions': ['members.view_memberwaitinglist']}, ]}, @@ -48,6 +52,8 @@ JET_SIDE_MENU_ITEMS = [ {'name': 'materialpart', 'permissions': ['material.view_materialpart']}, ]}, {'label': 'Externe Links', 'items' : [ - { 'label': 'Nextcloud', 'url': CLOUD_LINK } + { 'label': 'Nextcloud', 'url': CLOUD_LINK }, + { 'label': 'DAV 360', 'url': DAV_360_LINK }, + { 'label': 'Julei-Wiki', 'url': WIKI_LINK }, ]}, ] diff --git a/jdav_web/jdav_web/settings/local.py b/jdav_web/jdav_web/settings/local.py index dfdbb1a..2e68dfd 100644 --- a/jdav_web/jdav_web/settings/local.py +++ b/jdav_web/jdav_web/settings/local.py @@ -26,6 +26,8 @@ ALLOWANCE_PER_DAY = 10 MAX_NIGHT_COST = 11 CLOUD_LINK = 'https://nc.cloud-jdav-hd.de' +DAV_360_LINK = 'https://dav360.de' +WIKI_LINK = 'https://davbgs.sharepoint.com/sites/S-114-O-JDAV-Jugendreferat' # Admin setup diff --git a/jdav_web/members/models.py b/jdav_web/members/models.py index f63c8cf..c872259 100644 --- a/jdav_web/members/models.py +++ b/jdav_web/members/models.py @@ -667,6 +667,14 @@ class Member(Person): settings.INVITE_AS_USER_TEXT.format(name=self.prename, link=get_invite_as_user_key(self.invite_as_user_key))) + def led_groups(self): + """Returns a queryset of groups that this member is a youth leader of.""" + return Group.objects.filter(leiters__pk=self.pk) + + def led_freizeiten(self, limit=5): + """Returns a queryset of freizeiten that this member is a youth leader of.""" + return Freizeit.objects.filter(jugendleiter__pk=self.pk)[:limit] + class EmergencyContact(ContactWithPhoneNumber): """ diff --git a/jdav_web/templates/admin/app_index.html b/jdav_web/templates/admin/app_index.html new file mode 100644 index 0000000..af27119 --- /dev/null +++ b/jdav_web/templates/admin/app_index.html @@ -0,0 +1,7 @@ +{% extends "admin/app_index.html" %} + +{% block content %} +
+ {% include "admin/app_list.html" with app_list=app_list show_changelinks=True %} +
+{% endblock %} diff --git a/jdav_web/templates/admin/index.html b/jdav_web/templates/admin/index.html new file mode 100644 index 0000000..e498037 --- /dev/null +++ b/jdav_web/templates/admin/index.html @@ -0,0 +1,121 @@ +{% extends "admin/index.html" %} +{% load i18n static %} + +{% block content %} + +
+
+

+

Willkommen, {% firstof user.member.prename user.get_username %}!

+

+

+Der KOMPASS ist dein Kompass in der Jugendarbeit der JDAV Heidelberg. Hier hast du Zugriff +auf deine +Jugendgruppen, deine letzten +Ausfahrten und deine +Abrechnungen. +

+
+ +{% if user.member %} + +
+

+

Deine Jugendgruppen

+Hier siehst du alle von dir geleiteten Jugendgruppen. +

+

+ + {% for group in user.member.led_groups %} + + + + {% endfor %} +
+ {{ group.name }} +
+

+
+ +
+

+

Deine letzten Ausfahrten

+Hier siehst du alle von dir geleiteten Ausfahrten. +

+

+ + {% for freizeit in user.member.led_freizeiten %} + + + + {% endfor %} +
+ {{freizeit.name}} +
+

+
+
+ +{% endif %} + +{% endblock %} + +{% block sidebar %} + +{% endblock %} diff --git a/jdav_web/templates/admin/members/app_index.html b/jdav_web/templates/admin/members/app_index.html new file mode 100644 index 0000000..8262887 --- /dev/null +++ b/jdav_web/templates/admin/members/app_index.html @@ -0,0 +1,106 @@ +{% extends "admin/app_index.html" %} + +{% block content %} +
+
+

Meine Jugendgruppen

+

+Hier siehst du alle Teilnehmer:innen deiner Jugendgruppen und alle von dir geleiteten Ausfahrten. +

+ + + + + + + + + + + +
+ Teilnehmer:innen +
+ Ausfahrten +
+ +{% if perms.members.change_waitinglist %} +
+
+

Neue Mitglieder

+

+Hier werden neue Mitglieder verwaltet. Um ein neues Mitglied anzulegen, muss sich die Person +anmelden. Daraufhin landet +sie auf der Warteliste. Eine +Person auf der Warteliste kannst du dann zu einer Schnupperstunde einer gewählten Gruppe einladen. +Diese Einladung enthält einen Registrierungslink zu einem Formular in dem die Person alle ihre +Stammdaten eingbit. Diese Daten landen dann unter +Unbestätigte Registrierungen. +

+
+ + + + + + + + + + +
+ Warteliste +
+ Unbestätigte Registrierungen +
+
+{% endif %} + +{% if perms.members.change_group %} +
+
+

Gruppenverwaltung

+

+Hier kannst du Gruppen anlegen und ändern. +

+ + + + + + +
+ Gruppen +
+
+{% endif %} + +{% if perms.members.change_activitycategory %} +
+
+

Sonstiges

+

+Hier kannst du mögliche Aktivitäten und Fortbildungstypen festlegen. Diese bestimmen, welche +Aktivitäten bzw. Fortbildungen Nutzer:innen auswählen können. +

+ + + + + + + + + + + +
+ Aktivitäten +
+ Fortbildungstypen +
+
+{% endif %} + +
+{% endblock %}