fix - update page access - v4

This commit is contained in:
2025-12-01 10:36:21 +03:30
parent f66067778c
commit 26171bd3e4

View File

@@ -69,8 +69,8 @@ class UpdatePageAccessViewSet(BaseViewSet, SoftDeleteMixin, viewsets.ModelViewSe
dev_perms_name.append(perm['name']) dev_perms_name.append(perm['name'])
pages_to_delete = Page.objects.exclude(name__in=dev_pages_name) pages_to_delete = Page.objects.exclude(name__in=dev_pages_name)
# pages_to_delete.delete() pages_to_delete.delete()
print(pages_to_delete)
page_map = {} page_map = {}
for page in dev_data: for page in dev_data:
@@ -84,57 +84,23 @@ class UpdatePageAccessViewSet(BaseViewSet, SoftDeleteMixin, viewsets.ModelViewSe
page_map[page['name']] = page_obj.id page_map[page['name']] = page_obj.id
permissions_to_delete = Permissions.objects.exclude(name__in=dev_perms_name) permissions_to_delete = Permissions.objects.exclude(name__in=dev_perms_name)
# permissions_to_delete.delete() permissions_to_delete.delete()
print(permissions_to_delete)
# for perm in dev_data['permissions']: for perm in dev_data['permissions']:
# permission_obj, _ = Permissions.objects.update_or_create( permission_obj, _ = Permissions.objects.update_or_create(
# id=perm['id'], # keep dev permission ids in prod id=perm['id'], # keep dev permission ids in prod
# defaults={ defaults={
# 'name': perm['name'], 'name': perm['name'],
# 'description': perm['description'], 'description': perm['description'],
# 'category': perm['category'], 'category': perm['category'],
# 'page_id': page_map[perm['page']], 'page_id': page_map[perm['page']],
# 'is_active': perm['is_active'], 'is_active': perm['is_active'],
# 'modify_state': perm['modify_state'], 'modify_state': perm['modify_state'],
# } }
# ) )
return Response(dev_data) return Response(dev_data)
# # if page or permission exists in production, don't create just update
# for page in request.data:
# page_obj = Page.objects.filter(code=page['code'])
# permissions = page.pop('permissions') # remove permissions from data
# if not page_obj.exists():
# page_obj = Page.objects.create(**page)
# else:
# obj = page_obj.first()
# if obj:
# obj.code = page['code']
# obj.name = page['name']
# obj.is_active = page['is_active']
# page_obj = obj.save()
#
# for permission in permissions:
# permission.pop('page') # remove page from data
# perm = Permissions.objects.filter(page=page_obj, name=permission['name'])
# if perm.exists():
# perm.update_or_create(
# name=permission['name'],
# description=permission['description'],
# category=permission['category'],
# page=page_obj,
# is_active=permission['is_active'],
# modify_state=permission['modify_state'],
# )
# else:
# Permissions.objects.create(
# **permission,
# page_id=page.id,
# )
# return Response(request.data)
class RoleViewSet(BaseViewSet, SoftDeleteMixin, viewsets.ModelViewSet): class RoleViewSet(BaseViewSet, SoftDeleteMixin, viewsets.ModelViewSet):
""" Crud Operations For User Roles """ """ Crud Operations For User Roles """