summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Thomas <nick@gitlab.com>2017-07-17 11:40:17 +0100
committerNick Thomas <nick@gitlab.com>2017-07-17 11:54:07 +0100
commitc9e6caaef4c467343d162c5841b5543940b092a1 (patch)
tree94b7183af17e1cddcce839517f62a5ed387b44df
parent5f32bd774ad5cb89685dab5102e0614b2593d4ff (diff)
downloadgitlab-ce-c9e6caaef4c467343d162c5841b5543940b092a1.tar.gz
Promote visibility level helpers from Group to Namespace
In EE, we make use of `namespace#public?` in projects. When the project is in a personal namespace, this breaks as the `public?` helper isn't present.
-rw-r--r--app/models/group.rb5
-rw-r--r--app/models/namespace.rb5
-rw-r--r--spec/models/namespace_spec.rb8
3 files changed, 13 insertions, 5 deletions
diff --git a/app/models/group.rb b/app/models/group.rb
index 70a4ceeffd8..dfa4e8adedd 100644
--- a/app/models/group.rb
+++ b/app/models/group.rb
@@ -2,7 +2,6 @@ require 'carrierwave/orm/activerecord'
class Group < Namespace
include Gitlab::ConfigHelper
- include Gitlab::VisibilityLevel
include AccessRequestable
include Avatarable
include Referable
@@ -103,10 +102,6 @@ class Group < Namespace
full_name
end
- def visibility_level_field
- :visibility_level
- end
-
def visibility_level_allowed_by_projects
allowed_by_projects = self.projects.where('visibility_level > ?', self.visibility_level).none?
diff --git a/app/models/namespace.rb b/app/models/namespace.rb
index 15713fc5f6d..0bb04194bdb 100644
--- a/app/models/namespace.rb
+++ b/app/models/namespace.rb
@@ -5,6 +5,7 @@ class Namespace < ActiveRecord::Base
include Sortable
include Gitlab::ShellAdapter
include Gitlab::CurrentSettings
+ include Gitlab::VisibilityLevel
include Routable
include AfterCommitQueue
@@ -105,6 +106,10 @@ class Namespace < ActiveRecord::Base
end
end
+ def visibility_level_field
+ :visibility_level
+ end
+
def to_param
full_path
end
diff --git a/spec/models/namespace_spec.rb b/spec/models/namespace_spec.rb
index 62c4ea01ce1..89ea5ceda95 100644
--- a/spec/models/namespace_spec.rb
+++ b/spec/models/namespace_spec.rb
@@ -63,6 +63,14 @@ describe Namespace, models: true do
it { is_expected.to respond_to(:has_parent?) }
end
+ describe 'inclusions' do
+ it { is_expected.to include_module(Gitlab::VisibilityLevel) }
+ end
+
+ describe '#visibility_level_field' do
+ it { expect(namespace.visibility_level_field).to eq(:visibility_level) }
+ end
+
describe '#to_param' do
it { expect(namespace.to_param).to eq(namespace.full_path) }
end