diff --git a/app/models/application_setting/term.rb b/app/models/application_setting/term.rb new file mode 100644 index 0000000000000000000000000000000000000000..1f3d20e2b75aa890ec00d8313ffef93e83b5bb41 --- /dev/null +++ b/app/models/application_setting/term.rb @@ -0,0 +1,5 @@ +class ApplicationSetting + class Term < ActiveRecord::Base + validates :terms, presence: true + end +end diff --git a/app/views/admin/application_settings/_terms.html.haml b/app/views/admin/application_settings/_terms.html.haml new file mode 100644 index 0000000000000000000000000000000000000000..39a3fb147bdc46b7c54010cfa92a2ce85e308213 --- /dev/null +++ b/app/views/admin/application_settings/_terms.html.haml @@ -0,0 +1,22 @@ += form_for @application_setting, url: admin_application_settings_path, html: { class: 'form-horizontal fieldset-form' } do |f| + = form_errors(@application_setting) + + %fieldset + .form-group + .col-sm-12 + .checkbox + = f.label :enforce_terms do + = f.check_box :enforce_terms + = _("Require all users to accept Terms of Service when they access GitLab.") + .help-block + When enabled, users cannot use GitLab until the terms have been accepted. + .form-group + .col-sm-12 + = f.label :terms do + = _("Terms of Service Agreement") + .col-sm-12 + = f.text_area :terms, class: 'form-control', rows: 8 + .help-block + Markdown enabled + + = f.submit 'Save changes', class: "btn btn-success" diff --git a/db/migrate/20180424134533_create_application_setting_terms.rb b/db/migrate/20180424134533_create_application_setting_terms.rb new file mode 100644 index 0000000000000000000000000000000000000000..f29335cfc519c5f457375c0ed2823ae0b01a88e9 --- /dev/null +++ b/db/migrate/20180424134533_create_application_setting_terms.rb @@ -0,0 +1,13 @@ +class CreateApplicationSettingTerms < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + def change + create_table :application_setting_terms do |t| + t.integer :cached_markdown_version + t.text :terms, null: false + t.text :terms_html + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 3d85ffbfee0ae76de7c9fc5984599d6cb3b42c13..18c15dcd22f2f303c9e6ce9aa44b647654a7951b 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -40,6 +40,12 @@ ActiveRecord::Schema.define(version: 20180503150427) do t.text "new_project_guidelines_html" end + create_table "application_setting_terms", force: :cascade do |t| + t.integer "cached_markdown_version" + t.text "terms", null: false + t.text "terms_html" + end + create_table "application_settings", force: :cascade do |t| t.integer "default_projects_limit" t.boolean "signup_enabled"