Coverage for website/events/admin/documents.py: 80.95%

17 statements  

« prev     ^ index     » next       coverage.py v7.6.7, created at 2025-08-14 10:31 +0000

1from django.contrib import admin 

2 

3from events.forms import EventDocumentForm 

4from events.models.documents import EventDocument 

5from events.services import is_eventdocument_owner 

6 

7 

8@admin.register(EventDocument) 

9class EventDocumentAdmin(admin.ModelAdmin): 

10 """Manage the event documents.""" 

11 

12 form = EventDocumentForm 

13 list_filter = ( 

14 "created", 

15 "last_updated", 

16 "members_only", 

17 ) 

18 list_display = ( 

19 "__str__", 

20 "members_only", 

21 ) 

22 

23 def has_change_permission(self, request, obj=None): 

24 """Only allow access to the change form if the user is an owner.""" 

25 if obj is not None and not is_eventdocument_owner(request.member, obj): 25 ↛ 26line 25 didn't jump to line 26 because the condition on line 25 was never true

26 return False 

27 return super().has_change_permission(request, obj) 

28 

29 def has_delete_permission(self, request, obj=None): 

30 """Only allow delete access if the user is an owner.""" 

31 if obj is not None and not is_eventdocument_owner(request.member, obj): 31 ↛ 32line 31 didn't jump to line 32 because the condition on line 31 was never true

32 return False 

33 return super().has_delete_permission(request, obj)