diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index fd6fc52d..1299dac3 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -153,7 +153,7 @@ class ApplicationController < ActionController::Base # Authorize the user for the requested action def authorize(ctrl = params[:controller], action = params[:action], global = false) - allowed = User.current.allowed_to?({:controller => ctrl, :action => action}, @project, :global => global) + allowed = User.current.allowed_to?({:controller => ctrl, :action => action}, @project || @projects, :global => global) allowed ? true : deny_access end diff --git a/app/controllers/context_menus_controller.rb b/app/controllers/context_menus_controller.rb index 5f4b02ca..ae851724 100644 --- a/app/controllers/context_menus_controller.rb +++ b/app/controllers/context_menus_controller.rb @@ -21,7 +21,7 @@ class ContextMenusController < ApplicationController :update => (@project && (User.current.allowed_to?(:edit_issues, @project) || (User.current.allowed_to?(:change_status, @project) && @allowed_statuses && !@allowed_statuses.empty?))), :move => (@project && User.current.allowed_to?(:move_issues, @project)), :copy => (@issue && @project.trackers.include?(@issue.tracker) && User.current.allowed_to?(:add_issues, @project)), - :delete => (@project && User.current.allowed_to?(:delete_issues, @project)) + :delete => User.current.allowed_to?(:delete_issues, @projects) } if @project @assignables = @project.assignable_users diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index d1378777..2221db87 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -21,7 +21,7 @@ class IssuesController < ApplicationController before_filter :find_issue, :only => [:show, :edit, :update] before_filter :find_issues, :only => [:bulk_edit, :bulk_update, :move, :perform_move, :destroy] - before_filter :check_project_uniqueness, :only => [:bulk_edit, :bulk_update, :move, :perform_move, :destroy] + before_filter :check_project_uniqueness, :only => [:bulk_edit, :bulk_update, :move, :perform_move] before_filter :find_project, :only => [:new, :create] before_filter :authorize, :except => [:index] before_filter :find_optional_project, :only => [:index] @@ -242,7 +242,7 @@ class IssuesController < ApplicationController end @issues.each(&:destroy) respond_to do |format| - format.html { redirect_to :action => 'index', :project_id => @project } + format.html { redirect_back_or_default(:action => 'index', :project_id => @project) } format.xml { head :ok } format.json { head :ok } end diff --git a/app/views/context_menus/issues.html.erb b/app/views/context_menus/issues.html.erb index 94d4e802..3f45f4ea 100644 --- a/app/views/context_menus/issues.html.erb +++ b/app/views/context_menus/issues.html.erb @@ -115,7 +115,7 @@ :class => 'icon-copy', :disabled => !@can[:move] %>