From 4089ba01e0881c89a72332e13bc3a80b6bddec2a Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Mon, 29 Jun 2026 22:15:55 +0000
Subject: [PATCH] =DashboardManager overhaul. A bit easier to modify the output of pages. Still have to get the account pages to work as expected, as well as verify the integrations and others are working - but registrar/content pages work as expected. Also fixed up the table generation in CRUD.js and CRUDSkeleton.php
---
inc/managers/queue/Storage.php | 17 +++++++++++------
1 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/inc/managers/queue/Storage.php b/inc/managers/queue/Storage.php
index 2a5d540..8793c6e 100644
--- a/inc/managers/queue/Storage.php
+++ b/inc/managers/queue/Storage.php
@@ -19,7 +19,7 @@
public function __construct()
{
$this->defineTables();
- $this->cache = Cache::for('queue', DAY_IN_SECONDS);
+ $this->cache = Cache::for('queue', DAY_IN_SECONDS)->user();
}
public function hasProcessingOperations(): bool
@@ -168,10 +168,15 @@
public function insert(Operation $op): bool
{
- $result = $this->table->insert([
- 'id' => $op->id,
- 'type' => $op->type,
- 'user_id' => $op->userId,
+ $existing = $this->find($op->id);
+ if ($existing && in_array($existing->state, ['completed', 'processing'] )) {
+ $op->id = Queue::generateId($op->userId);
+ }
+ $result = $this->table->findOrCreate([
+ 'id' => $op->id,
+ 'type' => $op->type,
+ 'user_id' => $op->userId,
+ ],[
'request_data' => json_encode($op->requestData),
'total_items' => $op->totalItems,
'processed_items' => $op->processedItems,
@@ -548,7 +553,7 @@
$s = $stats[0] ?? null;
if (!$s) continue;
- $this->stats->table->query("
+ $this->stats->queryResults("
INSERT INTO {table} (date, type, total_operations, successful_operations, failed_permanent_operations, total_items_processed)
VALUES (%s, %s, %d, %d, %d, %d)
ON DUPLICATE KEY UPDATE
--
Gitblit v1.10.0