Merge branch 'fix' into 'dev'

restrict_groups_editing

See merge request spatial/postamates!171
dev
Aleksandr Popov 2 years ago
commit 5c751b3433

@ -70,6 +70,12 @@ class CategoryAdmin(admin.ModelAdmin):
class PostPvzCategoryAdmin(CategoryAdmin): class PostPvzCategoryAdmin(CategoryAdmin):
def get_readonly_fields(self, request, obj=None):
if obj.id in (1, 2):
return ['id', 'name']
else:
return super().get_readonly_fields(request, obj)
def save_model(self, request, obj, form, change): def save_model(self, request, obj, form, change):
obj.save() obj.save()
run_psql_command() run_psql_command()
@ -97,6 +103,12 @@ class GroupAdmin(admin.ModelAdmin):
class PostPvzGroupAdmin(GroupAdmin): class PostPvzGroupAdmin(GroupAdmin):
def get_readonly_fields(self, request, obj=None):
if obj.id in (7, 8, 9, 10, 12, 17, 19, 20, 24, 25):
return ['id', 'name']
else:
return super().get_readonly_fields(request, obj)
def save_model(self, request, obj, form, change): def save_model(self, request, obj, form, change):
obj.save() obj.save()
run_psql_command() run_psql_command()
@ -113,11 +125,11 @@ class PostPvzGroupAdmin(GroupAdmin):
class OtherObjectsGroupAdmin(GroupAdmin): class OtherObjectsGroupAdmin(GroupAdmin):
def save_model(self, request, obj, form, change): def get_readonly_fields(self, request, obj=None):
if obj.id in (4, 5) or obj.id in list(range(22, 43)): if obj.id in (4, 5) or obj.id in list(range(22, 43)):
pass return ['id', 'name']
else: else:
super().save_model(request, obj, form, change) return super().get_readonly_fields(request, obj)
def delete_model(self, request, obj): def delete_model(self, request, obj):
if obj.id in (4, 5) or obj.id in list(range(22, 43)): if obj.id in (4, 5) or obj.id in list(range(22, 43)):
@ -127,12 +139,11 @@ class OtherObjectsGroupAdmin(GroupAdmin):
class OtherObjectsCategoryAdmin(CategoryAdmin): class OtherObjectsCategoryAdmin(CategoryAdmin):
def get_readonly_fields(self, request, obj=None):
def save_model(self, request, obj, form, change):
if obj.id in (4, 5) or obj.id in list(range(22, 43)): if obj.id in (4, 5) or obj.id in list(range(22, 43)):
pass return ['id', 'name']
else: else:
super().save_model(request, obj, form, change) return super().get_readonly_fields(request, obj)
def delete_model(self, request, obj): def delete_model(self, request, obj):
if obj.id in (4, 5) or obj.id in list(range(22, 43)): if obj.id in (4, 5) or obj.id in list(range(22, 43)):

Loading…
Cancel
Save