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