@@ -66,7 +66,7 @@ class Meta:
6666 def __init__ (self , ** kwargs ):
6767 user = kwargs .pop ("user" )
6868 can_publish_for_groups = get_objects_for_user (user , "publish_event_for_group" , klass = Group )
69- if (event := kwargs .get ("instance" , None )) is not None :
69+ if (event := kwargs .get ("instance" , None )) is not None and event . id :
7070 self .eventtype = event .type
7171 responsible_users = get_users_with_perms (
7272 event , only_with_perms_in = ["change_event" ], with_group_users = False
@@ -88,12 +88,15 @@ def __init__(self, **kwargs):
8888 else :
8989 # new event
9090 self .eventtype = kwargs .pop ("eventtype" )
91+ visible_for = (
92+ self .eventtype .preferences .get ("visible_for" ).filter (id__in = can_publish_for_groups )
93+ or can_publish_for_groups
94+ )
9195 kwargs ["initial" ] = {
9296 "responsible_users" : self .eventtype .preferences .get ("responsible_users" )
9397 | get_user_model ().objects .filter (pk = user .pk ),
9498 "responsible_groups" : self .eventtype .preferences .get ("responsible_groups" ),
95- "visible_for" : self .eventtype .preferences .get ("visible_for" )
96- or get_objects_for_user (user , "publish_event_for_group" , klass = Group ),
99+ "visible_for" : visible_for ,
97100 }
98101 self .locked_visible_for_groups = set ()
99102
0 commit comments