summaryrefslogtreecommitdiffstats
path: root/app/controllers
diff options
context:
space:
mode:
authorEric Davis <edavis@littlestreamsoftware.com>2010-08-20 15:22:19 +0000
committerEric Davis <edavis@littlestreamsoftware.com>2010-08-20 15:22:19 +0000
commitdfd1d0c7feef44685f4c72a3126f972610021055 (patch)
tree39bb7e028d1cb3fcfc3490789b7e6632f9d25af3 /app/controllers
parent969655789792e6f77ff7dc67bb83e20fadffeb2f (diff)
downloadredmine-dfd1d0c7feef44685f4c72a3126f972610021055.tar.gz
redmine-dfd1d0c7feef44685f4c72a3126f972610021055.zip
Refactor: merge IssuesController#update_form into IssuesController#new
The #update_form action was only refreshing the issue attributes form, so it's just a specialized JavaScript version of #new. This also removed old code that was extracted in other places (@issue.new_statuses_allowed_to). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4011 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/issues_controller.rb31
1 files changed, 13 insertions, 18 deletions
diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb
index 83c2f2112..5f08224cc 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, :move, :perform_move, :destroy]
- before_filter :find_project, :only => [:new, :create, :update_form]
+ before_filter :find_project, :only => [:new, :create]
before_filter :authorize, :except => [:index, :changes]
before_filter :find_optional_project, :only => [:index, :changes]
before_filter :check_for_default_issue_status, :only => [:new, :create]
@@ -132,7 +132,10 @@ class IssuesController < ApplicationController
# Add a new issue
# The new issue will be created from an existing one if copy_from parameter is given
def new
- render :action => 'new', :layout => !request.xhr?
+ respond_to do |format|
+ format.html { render :action => 'new', :layout => !request.xhr? }
+ format.js { render :partial => 'attributes' }
+ end
end
def create
@@ -258,20 +261,6 @@ class IssuesController < ApplicationController
end
end
- def update_form
- if params[:id].blank?
- @issue = Issue.new
- @issue.project = @project
- else
- @issue = @project.issues.visible.find(params[:id])
- end
- @issue.attributes = params[:issue]
- @allowed_statuses = ([@issue.status] + @issue.status.find_new_statuses_allowed_to(User.current.roles_for_project(@project), @issue.tracker)).uniq
- @priorities = IssuePriority.all
-
- render :partial => 'attributes'
- end
-
private
def find_issue
@issue = Issue.find(params[:id], :include => [:project, :tracker, :status, :author, :priority, :category])
@@ -310,8 +299,14 @@ private
# TODO: Refactor, lots of extra code in here
def build_new_issue_from_params
- @issue = Issue.new
- @issue.copy_from(params[:copy_from]) if params[:copy_from]
+ if params[:id].blank?
+ @issue = Issue.new
+ @issue.copy_from(params[:copy_from]) if params[:copy_from]
+ @issue.project = @project
+ else
+ @issue = @project.issues.visible.find(params[:id])
+ end
+
@issue.project = @project
# Tracker must be set before custom field values
@issue.tracker ||= @project.trackers.find((params[:issue] && params[:issue][:tracker_id]) || params[:tracker_id] || :first)