mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Requests in any state can be deleted by an admin
This commit is contained in:
@@ -542,7 +542,7 @@ class Requests( BaseController ):
|
||||
action='new',
|
||||
**kwd) )
|
||||
request = self.__save_request(trans, None, **kwd)
|
||||
msg = 'The new request named %s has been created' % request.name
|
||||
msg = 'The new request named <b>%s</b> has been created' % request.name
|
||||
if params.get('create_request_button', False) == 'Save':
|
||||
return trans.response.send_redirect( web.url_for( controller='requests',
|
||||
action='list',
|
||||
|
||||
@@ -149,7 +149,7 @@ class RequestsGrid( grids.Grid ):
|
||||
confirm="More samples cannot be added to this request once it is submitted. Click OK to submit." ),
|
||||
grids.GridOperation( "Edit", allow_multiple=False, condition=( lambda item: not item.deleted ) ),
|
||||
grids.GridOperation( "Reject", allow_multiple=False, condition=( lambda item: not item.deleted and item.submitted() ) ),
|
||||
grids.GridOperation( "Delete", allow_multiple=True, condition=( lambda item: not item.deleted and item.new() ) ),
|
||||
grids.GridOperation( "Delete", allow_multiple=True, condition=( lambda item: not item.deleted ) ),
|
||||
grids.GridOperation( "Undelete", condition=( lambda item: item.deleted ) ),
|
||||
]
|
||||
global_actions = [
|
||||
@@ -387,7 +387,6 @@ class Requests( BaseController ):
|
||||
return self.__show_request_form(trans)
|
||||
def __delete_request(self, trans, **kwd):
|
||||
id_list = util.listify( kwd['id'] )
|
||||
delete_failed = []
|
||||
for id in id_list:
|
||||
try:
|
||||
request = trans.sa_session.query( trans.app.model.Request ).get( trans.security.decode_id(id) )
|
||||
@@ -399,20 +398,11 @@ class Requests( BaseController ):
|
||||
status='error',
|
||||
message=msg,
|
||||
**kwd) )
|
||||
# a request cannot be deleted once its submitted
|
||||
if not request.new():
|
||||
delete_failed.append(request.name)
|
||||
else:
|
||||
request.deleted = True
|
||||
trans.sa_session.add( request )
|
||||
trans.sa_session.flush()
|
||||
if not len(delete_failed):
|
||||
msg = '%i request(s) has been deleted.' % len(id_list)
|
||||
status = 'done'
|
||||
else:
|
||||
msg = '%i request(s) has been deleted. %i request %s could not be deleted as they have been submitted.' % (len(id_list)-len(delete_failed),
|
||||
len(delete_failed), str(delete_failed))
|
||||
status = 'warning'
|
||||
request.deleted = True
|
||||
trans.sa_session.add( request )
|
||||
trans.sa_session.flush()
|
||||
msg = '%i request(s) has been deleted.' % len(id_list)
|
||||
status = 'done'
|
||||
return trans.response.send_redirect( web.url_for( controller='requests_admin',
|
||||
action='list',
|
||||
status=status,
|
||||
|
||||
Reference in New Issue
Block a user