]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mgr/dashboard: Correct permission decorator
authorTina Kallio <tina.kallio@gmail.com>
Thu, 27 Dec 2018 09:48:08 +0000 (10:48 +0100)
committerTina Kallio <tina.kallio@gmail.com>
Tue, 29 Jan 2019 09:07:36 +0000 (10:07 +0100)
'CreatePermission' is required in order to restore an image from trash.

Signed-off-by: Tina Kallio <tina.kallio@gmail.com>
src/pybind/mgr/dashboard/controllers/rbd.py

index 2e18b37f22f7a2ea9c062766d4c8bcfb08b82915..f16f7b56c5c84a1ebd4886cab989b940295bdc7a 100644 (file)
@@ -12,13 +12,14 @@ import six
 
 import rbd
 
-from . import ApiController, RESTController, Task, UpdatePermission, DeletePermission
+from . import ApiController, RESTController, Task, UpdatePermission, \
+              DeletePermission, CreatePermission
 from .. import mgr
 from ..security import Scope
 from ..services.ceph_service import CephService
 from ..tools import ViewCache, str_to_bool
 from ..services.exception import handle_rados_error, handle_rbd_error, \
-    serialize_dashboard_exception
+                                 serialize_dashboard_exception
 
 
 # pylint: disable=not-callable
@@ -519,7 +520,7 @@ class RbdTrash(RESTController):
 
     @RbdTask('trash/restore', ['{pool_name}', '{image_id}', '{new_image_name}'], 2.0)
     @RESTController.Resource('POST')
-    @UpdatePermission
+    @CreatePermission
     def restore(self, pool_name, image_id, new_image_name):
         """Restore an image from trash."""
         return _rbd_call(pool_name, self.rbd_inst.trash_restore, image_id, new_image_name)