diff options
author | Filipa Lacerda <filipa@gitlab.com> | 2017-12-15 21:25:23 +0000 |
---|---|---|
committer | Filipa Lacerda <filipa@gitlab.com> | 2017-12-15 21:25:23 +0000 |
commit | 223cb3788a744f9b1b92959d3337000358db108b (patch) | |
tree | 77858e7ec0e2a731ddb7791f99d75ef4c23b4b54 /app/controllers/concerns/creates_commit.rb | |
parent | b3606cff38b9defc764706ed6529a9e27dcf4847 (diff) | |
parent | a1a323392d4f0cb59eab2e215fa4010b84fc122d (diff) | |
download | gitlab-ce-41117-empty-state.tar.gz |
Merge branch 'master' into 41117-empty-state41117-empty-state
* master: (71 commits)
Update CHANGELOG.md for 10.2.5
Change CI config to use new base image
fix issue #39843 Incorrect guidance stating blocked users will be removed from groups and projects as members
Add changelog entry
Update tests for toggle design change
Update toggle styles to use icons
Use icons instead of string labels for toggles
Fix Rubocop offense in QA project specs
Add SAST docs
Fix UX issues in system info page
Update svg package version
Make sure user email is read only when synced with LDAP
Add note about automatic pipelines when enabling Auto DevOps
Backport changes from EE
Docs update documentation guidelines
Don't use Markdown cache for stubbed settings in specs
Fix remaining calls to GitLab QA factories
Rename QA scenarios to make factory concept explicit
Export JS classes as modules
Make rubocop happy
...
Diffstat (limited to 'app/controllers/concerns/creates_commit.rb')
-rw-r--r-- | app/controllers/concerns/creates_commit.rb | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/app/controllers/concerns/creates_commit.rb b/app/controllers/concerns/creates_commit.rb index 782f0be9c4a..6f4fdcdaa4f 100644 --- a/app/controllers/concerns/creates_commit.rb +++ b/app/controllers/concerns/creates_commit.rb @@ -1,6 +1,8 @@ module CreatesCommit extend ActiveSupport::Concern + include Gitlab::Utils::StrongMemoize + # rubocop:disable Gitlab/ModuleWithInstanceVariables def create_commit(service, success_path:, failure_path:, failure_view: nil, success_notice: nil) if can?(current_user, :push_code, @project) @project_to_commit_into = @project @@ -45,6 +47,7 @@ module CreatesCommit end end end + # rubocop:enable Gitlab/ModuleWithInstanceVariables def authorize_edit_tree! return if can_collaborate_with_project? @@ -77,6 +80,7 @@ module CreatesCommit end end + # rubocop:disable Gitlab/ModuleWithInstanceVariables def new_merge_request_path project_new_merge_request_path( @project_to_commit_into, @@ -88,20 +92,28 @@ module CreatesCommit } ) end + # rubocop:enable Gitlab/ModuleWithInstanceVariables def existing_merge_request_path - project_merge_request_path(@project, @merge_request) + project_merge_request_path(@project, @merge_request) # rubocop:disable Gitlab/ModuleWithInstanceVariables end + # rubocop:disable Gitlab/ModuleWithInstanceVariables def merge_request_exists? - return @merge_request if defined?(@merge_request) - - @merge_request = MergeRequestsFinder.new(current_user, project_id: @project.id).execute.opened - .find_by(source_project_id: @project_to_commit_into, source_branch: @branch_name, target_branch: @start_branch) + strong_memoize(:merge_request) do + MergeRequestsFinder.new(current_user, project_id: @project.id) + .execute + .opened + .find_by( + source_project_id: @project_to_commit_into, + source_branch: @branch_name, + target_branch: @start_branch) + end end + # rubocop:enable Gitlab/ModuleWithInstanceVariables def different_project? - @project_to_commit_into != @project + @project_to_commit_into != @project # rubocop:disable Gitlab/ModuleWithInstanceVariables end def create_merge_request? @@ -109,6 +121,6 @@ module CreatesCommit # as the target branch in the same project, # we don't want to create a merge request. params[:create_merge_request].present? && - (different_project? || @start_branch != @branch_name) + (different_project? || @start_branch != @branch_name) # rubocop:disable Gitlab/ModuleWithInstanceVariables end end |