Merge pull request #1384 from wwitzel3/devel

RBAC Fixes
This commit is contained in:
Akita Noek 2016-04-04 12:38:31 -05:00
commit 82c55a4ea4
3 changed files with 12 additions and 1 deletions

View File

@ -177,3 +177,10 @@ class Metadata(metadata.SimpleMetadata):
metadata['search_fields'] = view.search_fields
return metadata
class RoleMetadata(Metadata):
def determine_metadata(self, request, view):
metadata = super(RoleMetadata, self).determine_metadata(request, view)
if 'actions' in metadata:
metadata['actions'].pop('POST')
return metadata

View File

@ -1446,7 +1446,8 @@ class RoleSerializer(BaseSerializer):
class Meta:
model = Role
fields = ('*',)
fields = ('*', 'description', 'name')
read_only_fields = ('description', 'name')
def get_related(self, obj):
ret = super(RoleSerializer, self).get_related(obj)

View File

@ -67,6 +67,7 @@ from awx.main.utils import * # noqa
from awx.api.permissions import * # noqa
from awx.api.renderers import * # noqa
from awx.api.serializers import * # noqa
from awx.api.metadata import RoleMetadata
from awx.main.utils import emit_websocket_notification
from awx.main.conf import tower_settings
@ -795,6 +796,7 @@ class TeamRolesList(SubListCreateAttachDetachAPIView):
model = Role
serializer_class = RoleSerializer
metadata_class = RoleMetadata
parent_model = Team
relationship='member_role.children'
@ -1075,6 +1077,7 @@ class UserRolesList(SubListCreateAttachDetachAPIView):
model = Role
serializer_class = RoleSerializer
metadata_class = RoleMetadata
parent_model = User
relationship='roles'
permission_classes = (IsAuthenticated,)