summaryrefslogtreecommitdiffstats
path: root/app/controllers
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2016-10-04 16:44:53 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2016-10-04 16:44:53 +0000
commitd8de3106ec5f3909fecd5770682402bf50d2f0cf (patch)
treece4fe7b2e7ac7ec01900b813c27a329deb7fbe60 /app/controllers
parent46044b48a3d7f27a2ca27fadc5e1b067f5d53d96 (diff)
downloadredmine-d8de3106ec5f3909fecd5770682402bf50d2f0cf.tar.gz
redmine-d8de3106ec5f3909fecd5770682402bf50d2f0cf.zip
Code cleanup.
git-svn-id: http://svn.redmine.org/redmine/trunk@15886 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/repositories_controller.rb22
1 files changed, 14 insertions, 8 deletions
diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb
index 3f01b1167..b073d8c5a 100644
--- a/app/controllers/repositories_controller.rb
+++ b/app/controllers/repositories_controller.rb
@@ -29,6 +29,7 @@ class RepositoriesController < ApplicationController
default_search_scope :changesets
before_action :find_project_by_project_id, :only => [:new, :create]
+ before_action :build_new_repository_from_params, :only => [:new, :create]
before_action :find_repository, :only => [:edit, :update, :destroy, :committers]
before_action :find_project_repository, :except => [:new, :create, :edit, :update, :destroy, :committers]
before_action :find_changeset, :only => [:revision, :add_related_issue, :remove_related_issue]
@@ -38,17 +39,11 @@ class RepositoriesController < ApplicationController
rescue_from Redmine::Scm::Adapters::CommandFailed, :with => :show_error_command_failed
def new
- scm = params[:repository_scm] || (Redmine::Scm::Base.all & Setting.enabled_scm).first
- @repository = Repository.factory(scm)
@repository.is_default = @project.repository.nil?
- @repository.project = @project
end
def create
- @repository = Repository.factory(params[:repository_scm])
- @repository.safe_attributes = params[:repository]
- @repository.project = @project
- if request.post? && @repository.save
+ if @repository.save
redirect_to settings_project_path(@project, :tab => 'repositories')
else
render :action => 'new'
@@ -60,7 +55,6 @@ class RepositoriesController < ApplicationController
def update
@repository.safe_attributes = params[:repository]
- @repository.project = @project
if @repository.save
redirect_to settings_project_path(@project, :tab => 'repositories')
else
@@ -286,6 +280,18 @@ class RepositoriesController < ApplicationController
private
+ def build_new_repository_from_params
+ scm = params[:repository_scm] || (Redmine::Scm::Base.all & Setting.enabled_scm).first
+ unless @repository = Repository.factory(scm)
+ render_404
+ return
+ end
+
+ @repository.project = @project
+ @repository.safe_attributes = params[:repository]
+ @repository
+ end
+
def find_repository
@repository = Repository.find(params[:id])
@project = @repository.project