예제 #1
0
    def test_share_type_get(self):
        share_type_id = "fake_share_type_id"

        api.share_type_get(self.request, share_type_id)

        self.manilaclient.share_types.get.assert_called_once_with(
            share_type_id)
예제 #2
0
    def __init__(self, request, *args, **kwargs):
        super(AddProjectAction, self).__init__(request, *args, **kwargs)
        default_role_field_name = self.get_default_role_field_name()
        self.fields[default_role_field_name] = forms.CharField(required=False)
        self.fields[default_role_field_name].initial = 'member'

        field_name = self.get_member_field_name('member')
        self.fields[field_name] = forms.MultipleChoiceField(required=False)
        share_type_id = self.initial['id']

        # Get list of existing projects
        try:
            projects, __ = keystone.tenant_list(request)
        except Exception:
            err_msg = _('Unable to get list of projects.')
            exceptions.handle(request, err_msg)

        # Get list of projects with access to this Share Type
        try:
            share_type = manila.share_type_get(request, share_type_id)
            self.share_type_name = share_type.name
            projects_initial = manila.share_type_access_list(
                request, share_type)
        except Exception:
            err_msg = _('Unable to get information about share type access.')
            exceptions.handle(request, err_msg)

        self.fields[field_name].choices = [(project.id, project.name
                                            or project.id)
                                           for project in projects]
        self.fields[field_name].initial = [
            pr.project_id for pr in projects_initial
        ]
        self.projects_initial = set(self.fields[field_name].initial)
예제 #3
0
    def __init__(self, request, *args, **kwargs):
        super(AddProjectAction, self).__init__(request, *args, **kwargs)
        default_role_field_name = self.get_default_role_field_name()
        self.fields[default_role_field_name] = forms.CharField(required=False)
        self.fields[default_role_field_name].initial = "member"

        field_name = self.get_member_field_name("member")
        self.fields[field_name] = forms.MultipleChoiceField(required=False)
        share_type_id = self.initial["id"]

        # Get list of existing projects
        try:
            projects, __ = keystone.tenant_list(request)
        except Exception:
            err_msg = _("Unable to get list of projects.")
            exceptions.handle(request, err_msg)

        # Get list of projects with access to this Share Type
        try:
            share_type = manila.share_type_get(request, share_type_id)
            self.share_type_name = share_type.name
            projects_initial = manila.share_type_access_list(request, share_type)
        except Exception:
            err_msg = _("Unable to get information about share type access.")
            exceptions.handle(request, err_msg)

        self.fields[field_name].choices = [(project.id, project.name or project.id) for project in projects]
        self.fields[field_name].initial = [pr.project_id for pr in projects_initial]
        self.projects_initial = set(self.fields[field_name].initial)
예제 #4
0
 def get_object(self):
     if not hasattr(self, "_object"):
         st_id = self.kwargs["share_type_id"]
         try:
             self._object = manila.share_type_get(self.request, st_id)
         except Exception:
             msg = _("Unable to retrieve share_type.")
             url = reverse("horizon:admin:share_types:index")
             exceptions.handle(self.request, msg, redirect=url)
     return self._object
예제 #5
0
 def get_object(self):
     if not hasattr(self, "_object"):
         st_id = self.kwargs["share_type_id"]
         try:
             self._object = manila.share_type_get(self.request, st_id)
         except Exception:
             msg = _("Unable to retrieve share_type.")
             url = reverse("horizon:admin:share_types:index")
             exceptions.handle(self.request, msg, redirect=url)
     return self._object
예제 #6
0
 def allowed(self, request, obj_id):
     st = manila.share_type_get(request, obj_id)
     # Enable it only for private share types
     return not st.is_public
예제 #7
0
 def allowed(self, request, obj_id):
     st = manila.share_type_get(request, obj_id)
     # Enable it only for private share types
     return not st.is_public