mirror of
https://github.com/internetee/registry.git
synced 2025-05-17 17:59:47 +02:00
Add configurable invoice due date #2775
This commit is contained in:
parent
48af3e77cd
commit
95a73327db
9 changed files with 18 additions and 11 deletions
|
@ -53,6 +53,7 @@ class Admin::SettingsController < AdminController
|
||||||
:transfer_wait_time,
|
:transfer_wait_time,
|
||||||
:invoice_number_min,
|
:invoice_number_min,
|
||||||
:invoice_number_max,
|
:invoice_number_max,
|
||||||
|
:days_to_keep_invoices_active,
|
||||||
:days_to_keep_overdue_invoices_active,
|
:days_to_keep_overdue_invoices_active,
|
||||||
:days_to_renew_domain_before_expire,
|
:days_to_renew_domain_before_expire,
|
||||||
:expire_warning_period,
|
:expire_warning_period,
|
||||||
|
|
|
@ -72,10 +72,11 @@ class Registrar < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
# rubocop:disable Metrics/MethodLength
|
# rubocop:disable Metrics/MethodLength
|
||||||
|
# rubocop:disable Metrics/AbcSize
|
||||||
def issue_prepayment_invoice(amount, description = nil)
|
def issue_prepayment_invoice(amount, description = nil)
|
||||||
invoices.create(
|
invoices.create(
|
||||||
invoice_type: 'DEB',
|
invoice_type: 'DEB',
|
||||||
due_date: Time.zone.now.to_date + 1.day,
|
due_date: (Time.zone.now.to_date + Setting.days_to_keep_invoices_active.days).end_of_day,
|
||||||
payment_term: 'prepayment',
|
payment_term: 'prepayment',
|
||||||
description: description,
|
description: description,
|
||||||
currency: 'EUR',
|
currency: 'EUR',
|
||||||
|
@ -117,6 +118,7 @@ class Registrar < ActiveRecord::Base
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
# rubocop:enable Metrics/AbcSize
|
||||||
# rubocop:enable Metrics/MethodLength
|
# rubocop:enable Metrics/MethodLength
|
||||||
|
|
||||||
def cash_account
|
def cash_account
|
||||||
|
|
|
@ -24,10 +24,10 @@
|
||||||
- if x.cancelled?
|
- if x.cancelled?
|
||||||
%td.text-grey= t(:cancelled)
|
%td.text-grey= t(:cancelled)
|
||||||
- else
|
- else
|
||||||
%td= l(x.due_date)
|
%td= l(x.due_date, format: :date_long)
|
||||||
|
|
||||||
- if x.binded?
|
- if x.binded?
|
||||||
%td= l(x.receipt_date)
|
%td= l(x.receipt_date, format: :date_long)
|
||||||
- elsif x.cancelled?
|
- elsif x.cancelled?
|
||||||
%td.text-grey= t(:cancelled)
|
%td.text-grey= t(:cancelled)
|
||||||
- else
|
- else
|
||||||
|
|
|
@ -65,6 +65,7 @@
|
||||||
%tbody
|
%tbody
|
||||||
= render 'setting_row', var: :invoice_number_min
|
= render 'setting_row', var: :invoice_number_min
|
||||||
= render 'setting_row', var: :invoice_number_max
|
= render 'setting_row', var: :invoice_number_max
|
||||||
|
= render 'setting_row', var: :days_to_keep_invoices_active
|
||||||
= render 'setting_row', var: :days_to_keep_overdue_invoices_active
|
= render 'setting_row', var: :days_to_keep_overdue_invoices_active
|
||||||
= render 'setting_row', var: :registry_billing_email
|
= render 'setting_row', var: :registry_billing_email
|
||||||
= render 'setting_row', var: :registry_invoice_contact
|
= render 'setting_row', var: :registry_invoice_contact
|
||||||
|
|
|
@ -61,13 +61,13 @@
|
||||||
%tr
|
%tr
|
||||||
%td= link_to(x, [:registrar, x])
|
%td= link_to(x, [:registrar, x])
|
||||||
- if x.receipt_date
|
- if x.receipt_date
|
||||||
%td= l(x.receipt_date)
|
%td= l(x.receipt_date, format: :date_long)
|
||||||
- elsif x.cancelled?
|
- elsif x.cancelled?
|
||||||
%td.text-grey= t(:cancelled)
|
%td.text-grey= t(:cancelled)
|
||||||
- else
|
- else
|
||||||
%td{class: 'text-danger'}= t(:unpaid)
|
%td{class: 'text-danger'}= t(:unpaid)
|
||||||
|
|
||||||
%td= l(x.due_date)
|
%td= l(x.due_date, format: :date_long)
|
||||||
%td= x.sum
|
%td= x.sum
|
||||||
.row
|
.row
|
||||||
.col-md-12
|
.col-md-12
|
||||||
|
|
|
@ -2,21 +2,21 @@
|
||||||
%hr
|
%hr
|
||||||
%dl.dl-horizontal
|
%dl.dl-horizontal
|
||||||
%dt= t(:issue_date)
|
%dt= t(:issue_date)
|
||||||
%dd= l(@invoice.created_at)
|
%dd= l(@invoice.created_at, format: :date_long)
|
||||||
|
|
||||||
- if @invoice.cancelled?
|
- if @invoice.cancelled?
|
||||||
%dt= t(:cancel_date)
|
%dt= t(:cancel_date)
|
||||||
%dd= l(@invoice.cancelled_at)
|
%dd= l(@invoice.cancelled_at, format: :date_long)
|
||||||
|
|
||||||
%dt= t(:due_date)
|
%dt= t(:due_date)
|
||||||
- if @invoice.cancelled?
|
- if @invoice.cancelled?
|
||||||
%dd.text-grey= t(:cancelled)
|
%dd.text-grey= t(:cancelled)
|
||||||
- else
|
- else
|
||||||
%dd= l(@invoice.due_date)
|
%dd= l(@invoice.due_date, format: :date_long)
|
||||||
|
|
||||||
%dt= t(:receipt_date)
|
%dt= t(:receipt_date)
|
||||||
- if @invoice.binded?
|
- if @invoice.binded?
|
||||||
%dd= l(@invoice.receipt_date)
|
%dd= l(@invoice.receipt_date, format: :date_long)
|
||||||
- elsif @invoice.cancelled?
|
- elsif @invoice.cancelled?
|
||||||
%dd.text-grey= t(:cancelled)
|
%dd.text-grey= t(:cancelled)
|
||||||
- else
|
- else
|
||||||
|
|
|
@ -27,6 +27,7 @@ if con.present? && con.table_exists?('settings')
|
||||||
|
|
||||||
Setting.save_default(:invoice_number_min, 131050)
|
Setting.save_default(:invoice_number_min, 131050)
|
||||||
Setting.save_default(:invoice_number_max, 149999)
|
Setting.save_default(:invoice_number_max, 149999)
|
||||||
|
Setting.save_default(:days_to_keep_invoices_active, 30)
|
||||||
Setting.save_default(:days_to_keep_overdue_invoices_active, 30)
|
Setting.save_default(:days_to_keep_overdue_invoices_active, 30)
|
||||||
Setting.save_default(:days_to_renew_domain_before_expire, 90)
|
Setting.save_default(:days_to_renew_domain_before_expire, 90)
|
||||||
Setting.save_default(:expire_warning_period, 15)
|
Setting.save_default(:expire_warning_period, 15)
|
||||||
|
|
|
@ -122,11 +122,13 @@ describe Registrar do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should be able to issue a prepayment invoice' do
|
it 'should be able to issue a prepayment invoice' do
|
||||||
|
Setting.days_to_keep_invoices_active = 30
|
||||||
Fabricate(:registrar, name: 'EIS', reg_no: '90010019')
|
Fabricate(:registrar, name: 'EIS', reg_no: '90010019')
|
||||||
@registrar.issue_prepayment_invoice(200, 'add some money')
|
@registrar.issue_prepayment_invoice(200, 'add some money')
|
||||||
@registrar.invoices.count.should == 1
|
@registrar.invoices.count.should == 1
|
||||||
i = @registrar.invoices.first
|
i = @registrar.invoices.first
|
||||||
i.sum.should == BigDecimal.new('240.0')
|
i.sum.should == BigDecimal.new('240.0')
|
||||||
|
i.due_date.should be_within(0.1).of((Time.zone.now + 30.days).end_of_day)
|
||||||
i.description.should == 'add some money'
|
i.description.should == 'add some money'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue