From ddd3551015c09df0ac004b73207054de72c09791 Mon Sep 17 00:00:00 2001 From: Martin Lensment Date: Fri, 31 Jul 2015 13:53:12 +0300 Subject: [PATCH 1/4] Fix test --- spec/epp/domain_spec.rb | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/spec/epp/domain_spec.rb b/spec/epp/domain_spec.rb index d89c846b0..0ba6bf4fd 100644 --- a/spec/epp/domain_spec.rb +++ b/spec/epp/domain_spec.rb @@ -2603,15 +2603,20 @@ describe 'EPP Domain', epp: true do end it 'should renew a expired domain' do - pending("Please inspect, somehow SERVER_HOLD is false and test fails") - domain.valid_to = Time.zone.now - 50.days - new_valid_to = domain.valid_to + 1.year - domain.outzone_at = Time.zone.now - 50.days - new_outzone_at = domain.outzone_at + 1.year - new_delete_at = domain.delete_at + 1.year + old_valid_to = Time.zone.now - 90.days + old_outzone_at = Time.zone.now - 60.days + old_delete_at = Time.zone.now - 30.days + domain.valid_to = old_valid_to + domain.outzone_at = old_outzone_at + domain.delete_at = old_delete_at domain.save Domain.start_expire_period + domain.reload + domain.valid_to = old_valid_to + domain.outzone_at = old_outzone_at + domain.delete_at = old_delete_at + domain.save Domain.start_redemption_grace_period domain.reload @@ -2637,9 +2642,9 @@ describe 'EPP Domain', epp: true do domain.statuses.include?(DomainStatus::OK).should == true domain.reload - domain.valid_to.should be_within(5).of(new_valid_to) - domain.outzone_at.should be_within(5).of(new_outzone_at) - domain.delete_at.should be_within(5).of(new_delete_at) + domain.valid_to.should be_within(5).of(old_valid_to + 1.year) + domain.outzone_at.should be_within(5).of(old_valid_to + 1.year + Setting.expire_warning_period.days) + domain.delete_at.should be_within(5).of(old_valid_to + 1.year + Setting.expire_warning_period.days + Setting.redemption_grace_period.days) end it 'does not renew foreign domain' do From 0f652aedc197267b7b4060e4d4b9287f1d00e73d Mon Sep 17 00:00:00 2001 From: Martin Lensment Date: Fri, 31 Jul 2015 15:07:20 +0300 Subject: [PATCH 2/4] Fix rubocop --- spec/epp/domain_spec.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spec/epp/domain_spec.rb b/spec/epp/domain_spec.rb index 0ba6bf4fd..26fc2b7b3 100644 --- a/spec/epp/domain_spec.rb +++ b/spec/epp/domain_spec.rb @@ -2644,7 +2644,9 @@ describe 'EPP Domain', epp: true do domain.reload domain.valid_to.should be_within(5).of(old_valid_to + 1.year) domain.outzone_at.should be_within(5).of(old_valid_to + 1.year + Setting.expire_warning_period.days) - domain.delete_at.should be_within(5).of(old_valid_to + 1.year + Setting.expire_warning_period.days + Setting.redemption_grace_period.days) + domain.delete_at.should be_within(5).of( + old_valid_to + 1.year + Setting.expire_warning_period.days + Setting.redemption_grace_period.days + ) end it 'does not renew foreign domain' do From 520935cdded473fb30fe3adcd14664c7ba4673c6 Mon Sep 17 00:00:00 2001 From: Priit Tark Date: Fri, 31 Jul 2015 15:49:11 +0300 Subject: [PATCH 3/4] Rubocop updates --- app/models/epp/domain.rb | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/models/epp/domain.rb b/app/models/epp/domain.rb index e89c62dcb..ae571fa4f 100644 --- a/app/models/epp/domain.rb +++ b/app/models/epp/domain.rb @@ -395,6 +395,7 @@ class Epp::Domain < Domain end # rubocop: disable Metrics/AbcSize + # rubocop: disable Metrics/CyclomaticComplexity def update(frame, current_user, verify = true) return super if frame.blank? at = {}.with_indifferent_access @@ -411,15 +412,17 @@ class Epp::Domain < Domain # at[:statuses] += at_add[:domain_statuses_attributes] - if verify && Setting.request_confrimation_on_registrant_change_enabled && - frame.css('registrant').present? && - frame.css('registrant').attr('verified').to_s.downcase != 'yes' + if verify && + Setting.request_confrimation_on_registrant_change_enabled && + frame.css('registrant').present? && + frame.css('registrant').attr('verified').to_s.downcase != 'yes' registrant_verification_asked!(frame.to_s, current_user.id) end self.deliver_emails = true # turn on email delivery for epp errors.empty? && super(at) end # rubocop: enable Metrics/AbcSize + # rubocop: enable Metrics/CyclomaticComplexity def apply_pending_update! old_registrant_email = DomainMailer.registrant_updated_notification_for_old_registrant(self) @@ -458,8 +461,8 @@ class Epp::Domain < Domain return false unless valid? if verify && - Setting.request_confirmation_on_domain_deletion_enabled && - frame.css('delete').attr('verified').to_s.downcase != 'yes' + Setting.request_confirmation_on_domain_deletion_enabled && + frame.css('delete').attr('verified').to_s.downcase != 'yes' registrant_verification_asked!(frame.to_s, user_id) self.deliver_emails = true # turn on email delivery for epp From 9f42784d33508e01fe912b6034435dbbb7c3cfb6 Mon Sep 17 00:00:00 2001 From: Martin Lensment Date: Fri, 31 Jul 2015 16:30:38 +0300 Subject: [PATCH 4/4] Show specific error on invoice generation in admin #2802 --- app/controllers/admin/invoices_controller.rb | 2 +- app/controllers/registrar/deposits_controller.rb | 2 +- app/models/invoice.rb | 2 +- app/views/admin/invoices/index.haml | 1 - app/views/admin/invoices/new.haml | 3 ++- config/locales/en.yml | 1 + 6 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/controllers/admin/invoices_controller.rb b/app/controllers/admin/invoices_controller.rb index 39d4e805c..dce34ac2a 100644 --- a/app/controllers/admin/invoices_controller.rb +++ b/app/controllers/admin/invoices_controller.rb @@ -12,7 +12,7 @@ class Admin::InvoicesController < AdminController @deposit = Deposit.new(deposit_params.merge(registrar: r)) @invoice = @deposit.issue_prepayment_invoice - if @invoice.persisted? + if @invoice && @invoice.persisted? flash[:notice] = t(:record_created) redirect_to [:admin, @invoice] else diff --git a/app/controllers/registrar/deposits_controller.rb b/app/controllers/registrar/deposits_controller.rb index 6f1dfff13..4bd40eaa6 100644 --- a/app/controllers/registrar/deposits_controller.rb +++ b/app/controllers/registrar/deposits_controller.rb @@ -9,7 +9,7 @@ class Registrar::DepositsController < RegistrarController @deposit = Deposit.new(deposit_params.merge(registrar: current_user.registrar)) @invoice = @deposit.issue_prepayment_invoice - if @invoice.persisted? + if @invoice && @invoice.persisted? flash[:notice] = t(:please_pay_the_following_invoice) redirect_to [:registrar, @invoice] else diff --git a/app/models/invoice.rb b/app/models/invoice.rb index 3232b34b9..83145553b 100644 --- a/app/models/invoice.rb +++ b/app/models/invoice.rb @@ -29,7 +29,7 @@ class Invoice < ActiveRecord::Base return if number <= Setting.invoice_number_max.to_i - errors.add(:base, I18n.t('failed_to_generate_invoice')) + errors.add(:base, I18n.t('failed_to_generate_invoice_invoice_number_limit_reached')) logger.error('INVOICE NUMBER LIMIT REACHED, COULD NOT GENERATE INVOICE') false end diff --git a/app/views/admin/invoices/index.haml b/app/views/admin/invoices/index.haml index a79c66f5d..75b6285a4 100644 --- a/app/views/admin/invoices/index.haml +++ b/app/views/admin/invoices/index.haml @@ -1,7 +1,6 @@ - content_for :actions do = link_to(t(:add), new_admin_invoice_path, class: 'btn btn-primary') = render 'shared/title', name: t(:invoices) - .row .col-md-12 .table-responsive diff --git a/app/views/admin/invoices/new.haml b/app/views/admin/invoices/new.haml index 3b10341af..920b11903 100644 --- a/app/views/admin/invoices/new.haml +++ b/app/views/admin/invoices/new.haml @@ -4,7 +4,8 @@ = form_for([:admin, @deposit], url: admin_invoices_path, method: :post, html: { class: 'form-horizontal' }) do |f| = render 'shared/full_errors', object: @deposit - + - if @invoice + = render 'shared/full_errors', object: @invoice .row .col-md-8 .form-group diff --git a/config/locales/en.yml b/config/locales/en.yml index 77fd119bd..5d2f0dfff 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -893,3 +893,4 @@ en: results_per_page: 'Results per page' nameserver_hostname: 'Nameserver hostname' result_count: '%{count} results' + failed_to_generate_invoice_invoice_number_limit_reached: 'Failed to generate invoice - invoice number limit reached'