Skip to content

Commit

Permalink
Merge branch 'master' into 1074-extend-invitations
Browse files Browse the repository at this point in the history
  • Loading branch information
rasmusselsmark committed Jul 21, 2024
2 parents bd60d03 + 7aa36a1 commit bd96ce9
Show file tree
Hide file tree
Showing 6 changed files with 61 additions and 19 deletions.
19 changes: 15 additions & 4 deletions members/admin/activityinvite_admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@
from django.utils import formats, timezone
from django.utils.safestring import mark_safe
from django.utils.html import escape
from django.db.models import Exists, OuterRef

from members.models import (
Activity,
ActivityInvite,
ActivityParticipant,
AdminUserInformation,
Department,
Person,
Expand Down Expand Up @@ -170,7 +172,15 @@ class Meta:

# Only show invitation to own activities
def get_queryset(self, request):
qs = super(ActivityInviteAdmin, self).get_queryset(request)
queryset = super().get_queryset(request)
qs = queryset.annotate(
is_participating=Exists(
ActivityParticipant.objects.filter(
person=OuterRef("person"), activity=OuterRef("activity")
)
)
)

if request.user.is_superuser or request.user.has_perm(
"members.view_all_departments"
):
Expand Down Expand Up @@ -216,11 +226,13 @@ def person_age_years(self, item):
return item.person.age_years()

person_age_years.short_description = "Alder"
person_age_years.admin_order_field = "person__birthday"

def person_zipcode(self, item):
return item.person.zipcode

person_zipcode.short_description = "Postnummer"
person_zipcode.admin_order_field = "person__zipcode"

def activity_department_union_link(self, item):
url = reverse(
Expand Down Expand Up @@ -264,12 +276,11 @@ def person_link(self, item):
person_link.admin_order_field = "person__name"

def participating(self, item):
return item.person.activityparticipant_set.filter(
activity=item.activity
).exists()
return item.is_participating

participating.short_description = "Deltager"
participating.boolean = True
participating.admin_order_field = "is_participating"

def export_csv_invitation_info(self, request, queryset):
result_string = """"Forening"; "Afdeling"; "Aktivitet"; "Deltager";\
Expand Down
11 changes: 7 additions & 4 deletions members/admin/department_admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
)
from django.utils.html import escape
from django.http import HttpResponse
from django.db.models import Count


class AdminUserDepartmentInline(admin.TabularInline):
Expand Down Expand Up @@ -97,8 +98,6 @@ def queryset(self, request, queryset):
class DepartmentAdmin(admin.ModelAdmin):
inlines = [AdminUserDepartmentInline]
list_display = (
"id",
"department_union_link",
"department_link",
"address",
"isVisible",
Expand All @@ -107,6 +106,7 @@ class DepartmentAdmin(admin.ModelAdmin):
"created",
"closed_dtm",
"waitinglist_count_link",
"department_union_link",
)
list_filter = (
"address__region",
Expand Down Expand Up @@ -149,7 +149,9 @@ def formfield_for_manytomany(self, db_field, request, **kwargs):
return super().formfield_for_manytomany(db_field, request, **kwargs)

def get_queryset(self, request):
qs = super(DepartmentAdmin, self).get_queryset(request)
queryset = super().get_queryset(request)
qs = queryset.annotate(waitinglist_count=Count("waitinglist"))

if request.user.is_superuser or request.user.has_perm(
"members.view_all_departments"
):
Expand Down Expand Up @@ -210,11 +212,12 @@ def waitinglist_count_link(self, item):
link = f"""<a
href="{admin_url}?waiting_list={item.id}"
title="Vis venteliste for afdelingen Coding Pirates {item.name}">
{item.waitinglist_set.count()}
{item.waitinglist_count}
</a>"""
return mark_safe(link)

waitinglist_count_link.short_description = "Venteliste"
waitinglist_count_link.admin_order_field = "waitinglist_count"

def export_department_info_csv(self, request, queryset):
result_string = """"Forening"; "Afdeling"; "Afdeling-Startdato"; "Afdeling-lukkedato";\
Expand Down
17 changes: 16 additions & 1 deletion members/admin/waitinglist_admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ def get_form(self, request, obj=None, change=False, **kwargs):
"person_link",
"person_age_years",
"person_gender_text",
"zipcode",
"municipality",
"user_waiting_list_number",
"user_created",
"user_added_waiting_list",
Expand All @@ -99,6 +101,7 @@ def get_form(self, request, obj=None, change=False, **kwargs):
"department__name",
"department__union__name",
"person__name",
"zipcode",
]
search_help_text = mark_safe(
"""Du kan søge på forening, afdeling eller person.<br>
Expand Down Expand Up @@ -328,5 +331,17 @@ def user_added_waiting_list(self, item):
def user_waiting_list_number(self, item):
return item.number_on_waiting_list()

user_waiting_list_number.short_description = "Nummer på venteliste"
user_waiting_list_number.short_description = "Ventelistenummer"
user_waiting_list_number.admin_order_field = "on_waiting_list_since"

def zipcode(self, item):
return item.person.zipcode

zipcode.short_description = "Post nr"
zipcode.admin_order_field = "person__zipcode"

def municipality(self, item):
return item.person.municipality

municipality.short_description = "Kommune"
municipality.admin_order_field = "person__municipality"
3 changes: 2 additions & 1 deletion members/models/activity.py
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,8 @@ def get_min_amount(self, activitytype):
min_amount = self.NO_MINIMUM_AMOUNT

# Issue 1058: If activity is in the past then skip this check
if self.end_date > timezone.now().date():
# During activity creation, the end_date could have been left empty
if self.end_date and self.end_date > timezone.now().date():
if activitytype == "FORENINGSMEDLEMSKAB":
min_amount = self.MEMBERSHIP_MIN_AMOUNT

Expand Down
28 changes: 20 additions & 8 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ graphene_django = "3.0.0"
gunicorn = "22.0.0"
psycopg2 = "2.9.5"
quickpay-api-client = "2.0.1"
sentry-sdk = "1.14"
sentry-sdk = "2.8.0"
tqdm = "4.66.3"
whitenoise = "5.2.0"
pydotplus = "2.0.2"
Expand Down

0 comments on commit bd96ce9

Please sign in to comment.