Warning

This document is for an old release of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.

Source code for galaxy.webapps.galaxy.controllers.userskeys

"""
Contains the user interface in the Universe class
"""

from sqlalchemy import false

from galaxy import (
    util,
    web
)
from galaxy.webapps.base.controller import BaseUIController, UsesFormDefinitionsMixin


[docs]class User(BaseUIController, UsesFormDefinitionsMixin):
[docs] @web.expose @web.require_login() @web.require_admin def index(self, trans, cntrller, **kwd): return self.get_all_users(trans)
[docs] @web.expose @web.require_login() @web.require_admin def admin_api_keys(self, trans, uid, **kwd): params = util.Params(kwd) uid = params.get('uid', uid) new_key = trans.app.model.APIKeys() new_key.user_id = trans.security.decode_id(uid) new_key.key = trans.app.security.get_new_guid() trans.sa_session.add(new_key) trans.sa_session.flush() return self.get_all_users(trans)
[docs] @web.expose @web.require_login() @web.require_admin def all_users(self, trans, **kwd): return self.get_all_users(trans)
[docs] @web.json def get_all_users(self, trans): users = [] for user in trans.sa_session.query(trans.app.model.User) \ .filter(trans.app.model.User.table.c.deleted == false()) \ .order_by(trans.app.model.User.table.c.email): uid = int(user.id) userkey = "" for api_user in trans.sa_session.query(trans.app.model.APIKeys) \ .filter(trans.app.model.APIKeys.user_id == uid): userkey = api_user.key users.append({'uid': trans.security.encode_id(uid), 'email': user.email, 'key': userkey}) return users