Commit a66880a3 authored by Brett Walker's avatar Brett Walker

Convert namespace project? and user? methods

into project_namespace? and user_namespace?
parent 5775623d
......@@ -248,7 +248,7 @@ class Namespace < ApplicationRecord
def kind
return 'group' if group?
return 'project' if project?
return 'project' if project_namespace?
'user' # defaults to user
end
......@@ -257,17 +257,17 @@ class Namespace < ApplicationRecord
type == Group.sti_name
end
def project?
def project_namespace?
type == Namespaces::ProjectNamespace.sti_name
end
def user?
def user_namespace?
# That last bit ensures we're considered a user namespace as a default
type.nil? || type == Namespaces::UserNamespace.sti_name || !(group? || project?)
type.nil? || type == Namespaces::UserNamespace.sti_name || !(group? || project_namespace?)
end
def owner_required?
user?
user_namespace?
end
def find_fork_of(project)
......@@ -314,7 +314,7 @@ class Namespace < ApplicationRecord
# that belongs to this namespace
def all_projects
if Feature.enabled?(:recursive_approach_for_all_projects, default_enabled: :yaml)
namespace = user? ? self : self_and_descendant_ids
namespace = user_namespace? ? self : self_and_descendant_ids
Project.where(namespace: namespace)
else
Project.inside_path(full_path)
......@@ -536,21 +536,21 @@ class Namespace < ApplicationRecord
def validate_parent_type
unless has_parent?
if project?
if project_namespace?
errors.add(:parent_id, _('must be set for a project namespace'))
end
return
end
if parent.project?
if parent.project_namespace?
errors.add(:parent_id, _('project namespace cannot be the parent of another namespace'))
end
if user?
if user_namespace?
errors.add(:parent_id, _('cannot not be used for user namespace'))
elsif group?
errors.add(:parent_id, _('user namespace cannot be the parent of another namespace')) if parent.user?
errors.add(:parent_id, _('user namespace cannot be the parent of another namespace')) if parent.user_namespace?
end
end
......
......@@ -57,7 +57,7 @@ class Namespace::RootStorageStatistics < ApplicationRecord
end
def attributes_from_personal_snippets
return {} unless namespace.user?
return {} unless namespace.user_namespace?
from_personal_snippets.take.slice(SNIPPETS_SIZE_STAT_NAME)
end
......
......@@ -40,7 +40,7 @@ module EE
end
def link_to_buy_additional_minutes_path(namespace)
use_customer_dot_path = namespace.user? || ::Feature.disabled?(:new_route_ci_minutes_purchase, namespace, default_enabled: :yaml)
use_customer_dot_path = namespace.user_namespace? || ::Feature.disabled?(:new_route_ci_minutes_purchase, namespace, default_enabled: :yaml)
return EE::SUBSCRIPTIONS_MORE_MINUTES_URL if use_customer_dot_path
buy_minutes_subscriptions_path(selected_group: namespace.id)
......
......@@ -165,7 +165,7 @@ module EE
def allow_filtering_by_iteration?
# We currently only have group-level iterations so we hide
# this filter for projects under personal namespaces
return false if @project && @project.namespace.user?
return false if @project && @project.namespace.user_namespace?
context = @project.presence || @group.presence
......
......@@ -62,7 +62,7 @@ module Ci
end
def owner_ids_for(namespace)
namespace.user? ? Array(namespace.owner_id) : namespace.owner_ids
namespace.user_namespace? ? Array(namespace.owner_id) : namespace.owner_ids
end
end
end
......
......@@ -58,7 +58,7 @@ module Ci
end
def recipients
namespace.user? ? [namespace.owner_email] : namespace.owners_emails
namespace.user_namespace? ? [namespace.owner_email] : namespace.owners_emails
end
def namespace
......
......@@ -6,7 +6,7 @@ module API
expose :id, :name, :path, :kind, :full_path, :parent_id, :avatar_url
expose :web_url do |namespace|
if namespace.user?
if namespace.user_namespace?
Gitlab::Routing.url_helpers.user_url(namespace.owner)
else
namespace.web_url
......
......@@ -283,7 +283,7 @@ module Gitlab
token_handler = Gitlab::LfsToken.new(actor)
authentication_abilities =
if token_handler.user?
if token_handler.user_namespace?
read_write_project_authentication_abilities
elsif token_handler.deploy_key_pushable?(project)
read_write_authentication_abilities
......
......@@ -186,7 +186,7 @@ RSpec.describe Namespace do
it 'is valid' do
expect(Namespace.find(namespace.id)).to be_a(Namespaces::ProjectNamespace)
expect(namespace.kind).to eq('project')
expect(namespace.project?).to be_truthy
expect(namespace.project_namespace?).to be_truthy
end
end
......@@ -198,7 +198,7 @@ RSpec.describe Namespace do
# https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68894 is ready
expect(Namespace.find(namespace.id)).to be_a(Namespace)
expect(namespace.kind).to eq('user')
expect(namespace.user?).to be_truthy
expect(namespace.user_namespace?).to be_truthy
end
end
......@@ -208,7 +208,7 @@ RSpec.describe Namespace do
it 'is valid' do
expect(Namespace.find(namespace.id)).to be_a(Namespace)
expect(namespace.kind).to eq('user')
expect(namespace.user?).to be_truthy
expect(namespace.user_namespace?).to be_truthy
end
end
......@@ -218,7 +218,7 @@ RSpec.describe Namespace do
it 'defaults to a Namespace' do
expect(Namespace.find(namespace.id)).to be_a(Namespace)
expect(namespace.kind).to eq('user')
expect(namespace.user?).to be_truthy
expect(namespace.user_namespace?).to be_truthy
end
end
end
......@@ -1559,7 +1559,7 @@ RSpec.describe Namespace do
end
describe '#user?' do
subject { namespace.user? }
subject { namespace.user_namespace? }
context 'when type is a user' do
let(:user) { create(:user) }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment