@@ -29,6 +29,7 class RepositoriesController < ApplicationController | |||||
29 | default_search_scope :changesets |
|
29 | default_search_scope :changesets | |
30 |
|
30 | |||
31 | before_action :find_project_by_project_id, :only => [:new, :create] |
|
31 | before_action :find_project_by_project_id, :only => [:new, :create] | |
|
32 | before_action :build_new_repository_from_params, :only => [:new, :create] | |||
32 | before_action :find_repository, :only => [:edit, :update, :destroy, :committers] |
|
33 | before_action :find_repository, :only => [:edit, :update, :destroy, :committers] | |
33 | before_action :find_project_repository, :except => [:new, :create, :edit, :update, :destroy, :committers] |
|
34 | before_action :find_project_repository, :except => [:new, :create, :edit, :update, :destroy, :committers] | |
34 | before_action :find_changeset, :only => [:revision, :add_related_issue, :remove_related_issue] |
|
35 | before_action :find_changeset, :only => [:revision, :add_related_issue, :remove_related_issue] | |
@@ -38,17 +39,11 class RepositoriesController < ApplicationController | |||||
38 | rescue_from Redmine::Scm::Adapters::CommandFailed, :with => :show_error_command_failed |
|
39 | rescue_from Redmine::Scm::Adapters::CommandFailed, :with => :show_error_command_failed | |
39 |
|
40 | |||
40 | def new |
|
41 | def new | |
41 | scm = params[:repository_scm] || (Redmine::Scm::Base.all & Setting.enabled_scm).first |
|
|||
42 | @repository = Repository.factory(scm) |
|
|||
43 | @repository.is_default = @project.repository.nil? |
|
42 | @repository.is_default = @project.repository.nil? | |
44 | @repository.project = @project |
|
|||
45 | end |
|
43 | end | |
46 |
|
44 | |||
47 | def create |
|
45 | def create | |
48 | @repository = Repository.factory(params[:repository_scm]) |
|
46 | if @repository.save | |
49 | @repository.safe_attributes = params[:repository] |
|
|||
50 | @repository.project = @project |
|
|||
51 | if request.post? && @repository.save |
|
|||
52 | redirect_to settings_project_path(@project, :tab => 'repositories') |
|
47 | redirect_to settings_project_path(@project, :tab => 'repositories') | |
53 | else |
|
48 | else | |
54 | render :action => 'new' |
|
49 | render :action => 'new' | |
@@ -60,7 +55,6 class RepositoriesController < ApplicationController | |||||
60 |
|
55 | |||
61 | def update |
|
56 | def update | |
62 | @repository.safe_attributes = params[:repository] |
|
57 | @repository.safe_attributes = params[:repository] | |
63 | @repository.project = @project |
|
|||
64 | if @repository.save |
|
58 | if @repository.save | |
65 | redirect_to settings_project_path(@project, :tab => 'repositories') |
|
59 | redirect_to settings_project_path(@project, :tab => 'repositories') | |
66 | else |
|
60 | else | |
@@ -286,6 +280,18 class RepositoriesController < ApplicationController | |||||
286 |
|
280 | |||
287 | private |
|
281 | private | |
288 |
|
282 | |||
|
283 | def build_new_repository_from_params | |||
|
284 | scm = params[:repository_scm] || (Redmine::Scm::Base.all & Setting.enabled_scm).first | |||
|
285 | unless @repository = Repository.factory(scm) | |||
|
286 | render_404 | |||
|
287 | return | |||
|
288 | end | |||
|
289 | ||||
|
290 | @repository.project = @project | |||
|
291 | @repository.safe_attributes = params[:repository] | |||
|
292 | @repository | |||
|
293 | end | |||
|
294 | ||||
289 | def find_repository |
|
295 | def find_repository | |
290 | @repository = Repository.find(params[:id]) |
|
296 | @repository = Repository.find(params[:id]) | |
291 | @project = @repository.project |
|
297 | @project = @repository.project |
General Comments 0
You need to be logged in to leave comments.
Login now