# HG changeset patch -- Bitbucket.org # Project galaxy-dist # URL http://bitbucket.org/galaxy/galaxy-dist/overview # User rc # Date 1280930211 14400 # Node ID 77575a5f348d7d10c1df423c5faa71abaefd5f8a # Parent 6e19bc97f2b8ba816ab20fc53a88f3504c992e00 lims: - bug fix: now a admin cannot delete a transfer dataset when the transfer has started. - added user warning when a dataset is deleted. --- a/lib/galaxy/web/controllers/requests_admin.py +++ b/lib/galaxy/web/controllers/requests_admin.py @@ -593,16 +593,25 @@ class RequestsAdmin( BaseController ): elif operation == "delete": id_list = util.listify( kwd['id'] ) + not_deleted = [] for id in id_list: sample_dataset = trans.sa_session.query( trans.app.model.SampleDataset ).get( trans.security.decode_id(id) ) sample_id = sample_dataset.sample_id - trans.sa_session.delete( sample_dataset ) - trans.sa_session.flush() + if sample_dataset.status == sample_dataset.sample.transfer_status.NOT_STARTED: + trans.sa_session.delete( sample_dataset ) + trans.sa_session.flush() + else: + not_deleted.append(sample_dataset.name) + message = '%i dataset(s) have been successfully deleted. ' % (len(id_list) - len(not_deleted)) + status = 'done' + if not_deleted: + status = 'warning' + message = message + '%s could not be deleted. Only datasets with transfer status "Not Started" can be deleted. ' % str(not_deleted) return trans.response.send_redirect( web.url_for( controller='requests_admin', action='manage_datasets', sample_id=sample_id, - status='done', - message="%i dataset(s) have been removed." % len(id_list)) ) + status=status, + message=message) ) elif operation == "rename": id_list = util.listify( kwd['id'] )