summaryrefslogtreecommitdiffstats
path: root/app/controllers/timelog_controller.rb
diff options
context:
space:
mode:
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>2011-04-04 11:54:47 +0000
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>2011-04-04 11:54:47 +0000
commit098fabd6ce4c4b69ff97a2c888388e1b1a5d288a (patch)
tree0f267c46be2863419e02565b337a8beeb19359d8 /app/controllers/timelog_controller.rb
parentc2baf187ac6688382eeb0f8baad8898ccb78ea2f (diff)
downloadredmine-098fabd6ce4c4b69ff97a2c888388e1b1a5d288a.tar.gz
redmine-098fabd6ce4c4b69ff97a2c888388e1b1a5d288a.zip
add function of bulk delete time entries (#7996).
Contributed by Adam Soltys. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5316 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/controllers/timelog_controller.rb')
-rw-r--r--app/controllers/timelog_controller.rb44
1 files changed, 24 insertions, 20 deletions
diff --git a/app/controllers/timelog_controller.rb b/app/controllers/timelog_controller.rb
index 6d78c514f..882000817 100644
--- a/app/controllers/timelog_controller.rb
+++ b/app/controllers/timelog_controller.rb
@@ -18,8 +18,8 @@
class TimelogController < ApplicationController
menu_item :issues
before_filter :find_project, :only => [:new, :create]
- before_filter :find_time_entry, :only => [:show, :edit, :update, :destroy]
- before_filter :find_time_entries, :only => [:bulk_edit, :bulk_update]
+ before_filter :find_time_entry, :only => [:show, :edit, :update]
+ before_filter :find_time_entries, :only => [:bulk_edit, :bulk_update, :destroy]
before_filter :authorize, :except => [:index]
before_filter :find_optional_project, :only => [:index]
accept_key_auth :index, :show, :create, :update, :destroy
@@ -180,30 +180,34 @@ class TimelogController < ApplicationController
end
end
set_flash_from_bulk_time_entry_save(@time_entries, unsaved_time_entry_ids)
- redirect_back_or_default({:controller => 'timelog', :action => 'index', :project_id => @project})
+ redirect_back_or_default({:controller => 'timelog', :action => 'index', :project_id => @projects.first})
end
verify :method => :delete, :only => :destroy, :render => {:nothing => true, :status => :method_not_allowed }
def destroy
- if @time_entry.destroy && @time_entry.destroyed?
- respond_to do |format|
- format.html {
- flash[:notice] = l(:notice_successful_delete)
- redirect_to :back
- }
- format.api { head :ok }
- end
- else
- respond_to do |format|
- format.html {
- flash[:error] = l(:notice_unable_delete_time_entry)
- redirect_to :back
- }
- format.api { render_validation_errors(@time_entry) }
+ @time_entries.each do |t|
+ begin
+ unless t.destroy && t.destroyed?
+ respond_to do |format|
+ format.html {
+ flash[:error] = l(:notice_unable_delete_time_entry)
+ redirect_to :back
+ }
+ format.api { render_validation_errors(t) }
+ end
+ end
+ rescue ::ActionController::RedirectBackError
+ redirect_to :action => 'index', :project_id => @projects.first
end
end
- rescue ::ActionController::RedirectBackError
- redirect_to :action => 'index', :project_id => @time_entry.project
+
+ respond_to do |format|
+ format.html {
+ flash[:notice] = l(:notice_successful_delete)
+ redirect_back_or_default(:action => 'index', :project_id => @projects.first)
+ }
+ format.api { head :ok }
+ end
end
private