From 41fe86a25edec72ce6ca25bf6a8b61ec132f75d5 Mon Sep 17 00:00:00 2001 From: rautenberg Date: Wed, 29 Feb 2012 16:39:00 +0100 Subject: ajax deleteing async. cancel task via api wrapper. indents --- application.rb | 24 ++++++++++++++++-------- public/javascripts/toxcreate.js | 1 + 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/application.rb b/application.rb index ef23522..b6ea9cc 100644 --- a/application.rb +++ b/application.rb @@ -33,7 +33,14 @@ helpers do private def delete_model(model, subjectid=nil) task = OpenTox::Task.create("Deleting model: #{model.web_uri}", url_for("/delete",:full)) do |task| - begin OpenTox::RestClientWrapper.put(File.join(model.task_uri, "Cancelled"), "Cancelled",{:subjectid => subjectid}) if model.task_uri rescue LOGGER.warn "Cannot cancel task #{model.task_uri}" end + begin + if model.task_uri + task_to_kill = OpenTox::Task.find(model.task_uri) + task_to_kill.cancel + end + rescue + LOGGER.warn "Cannot cancel task #{model.task_uri}" + end task.progress(15) delete_dependent(model.uri, subjectid) if model.uri task.progress(30) @@ -53,13 +60,13 @@ helpers do task.progress(95) model.delete unless ToxCreateModel.get(model.id) - begin - aa = OpenTox::Authorization.delete_policies_from_uri(model.web_uri, @subjectid) - LOGGER.debug "Policy deleted for ToxCreateModel URI: #{model.web_uri} with result: #{aa}" - rescue - LOGGER.warn "Policy delete error for ToxCreateModel URI: #{model.web_uri}" + begin + aa = OpenTox::Authorization.delete_policies_from_uri(model.web_uri, @subjectid) + LOGGER.debug "Policy deleted for ToxCreateModel URI: #{model.web_uri} with result: #{aa}" + rescue + LOGGER.warn "Policy delete error for ToxCreateModel URI: #{model.web_uri}" + end end - end task.progress(100) url_for("/models",:full) end @@ -70,7 +77,7 @@ helpers do OpenTox::RestClientWrapper.delete(uri, :subjectid => subjectid) if subjectid OpenTox::RestClientWrapper.delete(uri) if !subjectid rescue - LOGGER.warn "Can not delete uri: #{uri}" + LOGGER.error "Can not delete uri: #{uri}" end end end @@ -202,6 +209,7 @@ end get '/predict/?' do @models = ToxCreateModel.all.sort @models = @models.collect{|m| m if m.status == 'Completed'}.compact + @models.delete_if{|m| !is_authorized(m.web_uri, "GET")} @models = @models.sort_by{|x| [x.endpoint ? x.endpoint : "",x.name.downcase]} haml :predict end diff --git a/public/javascripts/toxcreate.js b/public/javascripts/toxcreate.js index ef2a953..7f8d9ea 100755 --- a/public/javascripts/toxcreate.js +++ b/public/javascripts/toxcreate.js @@ -211,6 +211,7 @@ jQuery.fn.deleteModel = function(type, options) { type: opts.method, url: opts.action, dataType: 'html', + async: true, data: { '_method': 'delete' }, -- cgit v1.2.3