Skip to content

Commit 3426c0b

Browse files
committed
Display the homepage_layout as read-only is not own Dataspace
Signed-off-by: tdruez <[email protected]>
1 parent 01c4d8e commit 3426c0b

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

dje/admin.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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)
11521162
class 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

Comments
 (0)