summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorImre Farkas <ifarkas@gitlab.com>2019-06-11 11:44:38 +0200
committerImre Farkas <ifarkas@gitlab.com>2019-06-16 17:09:17 +0200
commitcc209226eaf3a83b184363f5a2c2b2edfee00c67 (patch)
treea6a0a43260fa8c245e17d9ff27764c6071f4699f
parent207cdba1f2583541fd1847947f081aff9eb5cc68 (diff)
downloadgitlab-ce-jej/prototype-ip-enforcement-per-group.tar.gz
CE port of IP address restriction for groupsjej/prototype-ip-enforcement-per-group
-rw-r--r--app/views/groups/settings/_permissions.html.haml1
-rw-r--r--db/migrate/20190514105711_create_ip_restriction.rb20
-rw-r--r--db/schema.rb7
3 files changed, 28 insertions, 0 deletions
diff --git a/app/views/groups/settings/_permissions.html.haml b/app/views/groups/settings/_permissions.html.haml
index 0a14830c666..0da1f1ba7f5 100644
--- a/app/views/groups/settings/_permissions.html.haml
+++ b/app/views/groups/settings/_permissions.html.haml
@@ -17,6 +17,7 @@
%br
%span.descr.text-muted= share_with_group_lock_help_text(@group)
+ = render_if_exists 'groups/settings/ip_restriction', f: f, group: @group
= render 'groups/settings/lfs', f: f
= render 'groups/settings/project_creation_level', f: f, group: @group
= render 'groups/settings/two_factor_auth', f: f
diff --git a/db/migrate/20190514105711_create_ip_restriction.rb b/db/migrate/20190514105711_create_ip_restriction.rb
new file mode 100644
index 00000000000..dfafbe32ad1
--- /dev/null
+++ b/db/migrate/20190514105711_create_ip_restriction.rb
@@ -0,0 +1,20 @@
+# frozen_string_literal: true
+
+class CreateIpRestriction < ActiveRecord::Migration[5.1]
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+
+ def change
+ create_table :ip_restrictions do |t|
+ t.references :group, references: :namespace,
+ column: :group_id,
+ type: :integer,
+ null: false,
+ index: true
+ t.string :range, null: false
+ end
+
+ add_foreign_key(:ip_restrictions, :namespaces, column: :group_id, on_delete: :cascade) # rubocop: disable Migration/AddConcurrentForeignKey
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 4ed7c0cb248..42eefe9c0be 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -1051,6 +1051,12 @@ ActiveRecord::Schema.define(version: 20190611161641) do
t.index ["usage", "project_id"], name: "index_internal_ids_on_usage_and_project_id", unique: true, where: "(project_id IS NOT NULL)", using: :btree
end
+ create_table "ip_restrictions", force: :cascade do |t|
+ t.integer "group_id", null: false
+ t.string "range", null: false
+ t.index ["group_id"], name: "index_ip_restrictions_on_group_id", using: :btree
+ end
+
create_table "issue_assignees", id: false, force: :cascade do |t|
t.integer "user_id", null: false
t.integer "issue_id", null: false
@@ -2534,6 +2540,7 @@ ActiveRecord::Schema.define(version: 20190611161641) do
add_foreign_key "import_export_uploads", "projects", on_delete: :cascade
add_foreign_key "internal_ids", "namespaces", name: "fk_162941d509", on_delete: :cascade
add_foreign_key "internal_ids", "projects", on_delete: :cascade
+ add_foreign_key "ip_restrictions", "namespaces", column: "group_id", on_delete: :cascade
add_foreign_key "issue_assignees", "issues", name: "fk_b7d881734a", on_delete: :cascade
add_foreign_key "issue_assignees", "users", name: "fk_5e0c8d9154", on_delete: :cascade
add_foreign_key "issue_metrics", "issues", on_delete: :cascade