Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 7 additions & 6 deletions Server/bkr/server/authentication.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
# deprecated
__all__ = ['Auth']
import cherrypy
from turbogears import expose
from turbogears.config import get
from bkr.server.xmlrpccontroller import RPCRoot

Expand Down Expand Up @@ -224,7 +225,7 @@ class Auth(RPCRoot):
# For XMLRPC methods in this class.
exposed = True

@cherrypy.expose
@expose()
@identity.require(identity.not_anonymous())
def who_am_i(self):
"""
Expand All @@ -244,7 +245,7 @@ def who_am_i(self):
retval['proxied_by_username'] = identity.current.proxied_by_user.user_name
return retval

@cherrypy.expose
@expose()
def renew_session(self, *args, **kw):
"""
Renew session, here to support the login method
Expand All @@ -254,7 +255,7 @@ def renew_session(self, *args, **kw):
return True
return False

@cherrypy.expose
@expose()
def login_password(self, username, password, proxy_user=None):
"""
Authenticates the current session using the given username and password.
Expand Down Expand Up @@ -282,7 +283,7 @@ def login_password(self, username, password, proxy_user=None):
identity.set_authentication(user)
return user.user_name

@cherrypy.expose
@expose()
def login_oauth2(self, access_token, proxy_user=None):
"""
Authenticates the current session using OAuth2.
Expand Down Expand Up @@ -329,7 +330,7 @@ def login_oauth2(self, access_token, proxy_user=None):
identity.set_authentication(user)
return username

@cherrypy.expose
@expose()
def login_krbV(self, krb_request, proxy_user=None):
"""
Authenticates the current session using Kerberos.
Expand Down Expand Up @@ -388,7 +389,7 @@ def login_krbV(self, krb_request, proxy_user=None):
# Alias kerberos login
login_krbv = login_krbV

@cherrypy.expose
@expose()
def logout(self, *args):
"""
Invalidates the current session.
Expand Down
8 changes: 4 additions & 4 deletions Server/bkr/server/controllers.py
Original file line number Diff line number Diff line change
Expand Up @@ -732,7 +732,7 @@ def _view_system_as_rdf(self, fqdn, **kwargs):
cherrypy.response.headers['Content-Type'] = 'application/rdf+xml'
return graph.serialize(format='pretty-xml')

@cherrypy.expose
@expose()
def view(self, fqdn=None, **kwargs):
if isinstance(fqdn, str):
fqdn = fqdn.decode('utf8') # for virtual paths like /view/asdf.example.com
Expand Down Expand Up @@ -1045,12 +1045,12 @@ def save_install(self, id, **kw):
system.date_modified = datetime.utcnow()
redirect("/view/%s" % system.fqdn)

@cherrypy.expose
@expose()
def lab_controllers(self):
query = LabController.query.filter(LabController.removed == None)
return [lc.fqdn for lc in query]

@cherrypy.expose
@expose()
def legacypush(self, fqdn=None, inventory=None):
if not fqdn:
return 0, "You must supply a FQDN"
Expand Down Expand Up @@ -1082,7 +1082,7 @@ def to_xml(self, taskid, to_screen=False, pretty=True, *args, **kw):

return xml_text

@cherrypy.expose
@expose()
def push(self, fqdn=None, inventory=None):
if not fqdn:
return 0, "You must supply a FQDN"
Expand Down
10 changes: 5 additions & 5 deletions Server/bkr/server/distro.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ def save_tag(self, id=None, tag=None, *args, **kw):
flash(u"Added Tag %s" % tag['text'])
redirect("./view?id=%s" % id)

@cherrypy.expose
@expose()
@identity.require(identity.has_permission('distro_expire'))
def expire(self, name, service=u'XMLRPC'):
distro = Distro.by_name(name)
Expand Down Expand Up @@ -231,7 +231,7 @@ def distros(self, distros,action='.',*args, **kw):
list=distros)

#XMLRPC method for listing distros
@cherrypy.expose
@expose()
def filter(self, filter):
"""
.. seealso:: :meth:`distrotrees.filter`
Expand Down Expand Up @@ -291,7 +291,7 @@ def filter(self, filter):
'distro_tags': [six.text_type(tag) for tag in distro.tags],
} for distro in distros]

@cherrypy.expose
@expose()
@identity.require(identity.not_anonymous())
def edit_version(self, name, version):
"""
Expand Down Expand Up @@ -333,7 +333,7 @@ def edit_version(self, name, version):
return edited


@cherrypy.expose
@expose()
@identity.require(identity.has_permission('tag_distro'))
def tag(self, name, tag):
"""
Expand All @@ -360,7 +360,7 @@ def tag(self, name, tag):
distro.tags.append(tag)
return added

@cherrypy.expose
@expose()
@identity.require(identity.has_permission('tag_distro'))
def untag(self, name, tag):
"""
Expand Down
2 changes: 1 addition & 1 deletion Server/bkr/server/distrotrees.py
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ def add_distro_urls(distro_tree, lab_controller, urls):
old_value=None, new_value=u'%s %s' % (lab_controller, url)))

# XMLRPC method for listing distro trees
@cherrypy.expose
@expose()
def filter(self, filter):
"""
Returns a list of details for distro trees filtered by the given criteria.
Expand Down
16 changes: 8 additions & 8 deletions Server/bkr/server/jobs.py
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ def delete_job_row(self, t_id):
response.status = 400
return ['Unable to delete %s' % t_id]

@cherrypy.expose
@expose()
def list(self, tags, days_complete_for, family, product, **kw):
"""
Lists Jobs, filtered by the given criteria.
Expand All @@ -195,7 +195,7 @@ def list(self, tags, days_complete_for, family, product, **kw):

return self.filter(jobs)

@cherrypy.expose
@expose()
def filter(self, filters):
"""
Returns a list of details for jobs filtered by the given criteria.
Expand Down Expand Up @@ -311,7 +311,7 @@ def filter(self, filters):
return_value = ['J:%s' % j[0] for j in jobs]
return return_value

@cherrypy.expose
@expose()
@identity.require(identity.not_anonymous())
def delete_jobs(self, jobs=None, tag=None, complete_days=None, family=None, dryrun=False, product=None):
"""
Expand Down Expand Up @@ -364,7 +364,7 @@ def delete_jobs(self, jobs=None, tag=None, complete_days=None, family=None, dryr
return '%s: %s' % (msg, [j.t_id for j in deleted_jobs])

# XMLRPC method
@cherrypy.expose
@expose()
@identity.require(identity.not_anonymous())
def upload(self, jobxml, ignore_missing_tasks=False):
"""
Expand Down Expand Up @@ -762,7 +762,7 @@ def update_recipe_set_response(self, recipe_set_id, response_id):
new=response)
return {'success': 1, 'rs_id': recipe_set_id}

@cherrypy.expose
@expose()
@identity.require(identity.not_anonymous())
def set_retention_product(self, job_t_id, retention_tag_name, product_name):
"""
Expand Down Expand Up @@ -813,11 +813,11 @@ def set_retention_product(self, job_t_id, retention_tag_name, product_name):
raise BeakerException('No permission to modify %s' % job)


@cherrypy.expose
@expose()
@identity.require(identity.not_anonymous())
def set_response(self, taskid, response):
"""
Updates the response (ack/nak) for a recipe set, or for all recipe sets
Updates the response (ack/nak) for a recipe set, or for all recipe sets
in a job.

Deprecated: setting 'nak' is a backwards compatibility alias for
Expand All @@ -839,7 +839,7 @@ def set_response(self, taskid, response):
raise ValueError('Unrecognised response %r' % response)
job.set_waived(waived)

@cherrypy.expose
@expose()
@identity.require(identity.not_anonymous())
def stop(self, job_id, stop_type, msg=None):
"""
Expand Down
26 changes: 13 additions & 13 deletions Server/bkr/server/labcontroller.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# (at your option) any later version.

from turbogears.database import session
from turbogears import config
from turbogears import config, expose
from bkr.server import identity
from bkr.server.xmlrpccontroller import RPCRoot
from bkr.server.distrotrees import DistroTrees
Expand Down Expand Up @@ -297,7 +297,7 @@ class LabControllers(RPCRoot):
# For XMLRPC methods in this class.
exposed = True

@cherrypy.expose
@expose()
@identity.require(identity.in_group("lab_controller"))
def add_distro_tree(self, new_distro):
lab_controller = identity.current.user.lab_controller
Expand Down Expand Up @@ -366,7 +366,7 @@ def add_distro_tree(self, new_distro):

return distro_tree.id

@cherrypy.expose
@expose()
@identity.require(identity.in_group("lab_controller"))
def remove_distro_trees(self, distro_tree_ids):
lab_controller = identity.current.user.lab_controller
Expand All @@ -375,7 +375,7 @@ def remove_distro_trees(self, distro_tree_ids):
distro_tree.expire(lab_controller=lab_controller)
return True

@cherrypy.expose
@expose()
@identity.require(identity.in_group('lab_controller'))
def get_running_command_ids(self):
lab_controller = identity.current.user.lab_controller
Expand All @@ -386,7 +386,7 @@ def get_running_command_ids(self):
.values(Command.id)
return [id for id, in running_commands]

@cherrypy.expose
@expose()
@identity.require(identity.in_group('lab_controller'))
def get_queued_command_details(self):
lab_controller = identity.current.user.lab_controller
Expand Down Expand Up @@ -471,7 +471,7 @@ def get_queued_command_details(self):
result.append(d)
return result

@cherrypy.expose
@expose()
def get_installation_for_system(self, fqdn):
system = System.by_fqdn(fqdn, identity.current.user)
if not system.installations:
Expand Down Expand Up @@ -504,7 +504,7 @@ def get_installation_for_system(self, fqdn):
if lca.lab_controller == system.lab_controller],
}

@cherrypy.expose
@expose()
@identity.require(identity.in_group('lab_controller'))
def mark_command_running(self, command_id):
lab_controller = identity.current.user.lab_controller
Expand All @@ -517,7 +517,7 @@ def mark_command_running(self, command_id):
cmd.change_status(CommandStatus.running)
return True

@cherrypy.expose
@expose()
@identity.require(identity.in_group('lab_controller'))
def mark_command_completed(self, command_id):
lab_controller = identity.current.user.lab_controller
Expand All @@ -536,7 +536,7 @@ def mark_command_completed(self, command_id):
cmd.log_to_system_history()
return True

@cherrypy.expose
@expose()
@identity.require(identity.in_group('lab_controller'))
def add_completed_command(self, fqdn, action):
# Reports completion of a command that was executed
Expand All @@ -551,7 +551,7 @@ def add_completed_command(self, fqdn, action):
cmd.log_to_system_history()
return True

@cherrypy.expose
@expose()
@identity.require(identity.in_group('lab_controller'))
def mark_command_aborted(self, command_id, message=None):
lab_controller = identity.current.user.lab_controller
Expand All @@ -569,7 +569,7 @@ def mark_command_aborted(self, command_id, message=None):
return True


@cherrypy.expose
@expose()
@identity.require(identity.in_group('lab_controller'))
def mark_command_failed(self, command_id, message=None, system_broken=True):
lab_controller = identity.current.user.lab_controller
Expand All @@ -595,7 +595,7 @@ def mark_command_failed(self, command_id, message=None, system_broken=True):
cmd.log_to_system_history()
return True

@cherrypy.expose
@expose()
@identity.require(identity.in_group('lab_controller'))
def clear_running_commands(self, message=None):
"""
Expand Down Expand Up @@ -631,7 +631,7 @@ def clear_running_commands(self, message=None):
cmd.abort(message)
return True

@cherrypy.expose
@expose()
@identity.require(identity.in_group('lab_controller'))
def get_distro_trees(self, filter=None):
"""
Expand Down
2 changes: 1 addition & 1 deletion Server/bkr/server/preferences.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ def add_submission_delegate_by_name(self, new_delegate_name,
return new_delegate_name

#XMLRPC method for updating user preferences
@cherrypy.expose
@expose()
@identity.require(identity.not_anonymous())
@validate(validators=dict(email_address=validators.Email()))
def update(self, email_address=None, tg_errors=None):
Expand Down
Loading
Loading