def commit(self, request, data, *args, **kwargs):
user_id = request.channel_session.get('user')
if user_id is not None:
composition_id = kwargs.get('composition_id')
data['composition'] = composition_id
if (DiffCompositionVersion.objects
.filter(composition_id=composition_id)
.count() <= 1):
raise ValidationError('Nothing to commit.')
diff_version = (DiffCompositionVersion.objects
.filter(composition_id=composition_id)
.last())
composition_version = self.perform_commit(diff_version, user_id)
self.route_send(
Group(self.COMPOSITION_GROUP_TEMPLATE % composition_id),
CompositionVersionSerializer(composition_version).data,
status.HTTP_201_CREATED
)
else:
raise PermissionDenied
评论列表
文章目录