From 472611ad24ef4117d5a23e935001fa07ef9a4552 Mon Sep 17 00:00:00 2001 From: tiagonbotelho Date: Sat, 6 Aug 2016 13:20:07 +0100 Subject: [PATCH] checks if user already owns a project with that name and hides the Edit button if true --- app/helpers/blob_helper.rb | 2 +- app/models/user.rb | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/helpers/blob_helper.rb b/app/helpers/blob_helper.rb index 48c278282190..78711b6d2583 100644 --- a/app/helpers/blob_helper.rb +++ b/app/helpers/blob_helper.rb @@ -27,7 +27,7 @@ def edit_blob_link(project = @project, ref = @ref, path = @path, options = {}) button_tag "Edit", class: "btn disabled has-tooltip btn-file-option", title: "You can only edit files when you are on a branch", data: { container: 'body' } elsif can_edit_blob?(blob, project, ref) link_to "Edit", edit_path, class: 'btn btn-sm' - elsif can?(current_user, :fork_project, project) + elsif can?(current_user, :fork_project, project) && !current_user.already_owns?(project) continue_params = { to: edit_path, notice: edit_in_new_fork_notice, diff --git a/app/models/user.rb b/app/models/user.rb index db7474349598..e056423f9e34 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -531,6 +531,10 @@ def fork_of(project) end end + def already_owns?(project) + !self.owned_projects.where(name: project.name).any? + end + def ldap_user? identities.exists?(["provider LIKE ? AND extern_uid IS NOT NULL", "ldap%"]) end -- GitLab