← All changes
|
app/Http/Controllers/Reports/RetentionSnapshotController.php
+19
-13
1.5.1
→
1.6.5
View file →
| @@ -3,8 +3,9 @@ | ||
| 3 | 3 | namespace FluentCart\App\Http\Controllers\Reports; |
| 4 | 4 | |
| 5 | 5 | use FluentCart\App\Services\Report\RetentionSnapshotService; |
| 6 | 6 | use FluentCart\Framework\Http\Request\Request; |
| 7 | +use FluentCart\Framework\Support\Arr; | |
| 7 | 8 | use FluentCart\App\Http\Controllers\Controller; |
| 8 | 9 | |
| 9 | 10 | class RetentionSnapshotController extends Controller |
| 10 | 11 | { |
| @@ -24,12 +25,12 @@ | ||
| 24 | 25 | $service = new RetentionSnapshotService(); |
| 25 | 26 | $result = $service->generate($productId, null); |
| 26 | 27 | |
| 27 | 28 | return [ |
| 28 | - 'success' => $result['success'], | |
| 29 | - 'message' => $result['message'], | |
| 30 | - 'stats' => $result['stats'] ?? [], | |
| 31 | - 'mode' => 'synchronous', | |
| 29 | + 'success' => Arr::get($result, 'success'), | |
| 30 | + 'message' => Arr::get($result, 'message'), | |
| 31 | + 'stats' => Arr::get($result, 'stats', []), | |
| 32 | + 'mode' => 'synchronous', | |
| 32 | 33 | ]; |
| 33 | 34 | } |
| 34 | 35 | |
| 35 | 36 | // Use timestamp as tracking ID - create it ONCE |
| @@ -52,9 +53,9 @@ | ||
| 52 | 53 | ]); |
| 53 | 54 | |
| 54 | 55 | return [ |
| 55 | 56 | 'success' => true, |
| 56 | - 'message' => 'Snapshot generation queued', | |
| 57 | + 'message' => __('Snapshot generation queued', 'fluent-cart'), | |
| 57 | 58 | 'job_id' => $trackingId, |
| 58 | 59 | 'mode' => 'background', |
| 59 | 60 | ]; |
| 60 | 61 | } |
| @@ -68,9 +69,9 @@ | ||
| 68 | 69 | |
| 69 | 70 | if (!$jobId) { |
| 70 | 71 | return [ |
| 71 | 72 | 'success' => false, |
| 72 | - 'message' => 'Job ID required', | |
| 73 | + 'message' => __('Job ID required', 'fluent-cart'), | |
| 73 | 74 | ]; |
| 74 | 75 | } |
| 75 | 76 | |
| 76 | 77 | $jobData = get_option('fluent_cart_snapshot_job_' . $jobId); |
| @@ -77,21 +78,26 @@ | ||
| 77 | 78 | |
| 78 | 79 | if (!$jobData) { |
| 79 | 80 | return [ |
| 80 | 81 | 'success' => false, |
| 81 | - 'message' => 'Job not found', | |
| 82 | + 'message' => __('Job not found', 'fluent-cart'), | |
| 82 | 83 | 'job_id' => $jobId, |
| 83 | 84 | ]; |
| 84 | 85 | } |
| 85 | 86 | |
| 86 | 87 | // If job data shows completed or failed, return that status |
| 87 | - if (isset($jobData['status']) && in_array($jobData['status'], ['completed', 'failed'])) { | |
| 88 | + $jobStatus = Arr::get($jobData, 'status'); | |
| 89 | + if ($jobStatus && \in_array($jobStatus, ['completed', 'failed'])) { | |
| 88 | 90 | return [ |
| 89 | 91 | 'success' => true, |
| 90 | - 'status' => $jobData['status'], | |
| 91 | - 'message' => $jobData['message'] ?? 'Job ' . $jobData['status'], | |
| 92 | - 'stats' => $jobData['stats'] ?? [], | |
| 93 | - 'data' => $jobData, | |
| 92 | + 'status' => $jobStatus, | |
| 93 | + 'message' => Arr::get($jobData, 'message', \sprintf( | |
| 94 | + /* translators: %1$s: job status (completed or failed) */ | |
| 95 | + __('Job %1$s', 'fluent-cart'), | |
| 96 | + $jobStatus | |
| 97 | + )), | |
| 98 | + 'stats' => Arr::get($jobData, 'stats', []), | |
| 99 | + 'data' => $jobData, | |
| 94 | 100 | ]; |
| 95 | 101 | } |
| 96 | 102 | |
| 97 | 103 | // Otherwise, it's still running |
| @@ -97,9 +103,9 @@ | ||
| 97 | 103 | // Otherwise, it's still running |
| 98 | 104 | return [ |
| 99 | 105 | 'success' => true, |
| 100 | 106 | 'status' => 'running', |
| 101 | - 'message' => 'Job is still running', | |
| 107 | + 'message' => __('Job is still running', 'fluent-cart'), | |
| 102 | 108 | 'data' => $jobData, |
| 103 | 109 | ]; |
| 104 | 110 | } |
| 105 | 111 | } |