def handle(self, request, data): share_id = self.initial['share_id'] metadata = {} try: set_dict, unset_list = utils.parse_str_meta(data['metadata']) if unset_list: msg = _("Expected only pairs of key=value.") raise ValidationError(message=msg) metadata = set_dict except ValidationError as e: self.api_error(e.messages[0]) return False try: manila.share_allow(request, share_id, access_to=data['access_to'], access_type=data['access_type'], access_level=data['access_level'], metadata=metadata) message = _('Creating rule for "%s"') % data['access_to'] messages.success(request, message) return True except Exception: redirect = reverse("horizon:project:shares:manage_rules", args=[self.initial['share_id']]) exceptions.handle(request, _('Unable to add rule.'), redirect=redirect)
def handle(self, request, data): share_id = self.initial['share_id'] try: manila.share_allow( request, share_id, access_to=data['access_to'], access_type=data['access_type'], access_level=data['access_level']) message = _('Creating rule for "%s"') % data['access_to'] messages.success(request, message) return True except Exception: redirect = reverse("horizon:project:shares:manage_rules", args=[self.initial['share_id']]) exceptions.handle( request, _('Unable to add rule.'), redirect=redirect)
def test_share_allow(self, access_type, access_to, access_level, metadata): api.share_allow(self.request, self.id, access_type, access_to, access_level, metadata) self.manilaclient.shares.allow.assert_called_once_with( self.id, access_type, access_to, access_level, metadata)