@@ -1147,6 +1147,16 @@ def get_fieldsets(self, request, obj=None):
11471147 return self .add_fieldsets
11481148 return super ().get_fieldsets (request , obj )
11491149
1150+ def get_readonly_fields (self , request , obj = None ):
1151+ """Only a user from the current Dataspace can edit Dataspace related FKs."""
1152+ readonly_fields = super ().get_readonly_fields (request , obj )
1153+
1154+ dataspace = obj
1155+ if dataspace and dataspace != request .user .dataspace :
1156+ readonly_fields += ("homepage_layout" ,)
1157+
1158+ return readonly_fields
1159+
11501160
11511161@admin .register (Dataspace , site = dejacode_site )
11521162class DataspaceAdmin (
@@ -1519,6 +1529,15 @@ def formfield_for_foreignkey(self, db_field, request=None, **kwargs):
15191529
15201530 return super ().formfield_for_foreignkey (db_field , request , ** kwargs )
15211531
1532+ def get_readonly_fields (self , request , obj = None ):
1533+ """Only a user from the current Dataspace can edit Dataspace related FKs."""
1534+ readonly_fields = super ().get_readonly_fields (request , obj )
1535+
1536+ if obj and obj .dataspace != request .user .dataspace :
1537+ readonly_fields += ("homepage_layout" ,)
1538+
1539+ return readonly_fields
1540+
15221541 def user_change_password (self , request , id , form_url = "" ):
15231542 """
15241543 Remove the possibility to force a new password on a User.
0 commit comments