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/registrar/config/Integration.php |   21 ++++++++++++++++-----
 1 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/inc/registrar/config/Integration.php b/inc/registrar/config/Integration.php
index c1cbac4..53d71a0 100644
--- a/inc/registrar/config/Integration.php
+++ b/inc/registrar/config/Integration.php
@@ -13,7 +13,7 @@
 	 * @var string Must match as defined in the JVBase\integrations namespace
 	 */
 	protected string $service_name;
-	protected string $content_type;
+	protected ?string $content_type = null;
 	/**
 	 * @var bool Whether to send to the integration on publish
 	 */
@@ -38,18 +38,27 @@
 		$this->service_name = $service;
 	}
 
+
 	public function getService_name():string
 	{
 		return $this->service_name;
 	}
 
 	/**
-	 * @param string $content must match what integration expects
+	 * @param ?string $content must match what integration expects
 	 * @return self
 	 */
-	public function setContent_type(string $content):self
+	public function setContentType(?string $content):self
 	{
-		$allowed = JVB()->connect($this->service_name)->allowedContent();
+		if (is_null($content)) {
+			return $this;
+		}
+		$connection = JVB()->connect($this->service_name);
+		if (!$connection){
+			error_log('[Integration]::setContentType Service is not setup. '.$this->service_name);
+			return $this;
+		}
+		$allowed = $connection->getAllowedContent();
 		if (!in_array($content, $allowed)) {
 			error_log($this->service_name.' Connection does not support this content: '.$content);
 			return $this;
@@ -58,7 +67,7 @@
 		return $this;
 	}
 
-	public function getContentType():string
+	public function getContentType():?string
 	{
 		return $this->content_type;
 	}
@@ -86,6 +95,8 @@
 	public function setCustomer(bool $set):self
 	{
 		$this->isCustomer = $set;
+//		JVB()->connect($this->service_name)->addCustomerFields();
+
 		return $this;
 	}
 	public function isCustomer():bool

--
Gitblit v1.10.0