Merge pull request #2751 from internetee/2742-clienthold-status-must-not-me-reset-unless-the-forcedelete-status-is-reset

fix: prevent client_hold status from returning after manual removal
This commit is contained in:
Timo Võhmar 2025-02-19 15:38:17 +02:00 committed by GitHub
commit 98bf7fb594
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 30 additions and 1 deletions

View file

@ -5,16 +5,20 @@ module Domains
class: Domain,
description: 'Domain to set ClientHold on'
CLIENT_HOLD_SET_NOTE = "Has been set".freeze
# rubocop:disable Metrics/AbcSize
def execute
notify_on_grace_period if should_notify_on_soft_force_delete?
return unless client_holdable?
return if domain.force_delete_data['client_hold_mandatory'].to_s.downcase == CLIENT_HOLD_SET_NOTE.downcase
domain.statuses << DomainStatus::CLIENT_HOLD
to_stdout("DomainCron.start_client_hold: #{domain.id} (#{domain.name}) #{domain.changes}\n")
domain.force_delete_data['client_hold_mandatory'] = CLIENT_HOLD_SET_NOTE
domain.save(validate: false)
notify_client_hold
to_stdout("Successfully set client_hold on (#{domain.name})")