From 2c35aa14710111d65c0b401cb4d9ad1e7d71303e Mon Sep 17 00:00:00 2001 From: Martin Lensment Date: Tue, 16 Dec 2014 15:58:34 +0200 Subject: [PATCH] Remove Registrar from User --- app/controllers/admin/users_controller.rb | 4 ++-- app/models/registrar.rb | 1 - app/models/user.rb | 10 -------- app/views/admin/registrars/show.haml | 20 ---------------- app/views/admin/users/_form.haml | 23 ------------------- app/views/admin/users/index.haml | 3 --- app/views/admin/users/show.haml | 3 --- ...141216133831_remove_registrar_from_user.rb | 5 ++++ db/schema.rb | 3 +-- spec/fabricators/user_fabricator.rb | 1 - spec/features/sessions_spec.rb | 4 ++-- spec/features/setting_management_spec.rb | 5 ++-- spec/models/registrar_spec.rb | 1 - spec/models/user_spec.rb | 1 - 14 files changed, 12 insertions(+), 72 deletions(-) create mode 100644 db/migrate/20141216133831_remove_registrar_from_user.rb diff --git a/app/controllers/admin/users_controller.rb b/app/controllers/admin/users_controller.rb index a65460c17..b5d9e3265 100644 --- a/app/controllers/admin/users_controller.rb +++ b/app/controllers/admin/users_controller.rb @@ -53,7 +53,7 @@ class Admin::UsersController < AdminController end def user_params - params.require(:user).permit(:username, :password, :identity_code, :email, :registrar_id, - :admin, :registrar_typeahead, :country_id) + params.require(:user).permit(:username, :password, :identity_code, :email, + :admin, :country_id) end end diff --git a/app/models/registrar.rb b/app/models/registrar.rb index cc2c089a0..84942514b 100644 --- a/app/models/registrar.rb +++ b/app/models/registrar.rb @@ -3,7 +3,6 @@ class Registrar < ActiveRecord::Base has_many :domains, dependent: :restrict_with_error has_many :contacts, dependent: :restrict_with_error has_many :epp_users, dependent: :restrict_with_error - has_many :users, dependent: :restrict_with_error has_many :messages validates :name, :reg_no, :address, :country, presence: true diff --git a/app/models/user.rb b/app/models/user.rb index 86289246c..09ae10d69 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -7,29 +7,19 @@ class User < ActiveRecord::Base # TODO: Estonian id validation belongs_to :role - belongs_to :registrar belongs_to :country validates :username, :password, presence: true validates :identity_code, uniqueness: true, allow_blank: true validates :identity_code, presence: true, if: -> { country.iso == 'EE' } validates :email, presence: true, if: -> { country.iso != 'EE' } - validates :registrar, presence: true, if: -> { !admin } validate :validate_identity_code - before_save -> { self.registrar = nil if admin? } - - attr_accessor :registrar_typeahead - def to_s username end - def registrar_typeahead - @registrar_typeahead || registrar || nil - end - private def validate_identity_code diff --git a/app/views/admin/registrars/show.haml b/app/views/admin/registrars/show.haml index d5748bd36..8262d9990 100644 --- a/app/views/admin/registrars/show.haml +++ b/app/views/admin/registrars/show.haml @@ -44,26 +44,6 @@ %dt= t('shared.billing_address') %dd= @registrar.billing_address -.row - .col-md-12 - #users.panel.panel-default - .panel-heading.clearfix - = t('shared.users') - .table-responsive - %table.table.table-hover.table-bordered.table-condensed - %thead - %tr - %th{class: 'col-xs-3'}= t('shared.username') - %th{class: 'col-xs-3'}= t('shared.email') - %th{class: 'col-xs-3'}= t('shared.identity_code') - %th{class: 'col-xs-3'}= t('shared.admin') - %tbody - - @registrar.users.each do |x| - %tr - %td= link_to(x, [:admin, x]) - %td= x.email - %td= x.identity_code - %td= x.admin .row .col-md-12 diff --git a/app/views/admin/users/_form.haml b/app/views/admin/users/_form.haml index f56c8197b..811121767 100644 --- a/app/views/admin/users/_form.haml +++ b/app/views/admin/users/_form.haml @@ -25,13 +25,6 @@ .form-group = f.label :email = f.text_field(:email, class: 'form-control') - .form-group - .form-group.has-feedback.js-typeahead-container - = f.label :registrar_typeahead, t('shared.registrar') - = f.text_field(:registrar_typeahead, class: 'form-control js-registrar-typeahead', placeholder: t('shared.registrar'), autocomplete: 'off') - %span.glyphicon.glyphicon-ok.form-control-feedback.js-typeahead-ok.hidden - %span.glyphicon.glyphicon-remove.form-control-feedback.js-typeahead-remove - = f.hidden_field(:registrar_id, class: 'js-registrar-id') .form-group .checkbox %label{for: 'user_admin'} @@ -41,19 +34,3 @@ .row .col-md-12.text-right = button_tag(t('shared.save'), class: 'btn btn-primary') - -:javascript - Autocomplete.bindAdminRegistrarSearch(); - toggleRegistrar(); - - $('#user_admin').click(function() { - toggleRegistrar(); - }); - - function toggleRegistrar() { - if($('.js-admin').is(':checked')) { - $('.js-registrar-typeahead, .js-registrar-id').attr('disabled', true); - } else { - $('.js-registrar-typeahead, .js-registrar-id').attr('disabled', false); - } - } diff --git a/app/views/admin/users/index.haml b/app/views/admin/users/index.haml index 2c847a7f8..697bf8f16 100644 --- a/app/views/admin/users/index.haml +++ b/app/views/admin/users/index.haml @@ -19,8 +19,6 @@ = sort_link(@q, 'identity_code', t('shared.identity_code')) %th{class: 'col-xs-2'} = sort_link(@q, 'admin', t('shared.admin')) - %th{class: 'col-xs-2'} - = sort_link(@q, 'registrar', t('shared.registrar')) %tbody - @users.each do |x| %tr @@ -28,7 +26,6 @@ %td= x.email %td= x.identity_code %td= x.admin - %td= x.registrar .row .col-md-12 = paginate @users diff --git a/app/views/admin/users/show.haml b/app/views/admin/users/show.haml index ab406d0a8..c82e71c70 100644 --- a/app/views/admin/users/show.haml +++ b/app/views/admin/users/show.haml @@ -39,8 +39,5 @@ %dt= t('shared.email') %dd= @user.email - %dt= t('shared.registrar') - %dd= @user.registrar - %dt= t('shared.admin') %dd= @user.admin diff --git a/db/migrate/20141216133831_remove_registrar_from_user.rb b/db/migrate/20141216133831_remove_registrar_from_user.rb new file mode 100644 index 000000000..3b3371f71 --- /dev/null +++ b/db/migrate/20141216133831_remove_registrar_from_user.rb @@ -0,0 +1,5 @@ +class RemoveRegistrarFromUser < ActiveRecord::Migration + def change + remove_column :users, :registrar_id + end +end diff --git a/db/schema.rb b/db/schema.rb index 38dd26013..9d1215fe9 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20141215085117) do +ActiveRecord::Schema.define(version: 20141216133831) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -326,7 +326,6 @@ ActiveRecord::Schema.define(version: 20141215085117) do t.inet "last_sign_in_ip" t.boolean "admin", default: false t.string "identity_code" - t.integer "registrar_id" t.integer "country_id" end diff --git a/spec/fabricators/user_fabricator.rb b/spec/fabricators/user_fabricator.rb index a89b36ead..0a0091a23 100644 --- a/spec/fabricators/user_fabricator.rb +++ b/spec/fabricators/user_fabricator.rb @@ -5,5 +5,4 @@ Fabricator(:user) do identity_code '37810013108' admin true country - registrar end diff --git a/spec/features/sessions_spec.rb b/spec/features/sessions_spec.rb index 658222c82..86474998a 100644 --- a/spec/features/sessions_spec.rb +++ b/spec/features/sessions_spec.rb @@ -6,8 +6,8 @@ feature 'Sessions', type: :feature do background do create_settings - Fabricate(:user, registrar: nil, identity_code: '37810013261') - Fabricate(:user, registrar: zone, username: 'zone', admin: false, identity_code: '37810013087') + Fabricate(:user, identity_code: '37810013261') + Fabricate(:user, username: 'zone', admin: false, identity_code: '37810013087') Fabricate.times(2, :domain, registrar: zone) Fabricate.times(2, :domain, registrar: elkdata) end diff --git a/spec/features/setting_management_spec.rb b/spec/features/setting_management_spec.rb index 211677c99..5cedbfc1a 100644 --- a/spec/features/setting_management_spec.rb +++ b/spec/features/setting_management_spec.rb @@ -1,13 +1,12 @@ require 'rails_helper' feature 'Setting management', type: :feature do - let(:zone) { Fabricate(:registrar) } - let(:zone_user) { Fabricate(:user, registrar: zone, username: 'user1', admin: true, identity_code: '37810013087') } + let(:user) { Fabricate(:user, username: 'user1', admin: true, identity_code: '37810013087') } background { create_settings } scenario 'User changes a setting' do - sign_in zone_user + sign_in user visit admin_settings_path val_min = find_field('_settings_ns_min_count').value diff --git a/spec/models/registrar_spec.rb b/spec/models/registrar_spec.rb index dc7f0922c..17d52687e 100644 --- a/spec/models/registrar_spec.rb +++ b/spec/models/registrar_spec.rb @@ -4,6 +4,5 @@ describe Registrar do it { should belong_to(:country) } it { should have_many(:domains) } it { should have_many(:epp_users) } - it { should have_many(:users) } it { should have_many(:messages) } end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 25c1334b3..2f99cf77d 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -2,5 +2,4 @@ require 'rails_helper' describe User do it { should belong_to(:role) } - it { should belong_to(:registrar) } end