From 046f575d439dbda09e142c4e03a11147da87c7e0 Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Sun, 28 Sep 2025 17:31:19 -0400 Subject: [PATCH] improved template assignment s --- app/Controllers/Provision.php | 45 +++++++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/app/Controllers/Provision.php b/app/Controllers/Provision.php index 896d572..d55ce75 100644 --- a/app/Controllers/Provision.php +++ b/app/Controllers/Provision.php @@ -227,26 +227,57 @@ class Provision extends BaseController }; // let us confirm if we have a custom template for this line $provisionUID = trim($provisionUID); - $mysql = "SELECT FROM members_products WHERE uid::text = '$provisionUID'"; + $mysql = "SELECT * FROM members_products WHERE uid::text = '$provisionUID'"; $query = $this->db->query($mysql); $provision_detail = $query->getResult(); if (count($provision_detail) > 0) { + var_dump($provision_detail[0]); $result = $provision_detail[0]; // Get results as an array of objects - // Process results - $product_template = $result["product_template"]; - $custom_template = $result["custom_template"]; + $product_template = $result->product_template; + $custom_template = $result->custom_template; + if ($product_template == '') { + $imageData = $this->pickLatestImage($productId); + if (count($imageData)) { + $this->assignTemplateToProvision($provisionUID, $imageData["provision_uid"]); //stamp image on the provison + $PROVISION_IMAGE_NAME = $imageData["provision_name"]; + $product_template = $PROVISION_IMAGE_NAME; + } + } log_message('critical', "***** ***** assignProvideImageName ProductTemplate: $product_template CustomTemplate: $custom_template "); - } - - return $PROVISION_IMAGE_NAME; + } + private function pickLatestImage($productId) + { + $mysql = "SELECT uid::text,provision_name FROM products_templates + WHERE product_id = trim('$productId') + AND status = 1 ORDER BY id DESC limit 1"; + $query = $this->db->query($mysql); + $template_detail = $query->getResult(); + $data = []; + if (count($template_detail) > 0) { + /// var_dump($template_detail[0]); + $result = $template_detail[0]; // Get results as an array of objects + $data["provision_uid"] = $result->uid; + $data["provision_name"] = trim($result->provision_name); + } + return $data; + } + + private function assignTemplateToProvision($provisionUID, $provision_uid) + { + $mysql = "UPDATE members_products SET product_template='$provision_uid' WHERE uid::text = '$provisionUID' AND product_template = '' "; + $this->db->query($mysql); + return 0; + } + + private function prepareTemplateFile($composer_template_contents, $ContainerName, $allocatedPort, $provisionUID, $ansible_folder, $productId, $internalUrl): string {