11from django .dispatch import receiver
22from django .urls import resolve , reverse
33from django .utils .translation import gettext_lazy as _
4- from pretalx .orga .signals import nav_event
4+ from pretalx .orga .signals import nav_event , nav_event_settings
55
66
77@receiver (nav_event , dispatch_uid = "halfnarp" )
8- def navbar_info (sender , request , ** kwargs ):
8+ def navbar_info_settings (sender , request , ** kwargs ):
99 url = resolve (request .path_info )
1010 if not request .user .has_perm ("orga.view_submissions" , request .event ):
1111 return []
@@ -24,3 +24,25 @@ def navbar_info(sender, request, **kwargs):
2424 and url .url_name == "organiser" ,
2525 }
2626 ]
27+
28+
29+ @receiver (nav_event_settings , dispatch_uid = "halfnarp_nav_settings" )
30+ def navbar_info (sender , request , ** kwargs ):
31+ url = resolve (request .path_info )
32+
33+ if not request .user .has_perm ("orga.change_settings" , request .event ):
34+ return []
35+
36+ return [
37+ {
38+ "label" : _ ("Halfnarp" ),
39+ "url" : reverse (
40+ "plugins:pretalx_halfnarp:settings" ,
41+ kwargs = {
42+ "event" : request .event .slug ,
43+ },
44+ ),
45+ "active" : url .namespace == "plugins:pretalx_halfnarp"
46+ and url .url_name == "settings" ,
47+ }
48+ ]
0 commit comments