mirror of
https://github.com/internetee/registry.git
synced 2025-07-21 18:26:06 +02:00
Merge branch 'master' into 110395650-domain_crons
# Conflicts: # app/models/domain.rb
This commit is contained in:
commit
2028ffe5a5
36 changed files with 285 additions and 99 deletions
1
Gemfile
1
Gemfile
|
@ -12,6 +12,7 @@ gem 'rails', '4.2.4' # when update, all initializers eis_custom files nee
|
|||
gem 'iso8601', '0.8.6' # for dates and times
|
||||
gem 'hashie-forbidden_attributes', '0.1.1'
|
||||
gem 'SyslogLogger', '2.0', require: 'syslog/logger'
|
||||
gem 'rest-client'
|
||||
|
||||
# load env
|
||||
gem 'figaro', '1.1.1'
|
||||
|
|
13
Gemfile.lock
13
Gemfile.lock
|
@ -188,6 +188,8 @@ GEM
|
|||
nokogiri (>= 1.4.0)
|
||||
savon (>= 2.4.0)
|
||||
docile (1.1.5)
|
||||
domain_name (0.5.25)
|
||||
unf (>= 0.0.5, < 1.0.0)
|
||||
epp-xml (1.0.4)
|
||||
activesupport (~> 4.1)
|
||||
builder (~> 3.2)
|
||||
|
@ -261,6 +263,8 @@ GEM
|
|||
nokogiri (~> 1.6.0)
|
||||
ruby_parser (~> 3.5)
|
||||
html5_validators (1.2.2)
|
||||
http-cookie (1.0.2)
|
||||
domain_name (~> 0.5)
|
||||
httpclient (2.6.0.1)
|
||||
httpi (2.4.1)
|
||||
rack
|
||||
|
@ -320,6 +324,7 @@ GEM
|
|||
multi_json (1.11.2)
|
||||
multi_xml (0.5.5)
|
||||
nenv (0.2.0)
|
||||
netrc (0.11.0)
|
||||
newrelic_rpm (3.12.0.288)
|
||||
nokogiri (1.6.6.2)
|
||||
mini_portile (~> 0.6.0)
|
||||
|
@ -412,6 +417,10 @@ GEM
|
|||
request_store (1.1.0)
|
||||
responders (2.1.0)
|
||||
railties (>= 4.2.0, < 5)
|
||||
rest-client (1.8.0)
|
||||
http-cookie (>= 1.0.2, < 2.0)
|
||||
mime-types (>= 1.16, < 3.0)
|
||||
netrc (~> 0.7)
|
||||
rspec (3.3.0)
|
||||
rspec-core (~> 3.3.0)
|
||||
rspec-expectations (~> 3.3.0)
|
||||
|
@ -515,6 +524,9 @@ GEM
|
|||
uglifier (2.7.1)
|
||||
execjs (>= 0.3.0)
|
||||
json (>= 1.8.0)
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.7.1)
|
||||
unicorn (4.9.0)
|
||||
kgio (~> 2.6)
|
||||
rack
|
||||
|
@ -617,6 +629,7 @@ DEPENDENCIES
|
|||
rails-settings-cached (= 0.4.1)
|
||||
rake
|
||||
ransack (= 1.5.1)
|
||||
rest-client
|
||||
rspec-rails (= 3.3.2)
|
||||
rubocop (= 0.32.1)
|
||||
rubycritic (= 1.4.0)
|
||||
|
|
|
@ -12,11 +12,27 @@ class Admin::AccountActivitiesController < AdminController
|
|||
logger.warn('Invalid date')
|
||||
end
|
||||
|
||||
balance_params = params[:q].deep_dup
|
||||
|
||||
if balance_params[:created_at_gteq]
|
||||
balance_params.delete('created_at_gteq')
|
||||
end
|
||||
|
||||
@q = AccountActivity.includes(:invoice, account: :registrar).search(params[:q])
|
||||
@b = AccountActivity.search(balance_params)
|
||||
@q.sorts = 'id desc' if @q.sorts.empty?
|
||||
|
||||
@account_activities = @q.result.page(params[:page]).per(params[:results_per_page])
|
||||
sort = @account_activities.orders.map(&:to_sql).join(",")
|
||||
|
||||
if params[:page] && params[:page].to_i > 1
|
||||
@sum = @q.result.reorder(sort).limit(@account_activities.offset_value) + @b.result.where.not(id: @q.result.map(&:id))
|
||||
else
|
||||
@sum = @b.result.where.not(id: @q.result.map(&:id))
|
||||
end
|
||||
|
||||
respond_to do |format|
|
||||
format.html { @account_activities = @q.result.page(params[:page]) }
|
||||
format.html
|
||||
format.csv do
|
||||
send_data @q.result.to_csv, filename: "account_activities_#{Time.zone.now.to_formatted_s(:number)}.csv"
|
||||
end
|
||||
|
|
|
@ -4,8 +4,14 @@ class Admin::ContactsController < AdminController
|
|||
|
||||
def index
|
||||
params[:q] ||= {}
|
||||
@q = Contact.includes(:registrar).search(params[:q])
|
||||
@contacts = @q.result.page(params[:page])
|
||||
search_params = params[:q].deep_dup
|
||||
|
||||
if search_params[:domain_contacts_type_in].is_a?(Array) && search_params[:domain_contacts_type_in].delete('registrant')
|
||||
search_params[:registrant_domains_id_not_null] = 1
|
||||
end
|
||||
|
||||
@q = Contact.includes(:registrar).search(search_params)
|
||||
@contacts = @q.result(distinct: :true).page(params[:page])
|
||||
|
||||
if params[:statuses_contains]
|
||||
contacts = Contact.includes(:registrar).where(
|
||||
|
@ -16,8 +22,8 @@ class Admin::ContactsController < AdminController
|
|||
end
|
||||
|
||||
normalize_search_parameters do
|
||||
@q = contacts.search(params[:q])
|
||||
@contacts = @q.result.page(params[:page])
|
||||
@q = contacts.search(search_params)
|
||||
@contacts = @q.result(distinct: :true).page(params[:page])
|
||||
end
|
||||
|
||||
@contacts = @contacts.per(params[:results_per_page]) if params[:results_per_page].to_i > 0
|
||||
|
|
|
@ -6,7 +6,7 @@ class Admin::RegistrarsController < AdminController
|
|||
end
|
||||
|
||||
def index
|
||||
@q = Registrar.ordered.search(params[:q])
|
||||
@q = Registrar.joins(:accounts).ordered.search(params[:q])
|
||||
@registrars = @q.result.page(params[:page])
|
||||
end
|
||||
|
||||
|
|
|
@ -6,8 +6,15 @@ class Registrar::ContactsController < Registrar::DeppController # EPP controller
|
|||
|
||||
params[:q] ||= {}
|
||||
params[:q].delete_if { |_k, v| v.blank? }
|
||||
if params[:q].length == 1 && params[:q][:name_matches].present?
|
||||
@contacts = Contact.find_by(name: params[:q][:name_matches])
|
||||
|
||||
search_params = params[:q].deep_dup
|
||||
|
||||
if search_params[:domain_contacts_type_in].is_a?(Array) && search_params[:domain_contacts_type_in].delete('registrant')
|
||||
search_params[:registrant_domains_id_not_null] = 1
|
||||
end
|
||||
|
||||
if search_params.length == 1 && search_params[:name_matches].present?
|
||||
@contacts = Contact.find_by(name: search_params[:name_matches])
|
||||
end
|
||||
|
||||
if params[:statuses_contains]
|
||||
|
@ -19,8 +26,8 @@ class Registrar::ContactsController < Registrar::DeppController # EPP controller
|
|||
end
|
||||
|
||||
normalize_search_parameters do
|
||||
@q = contacts.search(params[:q])
|
||||
@contacts = @q.result.page(params[:page])
|
||||
@q = contacts.search(search_params)
|
||||
@contacts = @q.result(distinct: :true).page(params[:page])
|
||||
end
|
||||
|
||||
@contacts = @contacts.per(params[:results_per_page]) if params[:results_per_page].to_i > 0
|
||||
|
|
|
@ -3,20 +3,16 @@ class DomainUpdateConfirmJob < Que::Job
|
|||
# it's recommended to keep transaction against job table as short as possible.
|
||||
ActiveRecord::Base.transaction do
|
||||
domain = Epp::Domain.find(domain_id)
|
||||
domain.is_admin = true
|
||||
case action
|
||||
when RegistrantVerification::CONFIRMED
|
||||
domain.poll_message!(:poll_pending_update_confirmed_by_registrant)
|
||||
domain.apply_pending_update! do |e|
|
||||
e.instance_variable_set("@changed_attributes", e.changed_attributes.merge("statuses"=>[]))
|
||||
end
|
||||
domain.apply_pending_update!
|
||||
domain.clean_pendings!
|
||||
WhoisRecord.find_by(domain_id: domain.id).save
|
||||
when RegistrantVerification::REJECTED
|
||||
domain.send_mail :pending_update_rejected_notification_for_new_registrant
|
||||
domain.poll_message!(:poll_pending_update_rejected_by_registrant)
|
||||
domain.clean_pendings!
|
||||
domain.instance_variable_set("@changed_attributes", domain.changed_attributes.merge("statuses"=>[]))
|
||||
domain.save
|
||||
domain.clean_pendings_lowlevel
|
||||
end
|
||||
destroy # it's best to destroy the job in the same transaction
|
||||
end
|
||||
|
|
|
@ -97,8 +97,9 @@ class DomainMailer < ApplicationMailer
|
|||
|
||||
def expiration_reminder(domain_id)
|
||||
@domain = Domain.find_by(id: domain_id)
|
||||
return unless @domain
|
||||
return if @domain.nil? || !@domain.statuses.include?(DomainStatus::EXPIRED) || whitelist_blocked?(@domain.registrant.email)
|
||||
return if whitelist_blocked?(@domain.registrant.email)
|
||||
|
||||
mail(to: format(@domain.registrant.email),
|
||||
subject: "#{I18n.t(:expiration_remind_subject,
|
||||
name: @domain.name)} [#{@domain.name}]")
|
||||
|
|
|
@ -32,7 +32,7 @@ class BankLink
|
|||
hash["VK_AMOUNT"] = number_with_precision(invoice.sum_cache, :precision => 2, :separator => ".")
|
||||
hash["VK_CURR"] = invoice.currency
|
||||
hash["VK_REF"] = ""
|
||||
hash["VK_MSG"] = "Order nr. #{invoice.number}"
|
||||
hash["VK_MSG"] = invoice.description
|
||||
hash["VK_RETURN"] = controller.registrar_return_payment_with_url(type)
|
||||
hash["VK_CANCEL"] = controller.registrar_return_payment_with_url(type)
|
||||
hash["VK_DATETIME"] = Time.now.strftime("%Y-%m-%dT%H:%M:%S%z")
|
||||
|
@ -101,6 +101,7 @@ class BankLink
|
|||
transaction.buyer_iban = params["VK_SND_ACC"]
|
||||
transaction.buyer_name = params["VK_SND_NAME"]
|
||||
transaction.paid_at = Time.parse(params["VK_T_DATETIME"])
|
||||
transaction.save!
|
||||
|
||||
transaction.autobind_invoice
|
||||
end
|
||||
|
|
|
@ -2,6 +2,7 @@ class BankTransaction < ActiveRecord::Base
|
|||
include Versions
|
||||
belongs_to :bank_statement
|
||||
has_one :account_activity
|
||||
has_many :directo_records, as: :item, class_name: 'Directo'# Deprecated
|
||||
|
||||
scope :unbinded, lambda {
|
||||
where('id NOT IN (SELECT bank_transaction_id FROM account_activities where bank_transaction_id IS NOT NULL)')
|
||||
|
@ -16,21 +17,32 @@ class BankTransaction < ActiveRecord::Base
|
|||
account_activity.invoice
|
||||
end
|
||||
|
||||
|
||||
def invoice_num
|
||||
return @invoice_no if defined?(@invoice_no)
|
||||
|
||||
match = description.match(/^[^\d]*(\d+)/)
|
||||
return unless match
|
||||
|
||||
@invoice_no = match[1].try(:to_i)
|
||||
end
|
||||
|
||||
def invoice
|
||||
@invoice ||= registrar.invoices.find_by(number: invoice_num) if registrar
|
||||
end
|
||||
|
||||
def registrar
|
||||
@registrar ||= Registrar.find_by(reference_no: reference_no)
|
||||
end
|
||||
|
||||
|
||||
# For successful binding, reference number, invoice id and sum must match with the invoice
|
||||
# rubocop: disable Metrics/PerceivedComplexity
|
||||
# rubocop: disable Metrics/CyclomaticComplexity
|
||||
def autobind_invoice
|
||||
return if binded?
|
||||
registrar = Registrar.find_by(reference_no: reference_no)
|
||||
return unless registrar
|
||||
|
||||
match = description.match(/^[^\d]*(\d+)/)
|
||||
return unless match
|
||||
|
||||
invoice_no = match[1].to_i
|
||||
return unless invoice_no
|
||||
|
||||
invoice = registrar.invoices.find_by(number: invoice_no)
|
||||
return unless invoice_num
|
||||
return unless invoice
|
||||
|
||||
return if invoice.binded?
|
||||
|
|
|
@ -29,7 +29,7 @@ class Contact < ActiveRecord::Base
|
|||
uniqueness: { message: :epp_id_taken },
|
||||
format: { with: /\A[\w\-\:\.\_]*\z/i, message: :invalid },
|
||||
length: { maximum: 100, message: :too_long_contact_code }
|
||||
validate :ident_valid_format?
|
||||
validate :val_ident_valid_format?
|
||||
validate :uniq_statuses?
|
||||
validate :validate_html
|
||||
|
||||
|
@ -235,16 +235,17 @@ class Contact < ActiveRecord::Base
|
|||
name || '[no name]'
|
||||
end
|
||||
|
||||
def ident_valid_format?
|
||||
def val_ident_valid_format?
|
||||
case ident_country_code
|
||||
when 'EE'.freeze
|
||||
err_msg = "invalid_EE_identity_format#{"_update" if id}".to_sym
|
||||
case ident_type
|
||||
when 'priv'.freeze
|
||||
errors.add(:ident, :invalid_EE_identity_format) unless Isikukood.new(ident).valid?
|
||||
errors.add(:ident, err_msg) unless Isikukood.new(ident).valid?
|
||||
when 'org'.freeze
|
||||
# !%w(1 7 8 9).freeze.include?(ident.first) ||
|
||||
if ident.size != 8 || !(ident =~/\A[0-9]{8}\z/)
|
||||
errors.add(:ident, :invalid_EE_identity_format)
|
||||
errors.add(:ident, err_msg)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
49
app/models/directo.rb
Normal file
49
app/models/directo.rb
Normal file
|
@ -0,0 +1,49 @@
|
|||
class Directo < ActiveRecord::Base
|
||||
belongs_to :item, polymorphic: true
|
||||
|
||||
def self.send_receipts
|
||||
new_trans = Invoice.where(invoice_type: "DEB", in_directo: false).where.not(cancelled_at: nil)
|
||||
new_trans.find_in_batches(batch_size: 10).each do |group|
|
||||
mappers = {} # need them as no direct connection between invoice
|
||||
builder = Nokogiri::XML::Builder.new(encoding: "UTF-8") do |xml|
|
||||
xml.invoices {
|
||||
group.each do |invoice|
|
||||
next if invoice.account_activity.nil? || invoice.account_activity.bank_transaction.nil?
|
||||
# next if invoice.account_activity.bank_transaction.sum.nil? || invoice.account_activity.bank_transaction.sum != invoice.sum_cache
|
||||
|
||||
num = invoice.number
|
||||
mappers[num] = invoice
|
||||
xml.invoice(
|
||||
"SalesAgent" => Setting.directo_sales_agent,
|
||||
"Number" => num,
|
||||
"InvoiceDate" => invoice.created_at.strftime("%Y-%m-%dT%H:%M:%S"),
|
||||
"PaymentTerm" => Setting.directo_receipt_payment_term,
|
||||
"Currency" => invoice.currency,
|
||||
"CustomerCode"=> invoice.buyer.try(:directo_handle)
|
||||
){
|
||||
xml.line(
|
||||
"ProductID" => Setting.directo_receipt_product_name,
|
||||
"Quantity" => 1,
|
||||
"UnitPriceWoVAT" => ActionController::Base.helpers.number_with_precision(invoice.sum_cache/(1+invoice.vat_prc), precision: 2, separator: "."),
|
||||
"ProductName" => invoice.description
|
||||
)
|
||||
}
|
||||
end
|
||||
}
|
||||
end
|
||||
|
||||
data = builder.to_xml.gsub("\n",'')
|
||||
response = RestClient::Request.execute(url: ENV['directo_invoice_url'], method: :post, payload: {put: "1", what: "invoice", xmldata: data}, verify_ssl: false).to_s
|
||||
dump_result_to_db(mappers, response)
|
||||
end
|
||||
end
|
||||
|
||||
def self.dump_result_to_db mappers, xml
|
||||
Nokogiri::XML(xml).css("Result").each do |res|
|
||||
obj = mappers[res.attributes["docid"].value.to_i]
|
||||
obj.directo_records.create!(response: res.as_json.to_h)
|
||||
obj.update_columns(in_directo: true)
|
||||
Rails.logger.info("[DIRECTO] Invoice #{res.attributes["docid"].value} was pushed and return is #{res.as_json.to_h.inspect}")
|
||||
end
|
||||
end
|
||||
end
|
|
@ -361,6 +361,25 @@ class Domain < ActiveRecord::Base
|
|||
save
|
||||
end
|
||||
|
||||
|
||||
# state change shouln't be
|
||||
def clean_pendings_lowlevel
|
||||
statuses.delete(DomainStatus::PENDING_DELETE_CONFIRMATION)
|
||||
statuses.delete(DomainStatus::PENDING_UPDATE)
|
||||
statuses.delete(DomainStatus::PENDING_DELETE)
|
||||
|
||||
status_notes[DomainStatus::PENDING_UPDATE] = ''
|
||||
status_notes[DomainStatus::PENDING_DELETE] = ''
|
||||
|
||||
update_columns(
|
||||
registrant_verification_token: nil,
|
||||
registrant_verification_asked_at: nil,
|
||||
pending_json: {},
|
||||
status_notes: status_notes,
|
||||
statuses: statuses.presence || [DomainStatus::OK]
|
||||
)
|
||||
end
|
||||
|
||||
def pending_update!
|
||||
return true if pending_update?
|
||||
self.epp_pending_update = true # for epp
|
||||
|
|
|
@ -123,6 +123,7 @@ class Epp::Contact < Contact
|
|||
[:email, :invalid],
|
||||
[:ident, :invalid],
|
||||
[:ident, :invalid_EE_identity_format],
|
||||
[:ident, :invalid_EE_identity_format_update],
|
||||
[:ident, :invalid_birthday_format],
|
||||
[:ident, :invalid_country_code],
|
||||
[:ident_type, :missing],
|
||||
|
@ -164,7 +165,7 @@ class Epp::Contact < Contact
|
|||
org_priv = %w(org priv).freeze
|
||||
if ident_country_code.blank? && org_priv.include?(ident_type) && org_priv.include?(ident_frame.attr('type'))
|
||||
at.merge!(ident_country_code: ident_frame.attr('cc'), ident_type: ident_frame.attr('type'))
|
||||
elsif ident_type == "birthday" && ident !=~ /\d{4}-\d{2}-\d{2}/ && (Date.parse(ident) rescue false)
|
||||
elsif ident_type == "birthday" && !ident[/\A\d{4}-\d{2}-\d{2}\z/] && (Date.parse(ident) rescue false)
|
||||
at.merge!(ident: ident_frame.text)
|
||||
at.merge!(ident_country_code: ident_frame.attr('cc')) if ident_frame.attr('cc').present?
|
||||
elsif ident_type.blank? && ident_country_code.blank?
|
||||
|
|
|
@ -507,18 +507,17 @@ class Epp::Domain < Domain
|
|||
frame = Nokogiri::XML(pending_json['frame'])
|
||||
|
||||
self.deliver_emails = true # turn on email delivery
|
||||
send_mail :registrant_updated_notification_for_old_registrant
|
||||
|
||||
statuses.delete(DomainStatus::PENDING_UPDATE)
|
||||
yield(self) if block_given? # need to skip statuses check here
|
||||
self.save
|
||||
|
||||
self.statuses.delete(DomainStatus::PENDING_UPDATE)
|
||||
::PaperTrail.whodunnit = user.id_role_username # updator str should be the request originator not the approval user
|
||||
|
||||
send_mail :registrant_updated_notification_for_old_registrant
|
||||
return unless update(frame, user, false)
|
||||
clean_pendings!
|
||||
|
||||
send_mail :registrant_updated_notification_for_new_registrant
|
||||
update_whois_record
|
||||
WhoisRecord.find_by(domain_id: id).save # need to reload model
|
||||
|
||||
save! # for notification if everything fails
|
||||
true
|
||||
end
|
||||
|
||||
|
|
|
@ -2,8 +2,9 @@ class Invoice < ActiveRecord::Base
|
|||
include Versions
|
||||
belongs_to :seller, class_name: 'Registrar'
|
||||
belongs_to :buyer, class_name: 'Registrar'
|
||||
has_one :account_activity
|
||||
has_many :invoice_items
|
||||
has_one :account_activity
|
||||
has_many :directo_records, as: :item, class_name: 'Directo'
|
||||
|
||||
accepts_nested_attributes_for :invoice_items
|
||||
|
||||
|
@ -19,6 +20,8 @@ class Invoice < ActiveRecord::Base
|
|||
|
||||
before_create :set_invoice_number, :check_vat
|
||||
|
||||
before_save :check_vat
|
||||
|
||||
def set_invoice_number
|
||||
last_no = Invoice.order(number: :desc).where('number IS NOT NULL').limit(1).pluck(:number).first
|
||||
|
||||
|
@ -97,6 +100,10 @@ class Invoice < ActiveRecord::Base
|
|||
kit.to_pdf
|
||||
end
|
||||
|
||||
def description
|
||||
"Order nr. #{number}"
|
||||
end
|
||||
|
||||
def pdf_name
|
||||
"invoice-#{number}.pdf"
|
||||
end
|
||||
|
|
|
@ -29,13 +29,24 @@
|
|||
.form-group
|
||||
= f.label t(:receipt_date_until)
|
||||
= f.search_field :created_at_lteq, value: params[:q][:created_at_lteq], class: 'form-control datepicker', placeholder: t(:receipt_date_until), autocomplete: 'off'
|
||||
.col-md-6{style: 'padding-top: 25px;'}
|
||||
.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-default.search
|
||||
|
||||
%span.glyphicon.glyphicon-search
|
||||
|
||||
%button.btn.btn-default.js-reset-form
|
||||
= t(:clear_fields)
|
||||
.row
|
||||
.col-md-3
|
||||
.col-md-3
|
||||
.col-md-2
|
||||
.col-md-4{class: 'text-right'}
|
||||
= t(:starting_balance) + " #{@sum.to_a.map(&:sum).sum.to_f} EUR"
|
||||
|
||||
%hr
|
||||
|
||||
.row
|
||||
|
@ -55,6 +66,7 @@
|
|||
%th{class: 'col-xs-2'}
|
||||
= sort_link(@q, 'sum')
|
||||
%tbody
|
||||
-total = @sum.to_a.map(&:sum).sum.to_f
|
||||
- @account_activities.each do |x|
|
||||
%tr
|
||||
%td= link_to(x.account.registrar.try(:code), admin_registrar_path(x.account.registrar))
|
||||
|
@ -63,7 +75,15 @@
|
|||
%td= l(x.created_at)
|
||||
- c = x.sum > 0.0 ? 'text-success' : 'text-danger'
|
||||
- s = x.sum > 0.0 ? "+#{x.sum} #{x.currency}" : "#{x.sum} #{x.currency}"
|
||||
-total += x.sum
|
||||
%td{class: c}= s
|
||||
- if @account_activities.count > 0
|
||||
%tr
|
||||
%td
|
||||
%td
|
||||
%td
|
||||
%td{class: 'text-right'}= t(:total)
|
||||
%td{class: total > 0 ? 'text-success' : 'text-danger'}= total > 0 ? "+#{total} EUR" : "#{total} EUR"
|
||||
.row
|
||||
.col-md-12
|
||||
= paginate @account_activities
|
||||
|
|
|
@ -29,15 +29,10 @@
|
|||
.form-group
|
||||
= label_tag t(:country)
|
||||
= select_tag '[q][country_code_eq]', SortedCountry.all_options(params[:q][:country_code_eq]), { include_blank: true, placeholder: t(:choose), class: 'form-control selectize' }
|
||||
.col-md-3
|
||||
.form-group
|
||||
= f.label t(:is_registrant)
|
||||
%div
|
||||
= f.check_box :registrant_domains_id_not_null
|
||||
.col-md-3
|
||||
.col-md-6
|
||||
.form-group
|
||||
= label_tag t(:contact_type)
|
||||
= select_tag '[q][domain_contacts_type_in]', options_for_select([['admin', 'AdminDomainContact'], ['tech', 'TechDomainContact']], params[:q][:domain_contacts_type_in]), { multiple: true, placeholder: t(:choose), class: 'form-control js-combobox' }
|
||||
= select_tag '[q][domain_contacts_type_in]', options_for_select([['admin', 'AdminDomainContact'], ['tech', 'TechDomainContact'], ['registrant', 'registrant']], params[:q][:domain_contacts_type_in]), { multiple: true, placeholder: t(:choose), class: 'form-control js-combobox' }
|
||||
.row
|
||||
.col-md-3
|
||||
.form-group
|
||||
|
|
|
@ -55,43 +55,47 @@
|
|||
= "#{l(domain.valid_to, format: :date)}"
|
||||
|
||||
%td
|
||||
- registrant.each do |r|
|
||||
%p
|
||||
= r[:name]
|
||||
= r[:phone]
|
||||
= r[:email]
|
||||
%p
|
||||
= r[:code]
|
||||
- if registrant
|
||||
- registrant.each do |r|
|
||||
%p
|
||||
= r[:name]
|
||||
= r[:phone]
|
||||
= r[:email]
|
||||
%p
|
||||
= r[:code]
|
||||
|
||||
%td
|
||||
- admin_contacts.each do |ac|
|
||||
%p
|
||||
= ac[:name]
|
||||
= ac[:phone]
|
||||
= ac[:email]
|
||||
%p
|
||||
= ac[:code]
|
||||
- if admin_contacts
|
||||
- admin_contacts.each do |ac|
|
||||
%p
|
||||
= ac[:name]
|
||||
= ac[:phone]
|
||||
= ac[:email]
|
||||
%p
|
||||
= ac[:code]
|
||||
|
||||
%td
|
||||
- tech_contacts.each do |tc|
|
||||
%p
|
||||
= tc[:name]
|
||||
= tc[:phone]
|
||||
= tc[:email]
|
||||
%p
|
||||
= tc[:code]
|
||||
- if tech_contacts
|
||||
- tech_contacts.each do |tc|
|
||||
%p
|
||||
= tc[:name]
|
||||
= tc[:phone]
|
||||
= tc[:email]
|
||||
%p
|
||||
= tc[:code]
|
||||
|
||||
%td
|
||||
%p
|
||||
- nameservers.each do |ns|
|
||||
= ns[:hostname]
|
||||
%br
|
||||
= ns[:ipv4]
|
||||
= ns[:ipv6]
|
||||
- if nameservers
|
||||
- nameservers.each do |ns|
|
||||
= ns[:hostname]
|
||||
%br
|
||||
= ns[:ipv4]
|
||||
= ns[:ipv6]
|
||||
|
||||
%td
|
||||
%p
|
||||
= domain.registrar.name
|
||||
= domain.registrar.name if domain.registrar
|
||||
|
||||
- if domain.pending_json.present?
|
||||
%tr.js-pending{ style: 'display: none;' }
|
||||
|
|
|
@ -8,15 +8,18 @@
|
|||
%table.table.table-hover.table-bordered.table-condensed
|
||||
%thead
|
||||
%tr
|
||||
%th{class: 'col-xs-6'}
|
||||
%th{class: 'col-xs-4'}
|
||||
= sort_link(@q, 'name')
|
||||
%th{class: 'col-xs-6'}
|
||||
%th{class: 'col-xs-4'}
|
||||
= sort_link(@q, 'reg_no', t(:reg_no))
|
||||
%th{class: 'col-xs-4'}
|
||||
= t(:credit_balance)
|
||||
%tbody
|
||||
- @registrars.each do |x|
|
||||
%tr
|
||||
%td= link_to(x, [:admin, x])
|
||||
%td= x.reg_no
|
||||
%td= "#{x.balance}"
|
||||
.row
|
||||
.col-md-12
|
||||
= paginate @registrars
|
||||
|
|
|
@ -32,6 +32,9 @@
|
|||
%dt= t(:id)
|
||||
%dd= @registrar.code
|
||||
|
||||
%dt= t(:credit_balance)
|
||||
%dd= @registrar.balance
|
||||
|
||||
.col-md-6
|
||||
.panel.panel-default
|
||||
.panel-heading
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
= render 'setting_row', var: :days_to_renew_domain_before_expire
|
||||
= render 'setting_row', var: :expire_warning_period
|
||||
= render 'setting_row', var: :redemption_grace_period
|
||||
= render 'setting_row', var: :expiration_reminder_mail
|
||||
|
||||
.panel.panel-default
|
||||
.panel-heading.clearfix
|
||||
|
@ -70,6 +71,9 @@
|
|||
= 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
|
||||
|
|
|
@ -51,7 +51,7 @@ xml.epp_head do
|
|||
xml.tag!('contact:crID', @contact.cr_id)
|
||||
xml.tag!('contact:crDate', @contact.created_at.try(:iso8601))
|
||||
|
||||
if @contact.updated_at != @contact.created_at
|
||||
if @contact.updated_at > @contact.created_at
|
||||
upID = @contact.updator.try(:registrar)
|
||||
upID = upID.code if upID.present? # Did updator return a kind of User that has a registrar?
|
||||
xml.tag!('contact:upID', upID) if upID.present? # optional upID
|
||||
|
|
|
@ -41,7 +41,7 @@ xml.epp_head do
|
|||
xml.tag!('domain:crID', @domain.cr_id)
|
||||
xml.tag!('domain:crDate', @domain.created_at.try(:iso8601))
|
||||
|
||||
if @domain.updated_at != @domain.created_at
|
||||
if @domain.updated_at > @domain.created_at
|
||||
upID = @domain.updator.try(:registrar)
|
||||
upID = upID.code if upID.present? # Did updator return a kind of User that has a registrar?
|
||||
xml.tag!('domain:upID', upID) if upID.present? # optional upID
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
Domeen <%= @domain.name %> on aegunud<br>
|
||||
Lugupeetud .ee domeeni kasutaja<br>
|
||||
<br>
|
||||
Domeeninimi <%= @domain.name %> on aegunud ja ei ole alates <%= l(@domain.outzone_at, format: :short) %> internetis kättesaadav. Alates <%= l(@domain.delete_at, format: :short) %> on domeen <%= @domain.name %> avatud registreerimiseks kõigile huvilistele.
|
||||
Domeeninimi <%= @domain.name %> on aegunud ja ei ole alates <%= l(@domain.outzone_at, format: :date) %> internetis kättesaadav. Alates <%= l(@domain.delete_at, format: :date) %> on domeen <%= @domain.name %> avatud registreerimiseks kõigile huvilistele.
|
||||
<br><br>
|
||||
Domeeni registreeringu pikendamiseks pöörduge palun oma registripidaja <%= @domain.registrar.name %> poole. Registripidajate kontaktid leiate aadressilt www.internet.ee/registripidajad.
|
||||
<br><br>
|
||||
|
@ -27,7 +27,7 @@ Tel: +372 727 1000<br>
|
|||
The <%= @domain.name %> domain has expired<br>
|
||||
Dear user of .ee domain,<br>
|
||||
<br>
|
||||
The domain name <%= @domain.name %> has expired and will not be available on the Internet from <%= l(@domain.outzone_at, format: :short) %>. From <%= l(@domain.delete_at, format: :short) %>, the <%= @domain.name %> domain will be available for registration on a first come first served basis.
|
||||
The domain name <%= @domain.name %> has expired and will not be available on the Internet from <%= l(@domain.outzone_at, format: :date) %>. From <%= l(@domain.delete_at, format: :date) %>, the <%= @domain.name %> domain will be available for registration on a first come first served basis.
|
||||
<br><br>
|
||||
To renew the domain registration, please contact your registrar <%= @domain.registrar.name %>. You can find the registrar's contacts at http://www.internet.ee/en/registripidajad/.
|
||||
<br><br>
|
||||
|
@ -53,7 +53,7 @@ Phone: +372 727 1000<br>
|
|||
Домен <%= @domain.name %> устарел<br>
|
||||
Уважаемый пользователь домена .ee<br>
|
||||
<br>
|
||||
Доменное имя <%= @domain.name %> устарело и с <%= l(@domain.outzone_at, format: :short) %> недоступно в Интернете. С <%= l(@domain.delete_at, format: :short) %> домен <%= @domain.name %> доступен для регистрации всем желающим по принципу "first come, first served".
|
||||
Доменное имя <%= @domain.name %> устарело и с <%= l(@domain.outzone_at, format: :date) %> недоступно в Интернете. С <%= l(@domain.delete_at, format: :date) %> домен <%= @domain.name %> доступен для регистрации всем желающим по принципу "first come, first served".
|
||||
<br><br>
|
||||
Для продления регистрации домена просим обратиться к своему регистратору <%= @domain.registrar.name %>. Контактные данные регистраторов можно найти по адресу http://www.internet.ee/ru/p/.
|
||||
<br><br>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
Domeen <%= @domain.name %> on aegunud
|
||||
Lugupeetud .ee domeeni kasutaja
|
||||
|
||||
Domeeninimi <%= @domain.name %> on aegunud ja ei ole alates <%= l(@domain.outzone_at, format: :short) %> internetis kättesaadav. Alates <%= l(@domain.delete_at, format: :short) %> on domeen <%= @domain.name %> avatud registreerimiseks kõigile huvilistele.
|
||||
Domeeninimi <%= @domain.name %> on aegunud ja ei ole alates <%= l(@domain.outzone_at, format: :date) %> internetis kättesaadav. Alates <%= l(@domain.delete_at, format: :date) %> on domeen <%= @domain.name %> avatud registreerimiseks kõigile huvilistele.
|
||||
|
||||
Domeeni registreeringu pikendamiseks pöörduge palun oma registripidaja <%= @domain.registrar.name %> poole. Registripidajate kontaktid leiate aadressilt www.internet.ee/registripidajad.
|
||||
|
||||
|
@ -27,7 +27,7 @@ Tel: +372 727 1000
|
|||
The <%= @domain.name %> domain has expired
|
||||
Dear user of .ee domain,
|
||||
|
||||
The domain name <%= @domain.name %> has expired and will not be available on the Internet from <%= l(@domain.outzone_at, format: :short) %>. From <%= l(@domain.delete_at, format: :short) %>, the <%= @domain.name %> domain will be available for registration on a first come first served basis.
|
||||
The domain name <%= @domain.name %> has expired and will not be available on the Internet from <%= l(@domain.outzone_at, format: :date) %>. From <%= l(@domain.delete_at, format: :date) %>, the <%= @domain.name %> domain will be available for registration on a first come first served basis.
|
||||
|
||||
To renew the domain registration, please contact your registrar <%= @domain.registrar.name %>. You can find the registrar's contacts at http://www.internet.ee/en/registripidajad/.
|
||||
|
||||
|
@ -53,7 +53,7 @@ Phone: +372 727 1000
|
|||
Домен <%= @domain.name %> устарел
|
||||
Уважаемый пользователь домена .ee
|
||||
|
||||
Доменное имя <%= @domain.name %> устарело и с <%= l(@domain.outzone_at, format: :short) %> недоступно в Интернете. С <%= l(@domain.delete_at, format: :short) %> домен <%= @domain.name %> доступен для регистрации всем желающим по принципу "first come, first served".
|
||||
Доменное имя <%= @domain.name %> устарело и с <%= l(@domain.outzone_at, format: :date) %> недоступно в Интернете. С <%= l(@domain.delete_at, format: :date) %> домен <%= @domain.name %> доступен для регистрации всем желающим по принципу "first come, first served".
|
||||
|
||||
Для продления регистрации домена просим обратиться к своему регистратору <%= @domain.registrar.name %>. Контактные данные регистраторов можно найти по адресу http://www.internet.ee/ru/p/.
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ Registrikood: <b><%= @domain.registrant.try(:ident) %></b></p>
|
|||
|
||||
<p>Domeenireeglite punktist 6.4 tulenevalt on domeeni suhtes õigust omaval registreerijal võimalus esitada domeeni <b><%= @domain.name %></b> registripidajale <b><%= @domain.registrar %></b> domeeni üleandmise taotlus Domeenireeglite p 5.3.6.2 kohaselt. Taotlusele tuleb lisada domeeni omandamist tõendavad dokumendid, mis asendavad Domeenireeglite punktis 5.3.6.3 sätestatud üleandva registreerija nõusolekut. Vastav dokumentatsioon tuleks esitada Registripidajale esimesel võimalusel.</p>
|
||||
|
||||
<p>Kui üleandmine ei ole 30 päeva jooksul toimunud, kustub domeen <b><%= @domain.name %></b> 24 tunni jooksul <b><%= l(@domain.force_delete_at, format: :short) %></b> möödumisest juhuslikult valitud ajahetkel. Soovi korral on võimalik domeen pärast selle kustumist registrist “kes ees, see mees” põhimõttel uuesti registreerida.</p>
|
||||
<p>Kui üleandmine ei ole 30 päeva jooksul toimunud, kustub domeen <b><%= @domain.name %></b> 24 tunni jooksul <b><%= l(@domain.force_delete_at, format: :date) %></b> möödumisest juhuslikult valitud ajahetkel. Soovi korral on võimalik domeen pärast selle kustumist registrist “kes ees, see mees” põhimõttel uuesti registreerida.</p>
|
||||
|
||||
<p>Lisaküsimuste korral võtke palun ühendust oma registripidajaga <%= @domain.registrar %>, kelle kontaktandmed leiate lingilt <a href="http://www.internet.ee/registripidajad" target="_blank">http://www.internet.ee/registripidajad</a></p><br /><br />
|
||||
|
||||
|
@ -39,7 +39,7 @@ Registry code: <b><%= @domain.registrant.try(:ident) %></b></p>
|
|||
|
||||
<p>According to paragraph 6.4 of the Domain Regulation, the registrant holding a right to the domain name <b><%= @domain.name %></b> can submit a domain name transfer application to the registrar <b><%= @domain.registrar %></b> in accordance with paragraph 5.3.6.2 of the Domain Regulation. The application must be submitted together with documents certifying the acquisition of the domain that will replace the consent of the surrendering registrant as laid down in paragraph 5.3.6.3 of the Domain Regulation. The relevant documents should be submitted to the registrar as soon as possible.</p>
|
||||
|
||||
<p>If the transfer has not been made in 30 days, the domain <b><%= @domain.name %></b> will be deleted at a randomly chosen moment within 24 hours after <b><%= l(@domain.force_delete_at, format: :short) %></b>. After deletion it is possible to reregister the domain on a "first come, first served" basis.</p>
|
||||
<p>If the transfer has not been made in 30 days, the domain <b><%= @domain.name %></b> will be deleted at a randomly chosen moment within 24 hours after <b><%= l(@domain.force_delete_at, format: :date) %></b>. After deletion it is possible to reregister the domain on a "first come, first served" basis.</p>
|
||||
|
||||
<p>Should you have additional questions, please contact your registrar <%= @domain.registrar %>, whose contact information can be found at <a href="http://www.internet.ee/registrars/" target="_blank">http://www.internet.ee/registrars/</a></p><br /><br />
|
||||
|
||||
|
@ -58,7 +58,7 @@ Registry code: <b><%= @domain.registrant.try(:ident) %></b></p>
|
|||
|
||||
<p>Согласно пункту 6.4 Правил домена регистрант, имеющий право на домен, может подать регистратору <b><%= @domain.registrar %></b> домена <b><%= @domain.name %></b> ходатайство о передаче домена в соответствии с п. 5.3.6.2 Правил домена. К ходатайству следует приложить подтверждающие приобретение домена документы, заменяющие в соответствии с пунктом 5.3.6.3 Правил домена согласие передающего доменное имя регистранта. EIS предлагает представить соответствующую документацию Регистратору при первой возможности, начиная с инициирования процедуры удаления.</p>
|
||||
|
||||
<p>Если в течение 30 дней передача не произошла, домен <b><%= @domain.name %></b> удаляется по истечении 24 часов <b><%= l(@domain.force_delete_at, format: :short) %></b> в случайный момент времени. По желанию после удаления из регистра домен можно снова зарегистрировать по принципу "кто успел, тот и съел".</p>
|
||||
<p>Если в течение 30 дней передача не произошла, домен <b><%= @domain.name %></b> удаляется по истечении 24 часов <b><%= l(@domain.force_delete_at, format: :date) %></b> в случайный момент времени. По желанию после удаления из регистра домен можно снова зарегистрировать по принципу "кто успел, тот и съел".</p>
|
||||
|
||||
<p>Просим обратиться к своему регистратору <%= @domain.registrar %>. Контактные данные регистраторов можно найти по адресу <a href="http://www.internet.ee/registratory/" target="_blank">http://www.internet.ee/registratory/</a></p><br /><br />
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ Kuivõrd äriregistrist kustutatud juriidiline isik ei saa olla domeeni registre
|
|||
|
||||
Domeenireeglite punktist 6.4 tulenevalt on domeeni suhtes õigust omaval registreerijal võimalus esitada domeeni <%= @domain.name %> registripidajale <%= @domain.registrar %> domeeni üleandmise taotlus Domeenireeglite p 5.3.6.2 kohaselt. Taotlusele tuleb lisada domeeni omandamist tõendavad dokumendid, mis asendavad Domeenireeglite punktis 5.3.6.3 sätestatud üleandva registreerija nõusolekut. Vastav dokumentatsioon tuleks esitada Registripidajale esimesel võimalusel.
|
||||
|
||||
Kui üleandmine ei ole 30 päeva jooksul toimunud, kustub domeen <%= @domain.name %> 24 tunni jooksul <%= l(@domain.force_delete_at, format: :short) %> möödumisest juhuslikult valitud ajahetkel. Soovi korral on võimalik domeen pärast selle kustumist registrist "kes ees, see mees" põhimõttel uuesti registreerida.
|
||||
Kui üleandmine ei ole 30 päeva jooksul toimunud, kustub domeen <%= @domain.name %> 24 tunni jooksul <%= l(@domain.force_delete_at, format: :date) %> möödumisest juhuslikult valitud ajahetkel. Soovi korral on võimalik domeen pärast selle kustumist registrist "kes ees, see mees" põhimõttel uuesti registreerida.
|
||||
|
||||
Lisaküsimuste korral võtke palun ühendust oma registripidajaga <%= @domain.registrar %>, kelle kontaktandmed leiate lingilt http://www.internet.ee/registripidajad/
|
||||
|
||||
|
@ -30,7 +30,7 @@ As a terminated legal person cannot be the registrant of a domain, the EIF start
|
|||
|
||||
According to paragraph 6.4 of the Domain Regulation, the registrant holding a right to the domain name <%= @domain.name %> can submit a domain name transfer application to the registrar <%= @domain.registrar %> in accordance with paragraph 5.3.6.2 of the Domain Regulation. The application must be submitted together with documents certifying the acquisition of the domain that will replace the consent of the surrendering registrant as laid down in paragraph 5.3.6.3 of the Domain Regulation. The relevant documents should be submitted to the registrar as soon as possible.
|
||||
|
||||
If the transfer has not been made in 30 days, the domain <%= @domain.name %> will be deleted at a randomly chosen moment within 24 hours after <%= l(@domain.force_delete_at, format: :short) %>. After deletion it is possible to reregister the domain on a "first come, first served" basis.
|
||||
If the transfer has not been made in 30 days, the domain <%= @domain.name %> will be deleted at a randomly chosen moment within 24 hours after <%= l(@domain.force_delete_at, format: :date) %>. After deletion it is possible to reregister the domain on a "first come, first served" basis.
|
||||
|
||||
Should you have additional questions, please contact your registrar <%= @domain.registrar %>, whose contact information can be found at http://www.internet.ee/registrars/
|
||||
|
||||
|
@ -49,7 +49,7 @@ EIS стало известно, что юридическое лицо с ре
|
|||
|
||||
Согласно пункту 6.4 Правил домена регистрант, имеющий право на домен, может подать регистратору <%= @domain.registrar %> домена <%= @domain.name %> ходатайство о передаче домена в соответствии с п. 5.3.6.2 Правил домена. К ходатайству следует приложить подтверждающие приобретение домена документы, заменяющие в соответствии с пунктом 5.3.6.3 Правил домена согласие передающего доменное имя регистранта. EIS предлагает представить соответствующую документацию Регистратору при первой возможности, начиная с инициирования процедуры удаления.
|
||||
|
||||
Если в течение 30 дней передача не произошла, домен <%= @domain.name %> удаляется по истечении 24 часов <%= l(@domain.force_delete_at, format: :short) %> в случайный момент времени. По желанию после удаления из регистра домен можно снова зарегистрировать по принципу "кто успел, тот и съел".
|
||||
Если в течение 30 дней передача не произошла, домен <%= @domain.name %> удаляется по истечении 24 часов <%= l(@domain.force_delete_at, format: :date) %> в случайный момент времени. По желанию после удаления из регистра домен можно снова зарегистрировать по принципу "кто успел, тот и съел".
|
||||
|
||||
Просим обратиться к своему регистратору <%= @domain.registrar %>. Контактные данные регистраторов можно найти по адресу http://www.internet.ee/registratory
|
||||
|
||||
|
|
|
@ -31,15 +31,10 @@
|
|||
.form-group
|
||||
= label_tag t(:country)
|
||||
= select_tag '[q][country_code_eq]', SortedCountry.all_options(params[:q][:country_code_eq]), { include_blank: true, placeholder: t(:choose), class: 'form-control selectize' }
|
||||
.col-md-3
|
||||
.form-group
|
||||
= f.label t(:is_registrant)
|
||||
%div
|
||||
= f.check_box :registrant_domains_id_not_null
|
||||
.col-md-3
|
||||
.col-md-6
|
||||
.form-group
|
||||
= label_tag t(:contact_type)
|
||||
= select_tag '[q][domain_contacts_type_in]', options_for_select([['admin', 'AdminDomainContact'], ['tech', 'TechDomainContact']], params[:q][:domain_contacts_type_in]), { multiple: true, placeholder: t(:choose), class: 'form-control js-combobox' }
|
||||
= select_tag '[q][domain_contacts_type_in]', options_for_select([['admin', 'AdminDomainContact'], ['tech', 'TechDomainContact'], ['registrant', 'registrant']], params[:q][:domain_contacts_type_in]), { multiple: true, placeholder: t(:choose), class: 'form-control js-combobox' }
|
||||
.row
|
||||
.col-md-3
|
||||
.form-group
|
||||
|
|
|
@ -45,6 +45,8 @@ ca_cert_path: '/home/registry/registry/shared/ca/certs/ca.crt.pem'
|
|||
ca_key_path: '/home/registry/registry/shared/ca/private/ca.key.pem'
|
||||
ca_key_password: 'your-root-key-password'
|
||||
|
||||
directo_invoice_url: 'https://domain/ddddd.asp'
|
||||
|
||||
|
||||
#
|
||||
# EPP
|
||||
|
|
|
@ -33,10 +33,14 @@ if con.present? && con.table_exists?('settings')
|
|||
Setting.save_default(:days_to_keep_invoices_active, 30)
|
||||
Setting.save_default(:days_to_keep_overdue_invoices_active, 30)
|
||||
Setting.save_default(:minimum_deposit, 0.0)
|
||||
Setting.save_default(:directo_receipt_payment_term, "R")
|
||||
Setting.save_default(:directo_receipt_product_name, "ETTEM06")
|
||||
Setting.save_default(:directo_sales_agent, "JAANA")
|
||||
|
||||
Setting.save_default(:days_to_renew_domain_before_expire, 90)
|
||||
Setting.save_default(:expire_warning_period, 15)
|
||||
Setting.save_default(:redemption_grace_period, 30)
|
||||
Setting.save_default(:expiration_reminder_mail, 2)
|
||||
|
||||
Setting.save_default(:registrar_ip_whitelist_enabled, true)
|
||||
Setting.save_default(:api_ip_whitelist_enabled, true)
|
||||
|
|
|
@ -49,6 +49,7 @@ en:
|
|||
ident:
|
||||
blank: "Required parameter missing - ident"
|
||||
invalid_EE_identity_format: "Ident not in valid Estonian identity format."
|
||||
invalid_EE_identity_format_update: "Ident not in valid Estonian identity format. Please create new contact"
|
||||
invalid_birthday_format: "Ident not in valid birthady format, should be YYYY-MM-DD"
|
||||
invalid_country_code: "Ident country code is not valid, should be in ISO_3166-1 alpha 2 format"
|
||||
domains:
|
||||
|
@ -352,6 +353,8 @@ en:
|
|||
status: 'Status'
|
||||
eedirekt: 'EEDirekt'
|
||||
contact: 'Contact'
|
||||
credit_balance: 'Credit balance'
|
||||
starting_balance: 'Starting balance'
|
||||
|
||||
domain_transfer_requested: 'Domain transfer requested!'
|
||||
domain_transfer_approved: 'Domain transfer approved!'
|
||||
|
|
|
@ -53,6 +53,10 @@ if @cron_group == 'registry'
|
|||
every 52.minutes do
|
||||
runner 'DomainCron.start_redemption_grace_period'
|
||||
end
|
||||
|
||||
every :day, at: '19:00pm' do
|
||||
runner 'Directo.send_receipts'
|
||||
end if @environment == 'production'
|
||||
end
|
||||
|
||||
every 10.minutes do
|
||||
|
|
10
db/migrate/20160113143447_create_directos.rb
Normal file
10
db/migrate/20160113143447_create_directos.rb
Normal file
|
@ -0,0 +1,10 @@
|
|||
class CreateDirectos < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :directos do |t|
|
||||
t.belongs_to :item, index: true, polymorphic: true
|
||||
t.json :response
|
||||
|
||||
t.timestamps null: false
|
||||
end
|
||||
end
|
||||
end
|
5
db/migrate/20160118092454_add_in_directo_to_invoice.rb
Normal file
5
db/migrate/20160118092454_add_in_directo_to_invoice.rb
Normal file
|
@ -0,0 +1,5 @@
|
|||
class AddInDirectoToInvoice < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :invoices, :in_directo, :boolean, default: false
|
||||
end
|
||||
end
|
5
spec/models/directo_spec.rb
Normal file
5
spec/models/directo_spec.rb
Normal file
|
@ -0,0 +1,5 @@
|
|||
require 'rails_helper'
|
||||
|
||||
RSpec.describe Directo, type: :model do
|
||||
pending "add some examples to (or delete) #{__FILE__}"
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue