Modify Settings UI to read values from SettingEntry model

This commit is contained in:
Karl Erik Õunapuu 2020-08-11 12:29:13 +03:00
parent 4f59900367
commit 950bdc6256
4 changed files with 26 additions and 65 deletions

View file

@ -3,7 +3,12 @@ module Admin
load_and_authorize_resource load_and_authorize_resource
def index def index
@settings = Setting.unscoped @settings = SettingEntry.unscoped
@validation_settings = SettingEntry.with_group('domain_validation')
@expiration_settings = SettingEntry.with_group('domain_expiration')
@other_settings = SettingEntry.with_group('other')
@billing_settings = SettingEntry.with_group('billing')
@contacts_settings = SettingEntry.with_group('contacts')
end end
def create def create

View file

@ -18,6 +18,10 @@ class SettingEntry < ApplicationRecord
send(method) send(method)
end end
def self.with_group(group_name)
SettingEntry.where(group: group_name)
end
def self.groups def self.groups
SettingEntry.all.pluck(:group).uniq SettingEntry.all.pluck(:group).uniq
end end

View file

@ -1,9 +1,8 @@
- value = Setting.send(var) %tr{class: (@errors && @errors.has_key?(setting.code) && "danger")}
%tr{class: (@errors && @errors.has_key?(var.to_s) && "danger")} %td.col-md-6= setting.code.humanize
%td.col-md-6= var.to_s.humanize - if [TrueClass, FalseClass].include?(setting.value.class)
- if [TrueClass, FalseClass].include?(value.class)
%td.col-md-6 %td.col-md-6
= hidden_field_tag("[settings][#{var}]", '', id: nil) = hidden_field_tag("[settings][#{setting.code}]", '', id: nil)
= check_box_tag("[settings][#{var}]", true, value) = check_box_tag("[settings][#{setting.code}]", true, value)
- else - else
%td.col-md-6= text_field_tag("[settings][#{var}]", value, class: 'form-control') %td.col-md-6= text_field_tag("[settings][#{setting.code}]", setting.value, class: 'form-control')

View file

@ -9,20 +9,8 @@
.table-responsive .table-responsive
%table.table.table-hover.table-bordered.table-condensed %table.table.table-hover.table-bordered.table-condensed
%tbody %tbody
= render 'setting_row', var: :admin_contacts_min_count - @validation_settings.each do |setting|
= render 'setting_row', var: :admin_contacts_max_count = render 'setting_row', setting: setting
= render 'setting_row', var: :tech_contacts_min_count
= render 'setting_row', var: :tech_contacts_max_count
= render 'setting_row', var: :orphans_contacts_in_months
= render 'setting_row', var: :ds_data_allowed
= render 'setting_row', var: :key_data_allowed
= render 'setting_row', var: :dnskeys_min_count
= render 'setting_row', var: :dnskeys_max_count
= render 'setting_row', var: :nameserver_required
= render 'setting_row', var: :ns_min_count
= render 'setting_row', var: :ns_max_count
= render 'setting_row', var: :expire_pending_confirmation
= render 'setting_row', var: :legal_document_is_mandatory
.panel.panel-default .panel.panel-default
.panel-heading .panel-heading
@ -30,10 +18,8 @@
.table-responsive .table-responsive
%table.table.table-hover.table-bordered.table-condensed %table.table.table-hover.table-bordered.table-condensed
%tbody %tbody
= render 'setting_row', var: :days_to_renew_domain_before_expire - @expiration_settings.each do |setting|
= render 'setting_row', var: :expire_warning_period = render 'setting_row', setting: setting
= render 'setting_row', var: :redemption_grace_period
= render 'setting_row', var: :expiration_reminder_mail
.panel.panel-default .panel.panel-default
.panel-heading .panel-heading
@ -41,15 +27,8 @@
.table-responsive .table-responsive
%table.table.table-hover.table-bordered.table-condensed %table.table.table-hover.table-bordered.table-condensed
%tbody %tbody
= render 'setting_row', var: :transfer_wait_time - @other_settings.each do |setting|
= render 'setting_row', var: :ds_digest_type = render 'setting_row', setting: setting
= render 'setting_row', var: :client_side_status_editing_enabled
= render 'setting_row', var: :api_ip_whitelist_enabled
= render 'setting_row', var: :registrar_ip_whitelist_enabled
= render 'setting_row', var: :request_confrimation_on_registrant_change_enabled
= render 'setting_row', var: :request_confirmation_on_domain_deletion_enabled
= render 'setting_row', var: :address_processing
= render 'setting_row', var: :dispute_period_in_months
%tr %tr
%td.col-md-6= label_tag :default_language %td.col-md-6= label_tag :default_language
%td.col-md-6 %td.col-md-6
@ -63,25 +42,8 @@
.table-responsive .table-responsive
%table.table.table-hover.table-bordered.table-condensed %table.table.table-hover.table-bordered.table-condensed
%tbody %tbody
= render 'setting_row', var: :invoice_number_min - @billing_settings.each do |setting|
= render 'setting_row', var: :invoice_number_max = render 'setting_row', setting: setting
= render 'setting_row', var: :directo_monthly_number_min
= render 'setting_row', var: :directo_monthly_number_max
= render 'setting_row', var: :directo_monthly_number_last
= render 'setting_row', var: :days_to_keep_invoices_active
= render 'setting_row', var: :days_to_keep_overdue_invoices_active
= render 'setting_row', var: :minimum_deposit
= render 'setting_row', var: :directo_receipt_payment_term
= render 'setting_row', var: :directo_receipt_product_name
= render 'setting_row', var: :directo_sales_agent
= render 'setting_row', var: :registry_billing_email
= render 'setting_row', var: :registry_invoice_contact
= render 'setting_row', var: :registry_vat_no
= render 'setting_row', var: :registry_vat_prc
= render 'setting_row', var: :registry_bank
= render 'setting_row', var: :registry_bank_code
= render 'setting_row', var: :registry_iban
= render 'setting_row', var: :registry_swift
.panel.panel-default .panel.panel-default
.panel-heading .panel-heading
@ -89,17 +51,8 @@
.table-responsive .table-responsive
%table.table.table-hover.table-bordered.table-condensed %table.table.table-hover.table-bordered.table-condensed
%tbody %tbody
= render 'setting_row', var: :registry_juridical_name - @contacts_settings.each do |setting|
= render 'setting_row', var: :registry_reg_no = render 'setting_row', setting: setting
= render 'setting_row', var: :registry_email
= render 'setting_row', var: :registry_phone
= render 'setting_row', var: :registry_url
= render 'setting_row', var: :registry_street
= render 'setting_row', var: :registry_city
= render 'setting_row', var: :registry_state
= render 'setting_row', var: :registry_zip
= render 'setting_row', var: :registry_country_code
= render 'setting_row', var: :registry_whois_disclaimer
.row .row
.col-md-12.text-right .col-md-12.text-right