Merge branch 'fwn-to-find-by-full-path' into 'master'
replace `find_with_namespace` with `find_by_full_path` See merge request !8949
This commit is contained in:
commit
7dc8b6b204
|
@ -45,7 +45,7 @@ class Admin::ProjectsController < Admin::ApplicationController
|
|||
protected
|
||||
|
||||
def project
|
||||
@project = Project.find_with_namespace(
|
||||
@project = Project.find_by_full_path(
|
||||
[params[:namespace_id], '/', params[:id]].join('')
|
||||
)
|
||||
@project || render_404
|
||||
|
|
|
@ -24,7 +24,7 @@ class Admin::RunnerProjectsController < Admin::ApplicationController
|
|||
private
|
||||
|
||||
def project
|
||||
@project = Project.find_with_namespace(
|
||||
@project = Project.find_by_full_path(
|
||||
[params[:namespace_id], '/', params[:project_id]].join('')
|
||||
)
|
||||
@project || render_404
|
||||
|
|
|
@ -24,7 +24,7 @@ class Projects::ApplicationController < ApplicationController
|
|||
end
|
||||
|
||||
project_path = "#{namespace}/#{id}"
|
||||
@project = Project.find_with_namespace(project_path)
|
||||
@project = Project.find_by_full_path(project_path)
|
||||
|
||||
if can?(current_user, :read_project, @project) && !@project.pending_delete?
|
||||
if @project.path_with_namespace != project_path
|
||||
|
|
|
@ -79,7 +79,7 @@ class Projects::GitHttpClientController < Projects::ApplicationController
|
|||
if project_id.blank?
|
||||
@project = nil
|
||||
else
|
||||
@project = Project.find_with_namespace("#{params[:namespace_id]}/#{project_id}")
|
||||
@project = Project.find_by_full_path("#{params[:namespace_id]}/#{project_id}")
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ class Projects::UploadsController < Projects::ApplicationController
|
|||
namespace = params[:namespace_id]
|
||||
id = params[:project_id]
|
||||
|
||||
file_project = Project.find_with_namespace("#{namespace}/#{id}")
|
||||
file_project = Project.find_by_full_path("#{namespace}/#{id}")
|
||||
|
||||
if file_project.nil?
|
||||
@uploader = nil
|
||||
|
|
|
@ -37,7 +37,7 @@ module ApplicationHelper
|
|||
if project_id.is_a?(Project)
|
||||
project_id
|
||||
else
|
||||
Project.find_with_namespace(project_id)
|
||||
Project.find_by_full_path(project_id)
|
||||
end
|
||||
|
||||
if project.avatar_url
|
||||
|
|
|
@ -370,10 +370,6 @@ class Project < ActiveRecord::Base
|
|||
def group_ids
|
||||
joins(:namespace).where(namespaces: { type: 'Group' }).select(:namespace_id)
|
||||
end
|
||||
|
||||
# Add alias for Routable method for compatibility with old code.
|
||||
# In future all calls `find_with_namespace` should be replaced with `find_by_full_path`
|
||||
alias_method :find_with_namespace, :find_by_full_path
|
||||
end
|
||||
|
||||
def lfs_enabled?
|
||||
|
@ -1352,6 +1348,6 @@ class Project < ActiveRecord::Base
|
|||
def pending_delete_twin
|
||||
return false unless path
|
||||
|
||||
Project.unscoped.where(pending_delete: true).find_with_namespace(path_with_namespace)
|
||||
Project.unscoped.where(pending_delete: true).find_by_full_path(path_with_namespace)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -61,7 +61,7 @@ module Auth
|
|||
end
|
||||
|
||||
def process_repository_access(type, name, actions)
|
||||
requested_project = Project.find_with_namespace(name)
|
||||
requested_project = Project.find_by_full_path(name)
|
||||
return unless requested_project
|
||||
|
||||
actions = actions.select do |action|
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
title: replace `find_with_namespace` with `find_by_full_path`
|
||||
merge_request: 8949
|
||||
author: Adam Pahlevi
|
|
@ -26,7 +26,7 @@ Gitlab::Seeder.quiet do
|
|||
end
|
||||
end
|
||||
|
||||
project = Project.find_with_namespace('gitlab-org/gitlab-test')
|
||||
project = Project.find_by_full_path('gitlab-org/gitlab-test')
|
||||
|
||||
params = {
|
||||
source_branch: 'feature',
|
||||
|
|
|
@ -45,7 +45,7 @@ module API
|
|||
if id =~ /^\d+$/
|
||||
Project.find_by(id: id)
|
||||
else
|
||||
Project.find_with_namespace(id)
|
||||
Project.find_by_full_path(id)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ module API
|
|||
|
||||
def wiki?
|
||||
@wiki ||= project_path.end_with?('.wiki') &&
|
||||
!Project.find_with_namespace(project_path)
|
||||
!Project.find_by_full_path(project_path)
|
||||
end
|
||||
|
||||
def project
|
||||
|
@ -41,7 +41,7 @@ module API
|
|||
# the wiki repository as well.
|
||||
project_path.chomp!('.wiki') if wiki?
|
||||
|
||||
Project.find_with_namespace(project_path)
|
||||
Project.find_by_full_path(project_path)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ module Banzai
|
|||
def project_from_ref(ref)
|
||||
return context[:project] unless ref
|
||||
|
||||
Project.find_with_namespace(ref)
|
||||
Project.find_by_full_path(ref)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -8,6 +8,6 @@ class ProjectUrlConstrainer
|
|||
return false
|
||||
end
|
||||
|
||||
Project.find_with_namespace(full_path).present?
|
||||
Project.find_by_full_path(full_path).present?
|
||||
end
|
||||
end
|
||||
|
|
|
@ -34,7 +34,7 @@ module Gitlab
|
|||
end
|
||||
|
||||
def project
|
||||
@project ||= Project.find_with_namespace(project_path)
|
||||
@project ||= Project.find_by_full_path(project_path)
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -30,11 +30,11 @@ module Gitlab
|
|||
|
||||
def retrieve_project_and_type
|
||||
@type = :project
|
||||
@project = Project.find_with_namespace(@repo_path)
|
||||
@project = Project.find_by_full_path(@repo_path)
|
||||
|
||||
if @repo_path.end_with?('.wiki') && !@project
|
||||
@type = :wiki
|
||||
@project = Project.find_with_namespace(@repo_path.gsub(/\.wiki\z/, ''))
|
||||
@project = Project.find_by_full_path(@repo_path.gsub(/\.wiki\z/, ''))
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ namespace :gitlab do
|
|||
sub(%r{^/*}, '').
|
||||
chomp('.git').
|
||||
chomp('.wiki')
|
||||
next if Project.find_with_namespace(repo_with_namespace)
|
||||
next if Project.find_by_full_path(repo_with_namespace)
|
||||
new_path = path + move_suffix
|
||||
puts path.inspect + ' -> ' + new_path.inspect
|
||||
File.rename(path, new_path)
|
||||
|
|
|
@ -29,7 +29,7 @@ namespace :gitlab do
|
|||
next
|
||||
end
|
||||
|
||||
project = Project.find_with_namespace(path)
|
||||
project = Project.find_by_full_path(path)
|
||||
|
||||
if project
|
||||
puts " * #{project.name} (#{repo_path}) exists"
|
||||
|
|
|
@ -7,7 +7,7 @@ namespace :gitlab do
|
|||
unless args.project.present?
|
||||
abort "Please specify the project you want to drop PostReceive jobs for:\n rake gitlab:sidekiq:drop_post_receive[group/project]"
|
||||
end
|
||||
project_path = Project.find_with_namespace(args.project).repository.path_to_repo
|
||||
project_path = Project.find_by_full_path(args.project).repository.path_to_repo
|
||||
|
||||
Sidekiq.redis do |redis|
|
||||
unless redis.exists(QUEUE)
|
||||
|
|
|
@ -24,7 +24,7 @@ describe Banzai::CrossProjectReference, lib: true do
|
|||
it 'returns the referenced project' do
|
||||
project2 = double('referenced project')
|
||||
|
||||
expect(Project).to receive(:find_with_namespace).
|
||||
expect(Project).to receive(:find_by_full_path).
|
||||
with('cross/reference').and_return(project2)
|
||||
|
||||
expect(project_from_ref('cross/reference')).to eq project2
|
||||
|
|
|
@ -2,8 +2,8 @@ require 'spec_helper'
|
|||
|
||||
describe 'project routing' do
|
||||
before do
|
||||
allow(Project).to receive(:find_with_namespace).and_return(false)
|
||||
allow(Project).to receive(:find_with_namespace).with('gitlab/gitlabhq').and_return(true)
|
||||
allow(Project).to receive(:find_by_full_path).and_return(false)
|
||||
allow(Project).to receive(:find_by_full_path).with('gitlab/gitlabhq').and_return(true)
|
||||
end
|
||||
|
||||
# Shared examples for a resource inside a Project
|
||||
|
@ -86,13 +86,13 @@ describe 'project routing' do
|
|||
end
|
||||
|
||||
context 'name with dot' do
|
||||
before { allow(Project).to receive(:find_with_namespace).with('gitlab/gitlabhq.keys').and_return(true) }
|
||||
before { allow(Project).to receive(:find_by_full_path).with('gitlab/gitlabhq.keys').and_return(true) }
|
||||
|
||||
it { expect(get('/gitlab/gitlabhq.keys')).to route_to('projects#show', namespace_id: 'gitlab', id: 'gitlabhq.keys') }
|
||||
end
|
||||
|
||||
context 'with nested group' do
|
||||
before { allow(Project).to receive(:find_with_namespace).with('gitlab/subgroup/gitlabhq').and_return(true) }
|
||||
before { allow(Project).to receive(:find_by_full_path).with('gitlab/subgroup/gitlabhq').and_return(true) }
|
||||
|
||||
it { expect(get('/gitlab/subgroup/gitlabhq')).to route_to('projects#show', namespace_id: 'gitlab/subgroup', id: 'gitlabhq') }
|
||||
end
|
||||
|
|
|
@ -74,7 +74,7 @@ describe PostReceive do
|
|||
|
||||
context "webhook" do
|
||||
it "fetches the correct project" do
|
||||
expect(Project).to receive(:find_with_namespace).with(project.path_with_namespace).and_return(project)
|
||||
expect(Project).to receive(:find_by_full_path).with(project.path_with_namespace).and_return(project)
|
||||
PostReceive.new.perform(pwd(project), key_id, base64_changes)
|
||||
end
|
||||
|
||||
|
@ -89,7 +89,7 @@ describe PostReceive do
|
|||
end
|
||||
|
||||
it "asks the project to trigger all hooks" do
|
||||
allow(Project).to receive(:find_with_namespace).and_return(project)
|
||||
allow(Project).to receive(:find_by_full_path).and_return(project)
|
||||
expect(project).to receive(:execute_hooks).twice
|
||||
expect(project).to receive(:execute_services).twice
|
||||
|
||||
|
@ -97,7 +97,7 @@ describe PostReceive do
|
|||
end
|
||||
|
||||
it "enqueues a UpdateMergeRequestsWorker job" do
|
||||
allow(Project).to receive(:find_with_namespace).and_return(project)
|
||||
allow(Project).to receive(:find_by_full_path).and_return(project)
|
||||
expect(UpdateMergeRequestsWorker).to receive(:perform_async).with(project.id, project.owner.id, any_args)
|
||||
|
||||
PostReceive.new.perform(pwd(project), key_id, base64_changes)
|
||||
|
|
Loading…
Reference in New Issue