This commit is contained in:
7nimor
2025-08-06 14:44:34 +03:30
3 changed files with 12 additions and 6 deletions

View File

@@ -14,7 +14,7 @@
</component> </component>
<component name="NewModuleRootManager"> <component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" /> <content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="Python 3.10 (env)" jdkType="Python SDK" /> <orderEntry type="jdk" jdkName="Python 3.10 (bazrasienv)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
</component> </component>
<component name="PyDocumentationSettings"> <component name="PyDocumentationSettings">

2
.idea/misc.xml generated
View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10 (env)" project-jdk-type="Python SDK" /> <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10 (bazrasienv)" project-jdk-type="Python SDK" />
</project> </project>

View File

@@ -8,7 +8,6 @@ from apps.authorization.models import (
Page Page
) )
from apps.authentication.api.v1.serializers import serializer as auth_serializer from apps.authentication.api.v1.serializers import serializer as auth_serializer
from apps.authentication.models import Organization
import itertools import itertools
@@ -146,9 +145,16 @@ class UserRelationSerializer(serializers.ModelSerializer):
def update(self, instance, validated_data): def update(self, instance, validated_data):
""" update user relation object """ """ update user relation object """
instance.role = validated_data.get('role', instance.role) # if role of user changed, clear all permissions and set new role permissions for user
if not instance.role == validated_data.get('role', instance.role):
instance.role = validated_data.get('role', instance.role)
instance.permissions.clear()
instance.permissions.add(*instance.role.permissions.all())
instance.organization = validated_data.get('organization', instance.organization) instance.organization = validated_data.get('organization', instance.organization)
instance.save() instance.save()
instance.permissions.clear()
instance.permissions.add(*(validated_data.get('permissions', instance.permissions))) if validated_data.get('permissions'):
instance.permissions.clear()
instance.permissions.add(*(validated_data.get('permissions', instance.permissions)))
return instance return instance