Skip to content

Commit c7e3796

Browse files
committed
Resolve cursor bug bot issues
1 parent 5dd6e64 commit c7e3796

2 files changed

Lines changed: 17 additions & 4 deletions

File tree

ProcessMaker/Console/Commands/EvaluateCaseRetention.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public function handle()
4040
$this->info('Evaluating and deleting cases past their retention period');
4141

4242
// Process all processes when retention policy is enabled
43-
// Processes without retention_period will default to 1_year
43+
// Processes without retention_period will default to one_year
4444
Process::chunkById(100, function ($processes) {
4545
foreach ($processes as $process) {
4646
dispatch(new EvaluateProcessRetentionJob($process->id));

ProcessMaker/Jobs/EvaluateProcessRetentionJob.php

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,14 @@ public function handle(): void
4444
return;
4545
}
4646

47-
// Default to 1_year if retention_period is not set
48-
$retentionPeriod = $process->properties['retention_period'] ?? '1_year';
47+
// Default to one_year if retention_period is not set
48+
$retentionPeriod = $process->properties['retention_period'] ?? 'one_year';
4949
$retentionMonths = match ($retentionPeriod) {
5050
'six_months' => 6,
5151
'one_year' => 12,
5252
'three_years' => 36,
5353
'five_years' => 60,
54-
default => 12, // Default to 1_year
54+
default => 12, // Default to one_year
5555
};
5656

5757
// Default retention_updated_at to now if not set
@@ -104,6 +104,19 @@ public function handle(): void
104104
->all();
105105

106106
if ($requestIds === []) {
107+
// If no ProcessRequest has case_number matching these CaseNumber ids, still remove case_numbers and UI entries
108+
Log::warning('CaseRetentionJob: No process requests found for case numbers, removing case_numbers and cases_started/participated', [
109+
'case_numbers' => $caseNumbers,
110+
'process_id' => $this->processId,
111+
]);
112+
DB::transaction(function () use ($caseNumbers) {
113+
CaseNumber::whereIn('id', $caseNumbers)->delete();
114+
foreach ($caseNumbers as $caseNumber) {
115+
$this->deleteCasesStarted((string) $caseNumber);
116+
$this->deleteCasesParticipated((string) $caseNumber);
117+
}
118+
});
119+
107120
return;
108121
}
109122

0 commit comments

Comments
 (0)