Exemplo n.º 1
0
    def get_data(self):
        plugins = []
        users = []

        # Admin
        if policy.check((("iot", "iot:list_all_plugins"), ), self.request):
            try:
                plugins = iotronic.plugin_list(self.request,
                                               None,
                                               None,
                                               all_plugins=True)
                users = keystone.user_list(self.request)

            except Exception:
                exceptions.handle(
                    self.request,
                    _('Unable to retrieve plugins \
                                  list.'))

        # Admin_iot_project
        elif policy.check((("iot", "iot:list_project_plugins"), ),
                          self.request):
            try:
                plugins = iotronic.plugin_list(self.request,
                                               None,
                                               None,
                                               with_public=True)

            except Exception:
                exceptions.handle(self.request,
                                  _('Unable to retrieve user plugins list.'))

        # Other users
        else:
            # FROM
            """
            msg = _("Insufficient privilege level to view
                    plugins information.")
            messages.info(self.request, msg)
            """
            # TO
            try:
                plugins = iotronic.plugin_list(self.request,
                                               None,
                                               None,
                                               with_public=True)

            except Exception:
                exceptions.handle(self.request,
                                  _('Unable to retrieve user plugins list.'))

        # Replace owner column values (user.id) with user.name (only Admin
        # can see human-readable names)
        for plugin in plugins:
            for user in users:
                if plugin.owner == user.id:
                    plugin.owner = user.name
                    break

        return plugins
Exemplo n.º 2
0
    def preload_all_users(self):
        """Preloads all users into dictionary.

        It's more effective to preload all users, rather than fetching many
        users by separate API get calls.
        """

        users = keystone.user_list(self._request)
        # Cache all users on right indexes, this is more effective than to
        # page large number of users one by one by keystone.user_get
        for u in users:
            self._users[u.id] = u
Exemplo n.º 3
0
    def preload_all_users(self):
        """Preloads all users into dictionary.

        It's more effective to preload all users, rather the fetching many
        users by separate API get calls.
        """

        users = keystone.user_list(self._request)
        # Cache all users on right indexes, this is more effective than to
        # obtain large number of users one by one by keystone.user_get
        for u in users:
            self._users[u.id] = u