From b111285334a7c41102fdb030e4f40c4c75e09f40 Mon Sep 17 00:00:00 2001 From: Stas Date: Mon, 18 Jan 2016 14:20:27 +0200 Subject: [PATCH 1/6] 111396946-templates_and_actions --- .../admin/reserved_domains_controller.rb | 38 ++++++++- app/views/admin/reserved_domains/_form.haml | 23 ++++++ app/views/admin/reserved_domains/index.haml | 82 ++++++++++++++++--- app/views/admin/reserved_domains/new.haml | 3 + 4 files changed, 132 insertions(+), 14 deletions(-) create mode 100644 app/views/admin/reserved_domains/_form.haml create mode 100644 app/views/admin/reserved_domains/new.haml diff --git a/app/controllers/admin/reserved_domains_controller.rb b/app/controllers/admin/reserved_domains_controller.rb index 402d33022..48677bea2 100644 --- a/app/controllers/admin/reserved_domains_controller.rb +++ b/app/controllers/admin/reserved_domains_controller.rb @@ -2,11 +2,43 @@ class Admin::ReservedDomainsController < AdminController load_and_authorize_resource def index - names = ReservedDomain.pluck(:name, :password).each_with_object({}){|domain, hash| hash[domain[0]] = domain[1]} - names.names = nil if names.blank? - @reserved_domains = names.to_yaml.gsub(/---.?\n/, '').gsub(/\.\.\..?\n/, '') + + params[:q] ||= {} + domains = ReservedDomain.all + @q = domains.search(params[:q]) + @domains = @q.result.page(params[:page]) + @domains = @domains.per(params[:results_per_page]) if params[:results_per_page].to_i > 0 + end + def new + @domain = ReservedDomain.new + end + + def edit + authorize! :update, Depp::Domain + @data = @domain.info(params[:domain_name]) + @domain_params = Depp::Domain.construct_params_from_server_data(@data) + end + + def update + authorize! :update, Depp::Domain + @domain_params = params[:domain] + @data = @domain.update(@domain_params) + + if response_ok? + redirect_to info_registrar_domains_url(domain_name: @domain_params[:name]) + else + params[:domain_name] = @domain_params[:name] + render 'new' + end + end + + def delete + authorize! :delete, Depp::Domain + end + + def create @reserved_domains = params[:reserved_domains] diff --git a/app/views/admin/reserved_domains/_form.haml b/app/views/admin/reserved_domains/_form.haml new file mode 100644 index 000000000..bfbacbfd9 --- /dev/null +++ b/app/views/admin/reserved_domains/_form.haml @@ -0,0 +1,23 @@ += form_for([:admin, @domain], html: {class: 'form-horizontal'}) do |f| + = render 'shared/full_errors', object: @domain + + .row + .col-md-8 + .panel.panel-default + .panel-heading.clearfix + .pull-left= t(:general) + .panel-body + .form-group + .col-md-4.control-label + = f.label :name + .col-md-7 + = f.text_field(:name, class: 'form-control') + .form-group + .col-md-4.control-label + = f.label :password + .col-md-7 + = f.text_field(:password, class: 'form-control') +%hr + .row + .col-md-8.text-right + = button_tag(t(:save), class: 'btn btn-primary') diff --git a/app/views/admin/reserved_domains/index.haml b/app/views/admin/reserved_domains/index.haml index 15840ff93..808ad1480 100644 --- a/app/views/admin/reserved_domains/index.haml +++ b/app/views/admin/reserved_domains/index.haml @@ -1,14 +1,74 @@ - content_for :actions do - = link_to('#', class: 'btn btn-default', "data-container": "body", "data-title": t('list_format_is_in_yaml'), "data-content": "domain.ee: authinfopw
seconddomain.ee:
thirddomain.ee: authinfo3

#{t('if_auth_info_is_left_empty_it_will_be_auto_generated')}
#{t('each_domain_name_must_end_with_colon_sign')}", "data-placement": "left", "data-toggle": "popover", "data-html" => "true") do - %span.glyphicon.glyphicon-info-sign{"aria-hidden" => "true"} - + = link_to(t(:new), new_admin_reserved_domain_path, class: 'btn btn-primary') = render 'shared/title', name: t(:reserved_domains) -= form_tag([:admin, :reserved_domains]) do |f| - .row - .col-md-12 - = text_area_tag :reserved_domains, @reserved_domains, class: 'form-control', rows: 30 - %hr - .row - .col-md-12.text-right - %button.btn.btn-warning=t(:save) +.row + .col-md-12 + = search_form_for [:admin, @q], html: { style: 'margin-bottom: 0;', class: 'js-form', autocomplete: 'off' } do |f| + .row + .col-md-3 + .form-group + = f.label :name + = f.search_field :name_matches, value: params[:q][:name_matches], class: 'form-control', placeholder: t(:name) + .col-md-3 + .form-group + = f.label t(:created_at_from) + = f.search_field :created_at_gteq, value: params[:q][:created_at_gteq], class: 'form-control datepicker', placeholder: t(:created_at_from) + .col-md-3 + .form-group + = f.label t(:created_at_until) + = f.search_field :created_at_lteq, value: params[:q][:created_at_lteq], class: 'form-control datepicker', placeholder: t(:created_at_until) + .row + .col-md-3 + .form-group + = label_tag t(:results_per_page) + = text_field_tag :results_per_page, params[:results_per_page], class: 'form-control', placeholder: t(:results_per_page) + .col-md-3{style: 'padding-top: 25px;'} + %button.btn.btn-primary +   + %span.glyphicon.glyphicon-search +   + %button.btn.btn-default.js-reset-form + = t(:clear_fields) +%hr +.row + .col-md-12 + .table-responsive + %table.table.table-hover.table-bordered.table-condensed + %thead + %tr + %th{class: 'col-xs-2'} + = sort_link(@q, 'name') + %th{class: 'col-xs-2'} + = sort_link(@q, 'password') + %th{class: 'col-xs-2'} + = sort_link(@q, 'created_at', t(:created_at)) + %th{class: 'col-xs-2'} + = sort_link(@q, 'updated_at', t(:updated_at)) + %th{class: 'col-xs-2'} + = t(:actions) + %tbody + - @domains.each do |x| + %tr + %td= x.name + %td= x.password + %td= l(x.created_at, format: :short) + %td= l(x.updated_at, format: :short) + %td + = link_to(t(:edit), edit_admin_reserved_domains_path(name: x.name), + class: 'btn btn-primary btn-xs') + = link_to(t(:renew), renew_admin_reserved_domains_path(name: x.name), + class: 'btn btn-default btn-xs') + = link_to(t(:delete), delete_admin_reserved_domains_path(name: x.name), + class: 'btn btn-default btn-xs') +.row + .col-md-6 + = paginate @domains + .col-md-6.text-right + .pagination + = t(:result_count, count: @domains.total_count) + +:coffee + $(".js-reset-form").on "click", (e) -> + e.preventDefault(); + window.location = "#{admin_reserved_domains_path}" diff --git a/app/views/admin/reserved_domains/new.haml b/app/views/admin/reserved_domains/new.haml new file mode 100644 index 000000000..937fdebde --- /dev/null +++ b/app/views/admin/reserved_domains/new.haml @@ -0,0 +1,3 @@ += render 'shared/title', name: t(:new_reserved_domain) + += render 'form' From 793bc359ea013d2a1f650bc8af54f12100288704 Mon Sep 17 00:00:00 2001 From: Stas Date: Wed, 20 Jan 2016 15:44:55 +0200 Subject: [PATCH 2/6] 111396946-methods --- .../admin/reserved_domains_controller.rb | 60 +------------------ app/views/admin/reserved_domains/index.haml | 8 +-- 2 files changed, 5 insertions(+), 63 deletions(-) diff --git a/app/controllers/admin/reserved_domains_controller.rb b/app/controllers/admin/reserved_domains_controller.rb index 48677bea2..4cb7ba51f 100644 --- a/app/controllers/admin/reserved_domains_controller.rb +++ b/app/controllers/admin/reserved_domains_controller.rb @@ -16,66 +16,10 @@ class Admin::ReservedDomainsController < AdminController end def edit - authorize! :update, Depp::Domain - @data = @domain.info(params[:domain_name]) - @domain_params = Depp::Domain.construct_params_from_server_data(@data) - end - - def update - authorize! :update, Depp::Domain - @domain_params = params[:domain] - @data = @domain.update(@domain_params) - - if response_ok? - redirect_to info_registrar_domains_url(domain_name: @domain_params[:name]) - else - params[:domain_name] = @domain_params[:name] - render 'new' - end + authorize! :update, ReservedDomain end def delete - authorize! :delete, Depp::Domain - end - - - def create - @reserved_domains = params[:reserved_domains] - - begin - params[:reserved_domains] = "---\n" if params[:reserved_domains].blank? - names = YAML.load(params[:reserved_domains]) - fail if names == false - rescue - flash.now[:alert] = I18n.t('invalid_yaml') - logger.warn 'Invalid YAML' - render :index and return - end - - result = true - ReservedDomain.transaction do - # removing old ones - existing = ReservedDomain.any_of_domains(names.keys).pluck(:id) - ReservedDomain.where.not(id: existing).destroy_all - - #updating and adding - names.each do |name, psw| - rec = ReservedDomain.find_or_initialize_by(name: name) - rec.password = psw - - unless rec.save - result = false - raise ActiveRecord::Rollback - end - end - end - - if result - flash[:notice] = I18n.t('record_updated') - redirect_to :back - else - flash.now[:alert] = I18n.t('failed_to_update_record') - render :index - end + authorize! :delete, ReservedDomain end end diff --git a/app/views/admin/reserved_domains/index.haml b/app/views/admin/reserved_domains/index.haml index 808ad1480..6ac65d14b 100644 --- a/app/views/admin/reserved_domains/index.haml +++ b/app/views/admin/reserved_domains/index.haml @@ -55,12 +55,10 @@ %td= l(x.created_at, format: :short) %td= l(x.updated_at, format: :short) %td - = link_to(t(:edit), edit_admin_reserved_domains_path(name: x.name), + = link_to(t(:edit), edit_admin_reserved_domain_path(id: x.id), + class: 'btn btn-primary btn-xs') + = link_to(t(:delete), delete_admin_reserved_domain_path(id: x.id), class: 'btn btn-primary btn-xs') - = link_to(t(:renew), renew_admin_reserved_domains_path(name: x.name), - class: 'btn btn-default btn-xs') - = link_to(t(:delete), delete_admin_reserved_domains_path(name: x.name), - class: 'btn btn-default btn-xs') .row .col-md-6 = paginate @domains From 2ab5d8500a75b755de77037cd0c3fa574df168de Mon Sep 17 00:00:00 2001 From: Stas Date: Wed, 3 Feb 2016 15:55:39 +0200 Subject: [PATCH 3/6] 111396946-views_methods --- .../admin/blocked_domains_controller.rb | 46 +++++++++--- .../admin/reserved_domains_controller.rb | 47 +++++++++++- app/models/reserved_domain.rb | 7 +- app/views/admin/blocked_domains/_form.haml | 17 +++++ app/views/admin/blocked_domains/edit.haml | 3 + app/views/admin/blocked_domains/index.haml | 73 +++++++++++++++++-- app/views/admin/blocked_domains/new.haml | 3 + app/views/admin/reserved_domains/_form.haml | 3 +- app/views/admin/reserved_domains/edit.haml | 3 + app/views/admin/reserved_domains/index.haml | 4 +- app/views/admin/reserved_domains/new.haml | 2 +- config/locales/en.yml | 3 + config/routes.rb | 12 ++- 13 files changed, 194 insertions(+), 29 deletions(-) create mode 100644 app/views/admin/blocked_domains/_form.haml create mode 100644 app/views/admin/blocked_domains/edit.haml create mode 100644 app/views/admin/blocked_domains/new.haml create mode 100644 app/views/admin/reserved_domains/edit.haml diff --git a/app/controllers/admin/blocked_domains_controller.rb b/app/controllers/admin/blocked_domains_controller.rb index 2df3f90d9..c30b2dfb8 100644 --- a/app/controllers/admin/blocked_domains_controller.rb +++ b/app/controllers/admin/blocked_domains_controller.rb @@ -2,22 +2,46 @@ class Admin::BlockedDomainsController < AdminController load_and_authorize_resource def index - bd = BlockedDomain.first_or_initialize - @blocked_domains = bd.names.join("\n") + + params[:q] ||= {} + domains = BlockedDomain.all + @q = domains.search(params[:q]) + @domains = @q.result.page(params[:page]) + @domains = @domains.per(params[:results_per_page]) if params[:results_per_page].to_i > 0 + + end + + def new + + @domain = BlockedDomain.new + end def create - names = params[:blocked_domains].split("\r\n").map(&:strip) - bd = BlockedDomain.first_or_create + abort - if bd.update(names: names) - flash[:notice] = I18n.t('record_updated') - redirect_to :back + end + + def delete + + if BlockedDomain.find(params[:id]).destroy + flash[:notice] = I18n.t('domain_deleted') + redirect_to admin_blocked_domains_path else - @blocked_domains = params[:blocked_domains] - flash.now[:alert] = I18n.t('failed_to_update_record') - render :index + flash.now[:alert] = I18n.t('failed_to_delete_domain') + redirect_to admin_blocked_domains_path end end -end + + + def blocked_params + params.require(:blocked_domain).permit(:name) + end + + private + + def set_domain + @domain = BlockedDomain.find(params[:id]) + end +end \ No newline at end of file diff --git a/app/controllers/admin/reserved_domains_controller.rb b/app/controllers/admin/reserved_domains_controller.rb index 4cb7ba51f..b0af2fb9f 100644 --- a/app/controllers/admin/reserved_domains_controller.rb +++ b/app/controllers/admin/reserved_domains_controller.rb @@ -1,5 +1,6 @@ class Admin::ReservedDomainsController < AdminController load_and_authorize_resource + before_action :set_domain, only: [:edit, :update] def index @@ -16,10 +17,52 @@ class Admin::ReservedDomainsController < AdminController end def edit - authorize! :update, ReservedDomain + end + + def create + + @domain = ReservedDomain.new(reserved_params) + + if @domain.save + flash[:notice] = I18n.t('domain_added') + redirect_to admin_reserved_domains_path + else + flash.now[:alert] = I18n.t('failed_to_add_domain') + render 'new' + end + + end + + def update + + if @domain.update(reserved_params) + flash[:notice] = I18n.t('domain_updated') + else + flash.now[:alert] = I18n.t('failed_to_update_domain') + end + render 'edit' + end def delete - authorize! :delete, ReservedDomain + + if ReservedDomain.find(params[:id]).destroy + flash[:notice] = I18n.t('domain_deleted') + redirect_to admin_reserved_domains_path + else + flash.now[:alert] = I18n.t('failed_to_delete_domain') + redirect_to admin_reserved_domains_path + end + + end + + private + + def reserved_params + params.require(:reserved_domain).permit(:name, :password) + end + + def set_domain + @domain = ReservedDomain.find(params[:id]) end end diff --git a/app/models/reserved_domain.rb b/app/models/reserved_domain.rb index 141fd7263..e141ab7ee 100644 --- a/app/models/reserved_domain.rb +++ b/app/models/reserved_domain.rb @@ -22,7 +22,12 @@ class ReservedDomain < ActiveRecord::Base def fill_empty_passwords - self.password = SecureRandom.hex unless self.password + + if self.password.empty? + + self.password = SecureRandom.hex + + end end def name= val diff --git a/app/views/admin/blocked_domains/_form.haml b/app/views/admin/blocked_domains/_form.haml new file mode 100644 index 000000000..996d52843 --- /dev/null +++ b/app/views/admin/blocked_domains/_form.haml @@ -0,0 +1,17 @@ += form_for([:admin, @domain], html: {class: 'form-horizontal'}) do |f| + = render 'shared/full_errors', object: @domain + + .row + .col-md-8 + .panel.panel-default + .panel-heading.clearfix + .pull-left= t(:general) + .panel-body + .form-group + .col-md-4.control-label + = f.label :name + .col-md-7 + = f.text_field(:name, class: 'form-control') + .row + .col-md-8.text-right + = button_tag(t(:save), class: 'btn btn-primary') diff --git a/app/views/admin/blocked_domains/edit.haml b/app/views/admin/blocked_domains/edit.haml new file mode 100644 index 000000000..51d77f0cc --- /dev/null +++ b/app/views/admin/blocked_domains/edit.haml @@ -0,0 +1,3 @@ += render 'shared/title', name: t(:edit_pw) + += render 'form' diff --git a/app/views/admin/blocked_domains/index.haml b/app/views/admin/blocked_domains/index.haml index bd5660193..5accae030 100644 --- a/app/views/admin/blocked_domains/index.haml +++ b/app/views/admin/blocked_domains/index.haml @@ -1,10 +1,67 @@ +- content_for :actions do + = link_to(t(:new), new_admin_blocked_domain_path, class: 'btn btn-primary') = render 'shared/title', name: t(:blocked_domains) -= form_tag([:admin, :blocked_domains]) do |f| - .row - .col-md-12 - = text_area_tag :blocked_domains, @blocked_domains, class: 'form-control', rows: 30 - %hr - .row - .col-md-12.text-right - %button.btn.btn-warning=t(:save) +.row + .col-md-12 + = search_form_for [:admin, @q], html: { style: 'margin-bottom: 0;', class: 'js-form', autocomplete: 'off' } do |f| + .row + .col-md-3 + .form-group + = f.label :name + = f.search_field :name_matches, value: params[:q][:name_matches], class: 'form-control', placeholder: t(:name) + .col-md-3 + .form-group + = f.label t(:created_at_from) + = f.search_field :created_at_gteq, value: params[:q][:created_at_gteq], class: 'form-control datepicker', placeholder: t(:created_at_from) + .col-md-3 + .form-group + = f.label t(:created_at_until) + = f.search_field :created_at_lteq, value: params[:q][:created_at_lteq], class: 'form-control datepicker', placeholder: t(:created_at_until) + .row + .col-md-3 + .form-group + = label_tag t(:results_per_page) + = text_field_tag :results_per_page, params[:results_per_page], class: 'form-control', placeholder: t(:results_per_page) + .col-md-3{style: 'padding-top: 25px;'} + %button.btn.btn-primary +   + %span.glyphicon.glyphicon-search +   + %button.btn.btn-default.js-reset-form + = t(:clear_fields) +%hr +.row + .col-md-12 + .table-responsive + %table.table.table-hover.table-bordered.table-condensed + %thead + %tr + %th{class: 'col-xs-2'} + = sort_link(@q, 'name') + %th{class: 'col-xs-2'} + = sort_link(@q, 'created_at', t(:created_at)) + %th{class: 'col-xs-2'} + = sort_link(@q, 'updated_at', t(:updated_at)) + %th{class: 'col-xs-2'} + = t(:actions) + %tbody + - @domains.each do |x| + %tr + %td= x.name + %td= l(x.created_at, format: :short) + %td= l(x.updated_at, format: :short) + %td + = link_to(t(:delete), delete_admin_blocked_domain_path(id: x.id), + data: { confirm: t(:are_you_sure) }, class: 'btn btn-danger btn-xs') +.row + .col-md-6 + = paginate @domains + .col-md-6.text-right + .pagination + = t(:result_count, count: @domains.total_count) + +:coffee + $(".js-reset-form").on "click", (e) -> + e.preventDefault(); + window.location = "#{admin_blocked_domains_path}" diff --git a/app/views/admin/blocked_domains/new.haml b/app/views/admin/blocked_domains/new.haml new file mode 100644 index 000000000..4461eea40 --- /dev/null +++ b/app/views/admin/blocked_domains/new.haml @@ -0,0 +1,3 @@ += render 'shared/title', name: t(:add_blocked_domain) + += render 'form' diff --git a/app/views/admin/reserved_domains/_form.haml b/app/views/admin/reserved_domains/_form.haml index bfbacbfd9..2ba2431e9 100644 --- a/app/views/admin/reserved_domains/_form.haml +++ b/app/views/admin/reserved_domains/_form.haml @@ -11,13 +11,12 @@ .col-md-4.control-label = f.label :name .col-md-7 - = f.text_field(:name, class: 'form-control') + = f.text_field(:name, class: 'form-control', disabled: !f.object.new_record?) .form-group .col-md-4.control-label = f.label :password .col-md-7 = f.text_field(:password, class: 'form-control') -%hr .row .col-md-8.text-right = button_tag(t(:save), class: 'btn btn-primary') diff --git a/app/views/admin/reserved_domains/edit.haml b/app/views/admin/reserved_domains/edit.haml new file mode 100644 index 000000000..51d77f0cc --- /dev/null +++ b/app/views/admin/reserved_domains/edit.haml @@ -0,0 +1,3 @@ += render 'shared/title', name: t(:edit_pw) + += render 'form' diff --git a/app/views/admin/reserved_domains/index.haml b/app/views/admin/reserved_domains/index.haml index 6ac65d14b..06825b624 100644 --- a/app/views/admin/reserved_domains/index.haml +++ b/app/views/admin/reserved_domains/index.haml @@ -55,10 +55,10 @@ %td= l(x.created_at, format: :short) %td= l(x.updated_at, format: :short) %td - = link_to(t(:edit), edit_admin_reserved_domain_path(id: x.id), + = link_to(t(:edit_pw), edit_admin_reserved_domain_path(id: x.id), class: 'btn btn-primary btn-xs') = link_to(t(:delete), delete_admin_reserved_domain_path(id: x.id), - class: 'btn btn-primary btn-xs') + data: { confirm: t(:are_you_sure) }, class: 'btn btn-danger btn-xs') .row .col-md-6 = paginate @domains diff --git a/app/views/admin/reserved_domains/new.haml b/app/views/admin/reserved_domains/new.haml index 937fdebde..cd6e189f9 100644 --- a/app/views/admin/reserved_domains/new.haml +++ b/app/views/admin/reserved_domains/new.haml @@ -1,3 +1,3 @@ -= render 'shared/title', name: t(:new_reserved_domain) += render 'shared/title', name: t(:add_reserved_domain) = render 'form' diff --git a/config/locales/en.yml b/config/locales/en.yml index 2cc8b1387..bad2571e2 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -930,3 +930,6 @@ en: if_auth_info_is_left_empty_it_will_be_auto_generated: 'If auth info is left empty, it will be auto generated.' each_domain_name_must_end_with_colon_sign: 'Each domain name must end with colon (:) sign.' expiration_remind_subject: 'The %{name} domain has expired' + add_reserved_domain: 'Add domain to reserved list' + add_blocked_domain: 'Add domain to blocked list' + edit_pw: 'Edit Pw' \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index 9dd7faf7d..86bdccaa9 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -204,8 +204,16 @@ Rails.application.routes.draw do resources :settings - resources :blocked_domains - resources :reserved_domains + resources :blocked_domains do + member do + get 'delete' + end + end + resources :reserved_domains do + member do + get 'delete' + end + end resources :registrars do resources :api_users From f31db65d2cd6562a671d7abe275d530a81e53b36 Mon Sep 17 00:00:00 2001 From: Stas Date: Wed, 3 Feb 2016 17:17:38 +0200 Subject: [PATCH 4/6] 111396946-validates --- app/controllers/admin/blocked_domains_controller.rb | 12 ++++++++++-- app/controllers/admin/reserved_domains_controller.rb | 6 +++--- app/models/blocked_domain.rb | 1 + app/models/reserved_domain.rb | 3 +++ app/views/admin/reserved_domains/_form.haml | 2 +- config/locales/en.yml | 3 ++- 6 files changed, 20 insertions(+), 7 deletions(-) diff --git a/app/controllers/admin/blocked_domains_controller.rb b/app/controllers/admin/blocked_domains_controller.rb index c30b2dfb8..a21e01fd1 100644 --- a/app/controllers/admin/blocked_domains_controller.rb +++ b/app/controllers/admin/blocked_domains_controller.rb @@ -19,7 +19,15 @@ class Admin::BlockedDomainsController < AdminController def create - abort + @domain = BlockedDomain.new(blocked_domain_params) + + if @domain.save + flash[:notice] = I18n.t('domain_added') + redirect_to admin_blocked_domains_path + else + flash.now[:alert] = I18n.t('failed_to_add_domain') + render 'new' + end end @@ -35,7 +43,7 @@ class Admin::BlockedDomainsController < AdminController end - def blocked_params + def blocked_domain_params params.require(:blocked_domain).permit(:name) end diff --git a/app/controllers/admin/reserved_domains_controller.rb b/app/controllers/admin/reserved_domains_controller.rb index b0af2fb9f..319a6275c 100644 --- a/app/controllers/admin/reserved_domains_controller.rb +++ b/app/controllers/admin/reserved_domains_controller.rb @@ -21,7 +21,7 @@ class Admin::ReservedDomainsController < AdminController def create - @domain = ReservedDomain.new(reserved_params) + @domain = ReservedDomain.new(reserved_domain_params) if @domain.save flash[:notice] = I18n.t('domain_added') @@ -35,7 +35,7 @@ class Admin::ReservedDomainsController < AdminController def update - if @domain.update(reserved_params) + if @domain.update(reserved_domain_params) flash[:notice] = I18n.t('domain_updated') else flash.now[:alert] = I18n.t('failed_to_update_domain') @@ -58,7 +58,7 @@ class Admin::ReservedDomainsController < AdminController private - def reserved_params + def reserved_domain_params params.require(:reserved_domain).permit(:name, :password) end diff --git a/app/models/blocked_domain.rb b/app/models/blocked_domain.rb index 2a646a74f..e433aae85 100644 --- a/app/models/blocked_domain.rb +++ b/app/models/blocked_domain.rb @@ -1,5 +1,6 @@ class BlockedDomain < ActiveRecord::Base include Versions +validates :name, domain_name: true, uniqueness: true after_initialize -> { self.names = [] if names.nil? } end diff --git a/app/models/reserved_domain.rb b/app/models/reserved_domain.rb index e141ab7ee..718d90bcf 100644 --- a/app/models/reserved_domain.rb +++ b/app/models/reserved_domain.rb @@ -3,6 +3,9 @@ class ReservedDomain < ActiveRecord::Base before_save :fill_empty_passwords before_save :generate_data before_destroy :remove_data + validates :name, domain_name: true, uniqueness: true + + class << self diff --git a/app/views/admin/reserved_domains/_form.haml b/app/views/admin/reserved_domains/_form.haml index 2ba2431e9..ec7492659 100644 --- a/app/views/admin/reserved_domains/_form.haml +++ b/app/views/admin/reserved_domains/_form.haml @@ -16,7 +16,7 @@ .col-md-4.control-label = f.label :password .col-md-7 - = f.text_field(:password, class: 'form-control') + = f.text_field(:password, placeholder: t(:optional), class: 'form-control') .row .col-md-8.text-right = button_tag(t(:save), class: 'btn btn-primary') diff --git a/config/locales/en.yml b/config/locales/en.yml index bad2571e2..2e36ec69d 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -932,4 +932,5 @@ en: expiration_remind_subject: 'The %{name} domain has expired' add_reserved_domain: 'Add domain to reserved list' add_blocked_domain: 'Add domain to blocked list' - edit_pw: 'Edit Pw' \ No newline at end of file + edit_pw: 'Edit Pw' + optional: 'Optional' \ No newline at end of file From db819447c6829158ee773f1468f64756686a7391 Mon Sep 17 00:00:00 2001 From: Stas Date: Thu, 4 Feb 2016 17:24:26 +0200 Subject: [PATCH 5/6] 111396946-order_and_style_changes --- app/controllers/admin/blocked_domains_controller.rb | 2 +- app/controllers/admin/reserved_domains_controller.rb | 2 +- app/views/admin/blocked_domains/index.haml | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/controllers/admin/blocked_domains_controller.rb b/app/controllers/admin/blocked_domains_controller.rb index a21e01fd1..49cc65675 100644 --- a/app/controllers/admin/blocked_domains_controller.rb +++ b/app/controllers/admin/blocked_domains_controller.rb @@ -4,7 +4,7 @@ class Admin::BlockedDomainsController < AdminController def index params[:q] ||= {} - domains = BlockedDomain.all + domains = BlockedDomain.all.order(:name) @q = domains.search(params[:q]) @domains = @q.result.page(params[:page]) @domains = @domains.per(params[:results_per_page]) if params[:results_per_page].to_i > 0 diff --git a/app/controllers/admin/reserved_domains_controller.rb b/app/controllers/admin/reserved_domains_controller.rb index 319a6275c..7de8d9891 100644 --- a/app/controllers/admin/reserved_domains_controller.rb +++ b/app/controllers/admin/reserved_domains_controller.rb @@ -5,7 +5,7 @@ class Admin::ReservedDomainsController < AdminController def index params[:q] ||= {} - domains = ReservedDomain.all + domains = ReservedDomain.all.order(:name) @q = domains.search(params[:q]) @domains = @q.result.page(params[:page]) @domains = @domains.per(params[:results_per_page]) if params[:results_per_page].to_i > 0 diff --git a/app/views/admin/blocked_domains/index.haml b/app/views/admin/blocked_domains/index.haml index 5accae030..ab5f79bc7 100644 --- a/app/views/admin/blocked_domains/index.haml +++ b/app/views/admin/blocked_domains/index.haml @@ -43,7 +43,7 @@ = sort_link(@q, 'created_at', t(:created_at)) %th{class: 'col-xs-2'} = sort_link(@q, 'updated_at', t(:updated_at)) - %th{class: 'col-xs-2'} + %th{class: 'col-xs-1'} = t(:actions) %tbody - @domains.each do |x| @@ -51,9 +51,9 @@ %td= x.name %td= l(x.created_at, format: :short) %td= l(x.updated_at, format: :short) - %td + %td{class: 'col-xs-1'} = link_to(t(:delete), delete_admin_blocked_domain_path(id: x.id), - data: { confirm: t(:are_you_sure) }, class: 'btn btn-danger btn-xs') + data: { confirm: t(:are_you_sure) }, class: 'btn btn-danger btn-xs center-block') .row .col-md-6 = paginate @domains From 2650ca1922f77ebba9af91e3d622df3cd9855e78 Mon Sep 17 00:00:00 2001 From: Stas Date: Thu, 4 Feb 2016 17:59:48 +0200 Subject: [PATCH 6/6] 111396946-style_change --- app/views/admin/blocked_domains/index.haml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/views/admin/blocked_domains/index.haml b/app/views/admin/blocked_domains/index.haml index ab5f79bc7..5f6ac69d0 100644 --- a/app/views/admin/blocked_domains/index.haml +++ b/app/views/admin/blocked_domains/index.haml @@ -51,9 +51,10 @@ %td= x.name %td= l(x.created_at, format: :short) %td= l(x.updated_at, format: :short) - %td{class: 'col-xs-1'} - = link_to(t(:delete), delete_admin_blocked_domain_path(id: x.id), - data: { confirm: t(:are_you_sure) }, class: 'btn btn-danger btn-xs center-block') + %td + %div{class: 'text-center'} + = link_to(t(:delete), delete_admin_blocked_domain_path(id: x.id), + data: { confirm: t(:are_you_sure) }, class: 'btn btn-danger btn-xs') .row .col-md-6 = paginate @domains