diff --git a/app/controllers/admin/mass_actions_controller.rb b/app/controllers/admin/mass_actions_controller.rb index b342a9ef1..a8b4ed04e 100644 --- a/app/controllers/admin/mass_actions_controller.rb +++ b/app/controllers/admin/mass_actions_controller.rb @@ -4,14 +4,14 @@ module Admin class MassActionsController < BaseController authorize_resource - # GET /admin/disputes + # GET /admin/mass_actions def index; end - # POST /admin/disputes + # POST /admin/mass_actions def create res = MassAction.process(params[:mass_action], params[:entry_list].path) - backlog = "#{params[:mass_action]} done for #{res[:ok].join(',')}.\n" \ - "Failed: objects: #{res[:fail].join(',')}" + backlog = "#{params[:mass_action]} completed for #{res[:ok]}.\n" \ + "Failed: objects: #{res[:fail]}" redirect_to(admin_mass_actions_path, notice: backlog) end diff --git a/app/models/concerns/domain/force_delete.rb b/app/models/concerns/domain/force_delete.rb index d62c1f9a1..6cf883c51 100644 --- a/app/models/concerns/domain/force_delete.rb +++ b/app/models/concerns/domain/force_delete.rb @@ -42,12 +42,12 @@ module Concerns::Domain::ForceDelete # rubocop:disable Metrics/ModuleLength force_delete_start + Setting.expire_warning_period.days <= valid_to end - def schedule_force_delete(type: :fast_track, notify: false) + def schedule_force_delete(type: :fast_track, reason: nil) if discarded? raise StandardError, 'Force delete procedure cannot be scheduled while a domain is discarded' end - type == :fast_track ? force_delete_fast_track : force_delete_soft(notify: notify) + type == :fast_track ? force_delete_fast_track : force_delete_soft(reason: reason) end def add_force_delete_type(force_delete_type) @@ -65,7 +65,7 @@ module Concerns::Domain::ForceDelete # rubocop:disable Metrics/ModuleLength save(validate: false) end - def force_delete_soft(notify: false) + def force_delete_soft(reason: nil) preserve_current_statuses_for_force_delete add_force_delete_statuses add_force_delete_type(:soft) @@ -73,7 +73,7 @@ module Concerns::Domain::ForceDelete # rubocop:disable Metrics/ModuleLength stop_all_pending_actions allow_deletion save(validate: false) - notify_parties if notify + notify_parties(reason) if reason end def clear_force_delete_data @@ -150,8 +150,11 @@ module Concerns::Domain::ForceDelete # rubocop:disable Metrics/ModuleLength Time.zone.today + Setting.expire_warning_period.days + Setting.redemption_grace_period.days end - def notify_parties - self.template_name = registrant.org? ? 'legal_person' : 'private_person' + def notify_parties(reason) + ent = registrant.org? ? 'legal_person' : 'private_person' if reason == 'ENTITY_BURIED' + ent ||= reason.downcase + self.template_name = ent + save(validate: false) registrar.notifications.create!(text: I18n.t('force_delete_set_on_domain', domain_name: name, diff --git a/app/models/mass_action.rb b/app/models/mass_action.rb index 73c0d024d..e0ad113a4 100644 --- a/app/models/mass_action.rb +++ b/app/models/mass_action.rb @@ -12,7 +12,7 @@ class MassAction dn = Domain.find_by(name_puny: e['domain_name']) log[:fail] << e['domain_name'] and next unless dn - dn.schedule_force_delete(type: :soft, notify: true) + dn.schedule_force_delete(type: :soft, reason: e['delete_reason']) log[:ok] << dn.name end diff --git a/app/views/admin/mass_actions/index.html.erb b/app/views/admin/mass_actions/index.html.erb index 54c108ccb..4e500f86b 100644 --- a/app/views/admin/mass_actions/index.html.erb +++ b/app/views/admin/mass_actions/index.html.erb @@ -6,7 +6,7 @@
Triggers soft force delete procedure for uploaded domain list. List must be in CSV format. Each domain entry must be on separate line. Line must include domain_name (puny) followed with delete_reason, separated by comma.
-Allowed delete reasons: IDENT_BURIED | PHONE | EMAIL
+Allowed delete reasons: ENTITY_BURIED | PHONE | EMAIL
<%= form_tag admin_mass_actions_path, multipart: true do %> <%= file_field_tag :entry_list, accept: 'text/csv' %> <%= hidden_field_tag :mass_action, 'force_delete' %>