diff options
Diffstat (limited to 'app/controllers')
-rw-r--r-- | app/controllers/issue_statuses_controller.rb | 20 | ||||
-rw-r--r-- | app/controllers/issues_controller.rb | 4 | ||||
-rw-r--r-- | app/controllers/reports_controller.rb | 2 | ||||
-rw-r--r-- | app/controllers/roles_controller.rb | 2 |
4 files changed, 23 insertions, 5 deletions
diff --git a/app/controllers/issue_statuses_controller.rb b/app/controllers/issue_statuses_controller.rb index 5c74fbd02..9180533c3 100644 --- a/app/controllers/issue_statuses_controller.rb +++ b/app/controllers/issue_statuses_controller.rb @@ -19,13 +19,16 @@ class IssueStatusesController < ApplicationController layout 'base' before_filter :require_admin
+ verify :method => :post, :only => [ :destroy, :create, :update, :move ],
+ :redirect_to => { :action => :list }
+
def index list render :action => 'list' unless request.xhr? end def list - @issue_status_pages, @issue_statuses = paginate :issue_statuses, :per_page => 10
+ @issue_status_pages, @issue_statuses = paginate :issue_statuses, :per_page => 25, :order => "position"
render :action => "list", :layout => false if request.xhr? end @@ -55,6 +58,21 @@ class IssueStatusesController < ApplicationController else render :action => 'edit' end + end
+
+ def move
+ @issue_status = IssueStatus.find(params[:id])
+ case params[:position]
+ when 'highest'
+ @issue_status.move_to_top
+ when 'higher'
+ @issue_status.move_higher
+ when 'lower'
+ @issue_status.move_lower
+ when 'lowest'
+ @issue_status.move_to_bottom
+ end if params[:position]
+ redirect_to :action => 'list'
end def destroy diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 6ac8bc79b..491062e24 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -25,7 +25,7 @@ class IssuesController < ApplicationController include IfpdfHelper
def show - @status_options = @issue.status.workflows.find(:all, :include => :new_status, :conditions => ["role_id=? and tracker_id=?", self.logged_in_user.role_for_project(@project.id), @issue.tracker.id]).collect{ |w| w.new_status } if self.logged_in_user
+ @status_options = @issue.status.workflows.find(:all, :order => 'position', :include => :new_status, :conditions => ["role_id=? and tracker_id=?", self.logged_in_user.role_for_project(@project.id), @issue.tracker.id]).collect{ |w| w.new_status } if self.logged_in_user
@custom_values = @issue.custom_values.find(:all, :include => :custom_field)
@journals_count = @issue.journals.count
@journals = @issue.journals.find(:all, :include => [:user, :details], :limit => 15, :order => "journals.created_on desc")
@@ -83,7 +83,7 @@ class IssuesController < ApplicationController def change_status
#@history = @issue.histories.build(params[:history])
- @status_options = @issue.status.workflows.find(:all, :conditions => ["role_id=? and tracker_id=?", self.logged_in_user.role_for_project(@project.id), @issue.tracker.id]).collect{ |w| w.new_status } if self.logged_in_user
+ @status_options = @issue.status.workflows.find(:all, :order => 'position', :include => :new_status, :conditions => ["role_id=? and tracker_id=?", self.logged_in_user.role_for_project(@project.id), @issue.tracker.id]).collect{ |w| w.new_status } if self.logged_in_user
@new_status = IssueStatus.find(params[:new_status_id])
if params[:confirm]
begin
diff --git a/app/controllers/reports_controller.rb b/app/controllers/reports_controller.rb index b27eb19ac..2e2f0fc8e 100644 --- a/app/controllers/reports_controller.rb +++ b/app/controllers/reports_controller.rb @@ -20,7 +20,7 @@ class ReportsController < ApplicationController before_filter :find_project, :authorize
def issue_report
- @statuses = IssueStatus.find :all
+ @statuses = IssueStatus.find(:all, :order => 'position')
case params[:detail]
when "tracker"
diff --git a/app/controllers/roles_controller.rb b/app/controllers/roles_controller.rb index ed7c6c200..9e26a6996 100644 --- a/app/controllers/roles_controller.rb +++ b/app/controllers/roles_controller.rb @@ -79,6 +79,6 @@ class RolesController < ApplicationController end
@roles = Role.find :all
@trackers = Tracker.find :all
- @statuses = IssueStatus.find(:all, :include => :workflows)
+ @statuses = IssueStatus.find(:all, :include => :workflows, :order => 'position')
end end |