Exemplo n.º 1
0
 def move_storage(self):
     sid = self.request.form.get('id')
     if not sid:
         return self.redirect_base(u'No id given')
     path = self.request.form.get('path')
     locator = IStorageLocator(self.context)
     try:
         locator.traverse(path)
     except ValueError:
         return self.redirect_base(u'Desired path does not exist!')
     method = self.request.form.get('moveormount')
     if method == 'move':
         locator.move(sid, path)
         transaction.commit()
         return self.redirect_base(u'Moved storage of %s to %s' %
                                   (id, path))
     elif method == "mount":
         locator.set_path(sid, path)
         transaction.commit()
         return self.redirect_base(u'Mounted storage %s to %s' % (id, path))
     else:
         return self.redirect_base(u'Invalid action (move or mount only)')
Exemplo n.º 2
0
 def storage_path(self, sid):
     locator = IStorageLocator(self.context)
     path = locator.path(sid)
     if not path.startswith('/'):
         path = '/' + path
     return path