From 731eb2aad42bc0444b86f918978fb36b2dfff918 Mon Sep 17 00:00:00 2001 From: Martin Lensment Date: Tue, 30 Jun 2015 11:49:52 +0300 Subject: [PATCH] Improve settings #2670 --- app/controllers/admin/settings_controller.rb | 41 +++++++++++++++++--- app/models/registrar.rb | 38 ++++++++---------- app/views/admin/settings/index.haml | 22 +++++++++-- config/initializers/initial_settings.rb | 18 +++++++++ 4 files changed, 88 insertions(+), 31 deletions(-) diff --git a/app/controllers/admin/settings_controller.rb b/app/controllers/admin/settings_controller.rb index b2e5c98b6..fb9d80ae2 100644 --- a/app/controllers/admin/settings_controller.rb +++ b/app/controllers/admin/settings_controller.rb @@ -37,14 +37,45 @@ class Admin::SettingsController < AdminController params.require(:setting_group).permit(settings_attributes: [:value, :id]) end - def casted_settings + def casted_settings # rubocop:disable Metrics/MethodLength settings = {} + + ints = [ + :admin_contacts_min_count, + :admin_contacts_max_count, + :tech_contacts_min_count, + :tech_contacts_max_count, + :ds_algorithm, + :dnskeys_min_count, + :dnskeys_max_count, + :ns_min_count, + :ns_max_count, + :transfer_wait_time, + :invoice_number_min, + :invoice_number_max, + :days_to_keep_overdue_invoices_active, + :days_to_renew_domain_before_expire, + :expire_warning_period, + :redemption_grace_period + ] + + floats = [:registry_vat_prc] + + booleans = [ + :ds_data_allowed, + :key_data_allowed, + :client_side_status_editing_enabled, + :registrar_ip_whitelist_enabled, + :api_ip_whitelist_enabled + ] + params[:settings].each do |k, v| - settings[k] = v.to_i if Setting[k].class == Fixnum - settings[k] = v.to_f if Setting[k].class == Float - settings[k] = (v == 'true' ? true : false) if [TrueClass, FalseClass].include?(Setting[k].class) - settings[k] = v if Setting[k].class == String + settings[k] = v + settings[k] = v.to_i if ints.include?(k.to_sym) + settings[k] = v.to_f if floats.include?(k.to_sym) + settings[k] = (v == 'true' ? true : false) if booleans.include?(k.to_sym) end + settings end end diff --git a/app/models/registrar.rb b/app/models/registrar.rb index 2cb375ea6..b75bfae47 100644 --- a/app/models/registrar.rb +++ b/app/models/registrar.rb @@ -73,35 +73,30 @@ class Registrar < ActiveRecord::Base end end - # rubocop:disable Metrics/AbcSize # rubocop:disable Metrics/MethodLength def issue_prepayment_invoice(amount, description = nil) - # Currently only EIS can issue invoices - eis = self.class.eis - invoices.create( invoice_type: 'DEB', due_date: Time.zone.now.to_date + 1.day, payment_term: 'prepayment', description: description, currency: 'EUR', - vat_prc: 0.2, - seller_id: eis.id, - seller_name: eis.name, - seller_reg_no: eis.reg_no, - seller_iban: Setting.eis_iban, - seller_bank: Setting.eis_bank, - seller_swift: Setting.eis_swift, - seller_vat_no: eis.vat_no, - seller_country_code: eis.country_code, - seller_state: eis.state, - seller_street: eis.street, - seller_city: eis.city, - seller_zip: eis.zip, - seller_phone: eis.phone, - seller_url: eis.url, - seller_email: eis.email, - seller_contact_name: Setting.eis_invoice_contact, + vat_prc: Setting.registry_vat_prc, + seller_name: Setting.registry_juridical_name, + seller_reg_no: Setting.registry_reg_no, + seller_iban: Setting.registry_iban, + seller_bank: Setting.registry_bank, + seller_swift: Setting.registry_swift, + seller_vat_no: Setting.registry_vat_no, + seller_country_code: Setting.registry_country_code, + seller_state: Setting.registry_state, + seller_street: Setting.registry_street, + seller_city: Setting.registry_city, + seller_zip: Setting.registry_zip, + seller_phone: Setting.registry_phone, + seller_url: Setting.registry_url, + seller_email: Setting.registry_email, + seller_contact_name: Setting.registry_invoice_contact, buyer_id: id, buyer_name: name, buyer_reg_no: reg_no, @@ -124,7 +119,6 @@ class Registrar < ActiveRecord::Base ] ) end - # rubocop:enable Metrics/AbcSize # rubocop:enable Metrics/MethodLength def cash_account diff --git a/app/views/admin/settings/index.haml b/app/views/admin/settings/index.haml index 3838e7e5b..f1dced326 100644 --- a/app/views/admin/settings/index.haml +++ b/app/views/admin/settings/index.haml @@ -46,10 +46,24 @@ %th{class: 'col-xs-6'}= t(:setting) %th{class: 'col-xs-6'}= t(:value) %tbody - = render 'setting_row', var: :eis_iban - = render 'setting_row', var: :eis_bank - = render 'setting_row', var: :eis_swift - = render 'setting_row', var: :eis_invoice_contact + = render 'setting_row', var: :registry_juridical_name + = render 'setting_row', var: :registry_reg_no + = render 'setting_row', var: :registry_email + = render 'setting_row', var: :registry_billing_email + = render 'setting_row', var: :registry_phone + = render 'setting_row', var: :registry_country_code + = render 'setting_row', var: :registry_state + = render 'setting_row', var: :registry_street + = render 'setting_row', var: :registry_city + = render 'setting_row', var: :registry_zip + = render 'setting_row', var: :registry_vat_no + = render 'setting_row', var: :registry_url + = render 'setting_row', var: :registry_vat_prc + = render 'setting_row', var: :registry_iban + = render 'setting_row', var: :registry_bank + = render 'setting_row', var: :registry_swift + = render 'setting_row', var: :registry_invoice_contact + = render 'setting_row', var: :invoice_number_min = render 'setting_row', var: :invoice_number_max = render 'setting_row', var: :days_to_keep_overdue_invoices_active diff --git a/config/initializers/initial_settings.rb b/config/initializers/initial_settings.rb index b34cb2510..29ef89c70 100644 --- a/config/initializers/initial_settings.rb +++ b/config/initializers/initial_settings.rb @@ -37,6 +37,24 @@ if con.present? && con.table_exists?('settings') Setting.save_default(:registrar_ip_whitelist_enabled, true) Setting.save_default(:api_ip_whitelist_enabled, true) + + Setting.save_default(:registry_juridical_name, 'Eesti Interneti SA') + Setting.save_default(:registry_reg_no, '90010019') + Setting.save_default(:registry_email, 'info@internet.ee') + Setting.save_default(:registry_billing_email, 'info@internet.ee') + Setting.save_default(:registry_phone, '+372 727 1000') + Setting.save_default(:registry_country_code, 'EE') + Setting.save_default(:registry_state, 'Harjumaa') + Setting.save_default(:registry_street, 'Paldiski mnt 80') + Setting.save_default(:registry_city, 'Tallinn') + Setting.save_default(:registry_zip, '10617') + Setting.save_default(:registry_vat_no, 'EE101286464') + Setting.save_default(:registry_url, 'www.internet.ee') + Setting.save_default(:registry_vat_prc, 0.2) + Setting.save_default(:registry_iban, 'EE557700771000598731') + Setting.save_default(:registry_bank, 'LHV Pank') + Setting.save_default(:registry_swift, 'LHVBEE22') + Setting.save_default(:registry_invoice_contact, 'Martti Õigus') end # dev only setting