From 00f49cb946212c8cc3bf50fb029abdaa4b93c720 Mon Sep 17 00:00:00 2001 From: Luca Haid Date: Wed, 10 Dec 2025 09:52:05 +0000 Subject: [PATCH] Cpeprovisioning/add setup box --- .../CpeprovisioningController.php | 18 ++++++++++++++++-- .../pages/Cpeprovisioning/Cpeprovisioning.css | 15 +++++++++++++-- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/application/Cpeprovisioning/CpeprovisioningController.php b/application/Cpeprovisioning/CpeprovisioningController.php index beec047a9..f66ed1e8d 100644 --- a/application/Cpeprovisioning/CpeprovisioningController.php +++ b/application/Cpeprovisioning/CpeprovisioningController.php @@ -451,8 +451,22 @@ class CpeprovisioningController extends mfBaseController { $attrs = $prod->product->attributes ?? []; if (empty($attrs) || !is_array($attrs)) continue; - if ($attrs['hw_only']->value ?? false) $orderInfo['hw'][] = (int)$prod->amount . "x " . $prod->product->name; - if ($attrs['addon']->value ?? false) $orderInfo['hw'][] = $prod->product->name; + if ($attrs['bras_type']->value ?? false) continue; + + $added = false; + if ($attrs['hw_only']->value ?? false) { + $orderInfo['hw'][] = (int)$prod->amount . "x " . $prod->product->name; + $added = true; + } + if ($attrs['addon']->value ?? false) { + $orderInfo['hw'][] = $prod->product->name; + $added = true; + } + + if (!$added && in_array($prod->product->productgroup_id, [6, 4, 8])) { + $orderInfo['hw'][] = (int)$prod->amount . "x " . $prod->product->name; + } + if ($attrs['voip_chan']->value ?? false) $orderInfo['voip'] = true; if ($attrs['vot']->value ?? false) $orderInfo['vot'] = true; } diff --git a/public/js/pages/Cpeprovisioning/Cpeprovisioning.css b/public/js/pages/Cpeprovisioning/Cpeprovisioning.css index 681de24eb..0819cc982 100644 --- a/public/js/pages/Cpeprovisioning/Cpeprovisioning.css +++ b/public/js/pages/Cpeprovisioning/Cpeprovisioning.css @@ -8,24 +8,35 @@ body { padding-bottom: 2rem; } +.cpe-provisioning-page .form-group { + margin-bottom: 0; +} + .cpe-provisioning-page .filter-wrapper { background: #fff; - padding: 1rem; + padding: 0.75rem; border-radius: 4px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); margin-bottom: 1.5rem; } +.cpe-provisioning-page .filter-wrapper .form-control, +.cpe-provisioning-page .filter-wrapper .custom-select { + height: 31px; +} + .cpe-provisioning-page .filter-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); - gap: 1rem; + gap: 0.75rem; align-items: end; } .cpe-provisioning-page .filter-actions { display: flex; gap: 0.5rem; + align-items: flex-end; + padding-bottom: 2px; } .loading-indicator, .no-results-indicator {