def unlock_subproject(request, project, subproject): obj = get_subproject(request, project, subproject) if not can_lock_subproject(request.user, obj.project): raise PermissionDenied() obj.do_unlock(request.user) messages.success(request, _('Component is now open for translation updates.')) return redirect(obj)
def unlock_project(request, project): obj = get_project(request, project) if not can_lock_subproject(request.user, obj): raise PermissionDenied() for subproject in obj.subproject_set.all(): subproject.do_unlock(request.user) messages.success(request, _('Project is now open for translation updates.')) return redirect(obj)
def lock(self, request, **kwargs): obj = self.get_object() if request.method == 'POST': if not can_lock_subproject(request.user, obj.project): raise PermissionDenied() serializer = LockRequestSerializer(data=request.data) serializer.is_valid(raise_exception=True) obj.do_lock(request.user, serializer.validated_data['lock']) return Response(data=LockSerializer(obj).data)
def lock_subproject(request, project, subproject): obj = get_subproject(request, project, subproject) if not can_lock_subproject(request.user, obj.project): raise PermissionDenied() obj.commit_pending(request) obj.do_lock(request.user) messages.success(request, _('Component is now locked for translation updates!')) return redirect(obj)
def lock_project(request, project): obj = get_project(request, project) if not can_lock_subproject(request.user, obj): raise PermissionDenied() obj.commit_pending(request) for subproject in obj.subproject_set.all(): subproject.do_lock(request.user) messages.success( request, _('All components are now locked for translation updates!')) return redirect(obj)