Improve settings #2670

This commit is contained in:
Martin Lensment 2015-06-30 11:49:52 +03:00
parent cce185cf9d
commit 731eb2aad4
4 changed files with 88 additions and 31 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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