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 |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/inc/managers/queue/Storage.php b/inc/managers/queue/Storage.php
index 13c395e..8793c6e 100644
--- a/inc/managers/queue/Storage.php
+++ b/inc/managers/queue/Storage.php
@@ -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,

--
Gitblit v1.10.0