From 0dc77fd21bad8a7dddcab397f34e2a499a9eaa0d Mon Sep 17 00:00:00 2001 From: "choi.jh" Date: Mon, 30 Jun 2025 18:44:06 +0900 Subject: [PATCH] dbms_init...1 --- .../Admin/Customer/ServiceItemController.php | 18 ----- app/Entities/Equipment/Part/DomainEntity.php | 4 + app/Entities/Equipment/Part/IpEntity.php | 4 + app/Helpers/Customer/ServiceHelper.php | 10 ++- app/Helpers/Customer/ServiceItemHelper.php | 78 ++++++++++--------- 5 files changed, 56 insertions(+), 58 deletions(-) diff --git a/app/Controllers/Admin/Customer/ServiceItemController.php b/app/Controllers/Admin/Customer/ServiceItemController.php index b5b8092..8bd0838 100644 --- a/app/Controllers/Admin/Customer/ServiceItemController.php +++ b/app/Controllers/Admin/Customer/ServiceItemController.php @@ -90,30 +90,12 @@ class ServiceItemController extends CustomerController } //Index,FieldForm관련 - //item_type에 따른 item_uid 값 가져오기 - private function setItemUID(ServiceEntity $serviceEntity, array $formDatas): array - { - switch ($formDatas['item_type']) { - case 'DOMAIN': - //DomainService에 먼저 create후 결과 uid를 item_uid로 전달함 - $equipmentEntity = $this->getService()->getServiceItemLinkService($formDatas['item_type'])->create([ - 'clientinfo_uid' => $serviceEntity->getClientUID(), - 'domain' => $formDatas['item_uid'] - ]); - //도메인용 항목의 item_uid로 전달함 - $formDatas['item_uid'] = $equipmentEntity->getPK(); - break; - } - return $formDatas; - } protected function create_process(array $formDatas): ServiceItemEntity { $serviceEntity = $this->getServiceService()->getEntity($formDatas['serviceinfo_uid']); if (!$serviceEntity) { throw new \Exception("{$formDatas['serviceinfo_uid']}에 대한 서비스정보를 찾을수 없습니다."); } - //item_type에 따른 item_uid 값 가져오기 반드시 Validation 전에 정의해야함 - $formDatas = $this->setItemUID($serviceEntity, $formDatas); return parent::create_process($formDatas); } } diff --git a/app/Entities/Equipment/Part/DomainEntity.php b/app/Entities/Equipment/Part/DomainEntity.php index de45045..94bf45a 100644 --- a/app/Entities/Equipment/Part/DomainEntity.php +++ b/app/Entities/Equipment/Part/DomainEntity.php @@ -11,4 +11,8 @@ class DomainEntity extends PartEntity const STATUS_AVAILABLE = "default"; const STATUS_OCCUPIED = "occupied"; const STATUS_FORBIDDEN = "forbidden"; + public function getDomain(): string + { + return $this->attributes['domain']; + } } diff --git a/app/Entities/Equipment/Part/IpEntity.php b/app/Entities/Equipment/Part/IpEntity.php index 3b0e7cb..bbdf040 100644 --- a/app/Entities/Equipment/Part/IpEntity.php +++ b/app/Entities/Equipment/Part/IpEntity.php @@ -11,4 +11,8 @@ class IpEntity extends PartEntity const STATUS_AVAILABLE = "default"; const STATUS_OCCUPIED = "occupied"; const STATUS_FORBIDDEN = "forbidden"; + public function getIP(): string + { + return $this->attributes['ip']; + } } diff --git a/app/Helpers/Customer/ServiceHelper.php b/app/Helpers/Customer/ServiceHelper.php index 4c549ea..b900863 100644 --- a/app/Helpers/Customer/ServiceHelper.php +++ b/app/Helpers/Customer/ServiceHelper.php @@ -61,7 +61,10 @@ class ServiceHelper extends CustomerHelper $form_temps[] = ""; foreach ($viewDatas['control']['filter_optons'][$field] as $key => $filterEntity) { $disabled = $filterEntity->getStatus() === SwitchEntity::STATUS_OCCUPIED ? 'disabled="disabled"' : ''; - if (array_key_exists('index_content_top_filter', $extras) || $viewDatas['control']['action'] == "modify_form") { + if (array_key_exists('index_content_top_filter', $extras)) { + $disabled = ""; + } + if ($viewDatas['control']['action'] == "modify_form" && $value == $filterEntity->getPK()) { $disabled = ""; } $selected = ($value == $key) ? 'selected="selected"' : ''; @@ -79,7 +82,10 @@ class ServiceHelper extends CustomerHelper $form_temps[] = ""; foreach ($viewDatas['control']['filter_optons'][$field] as $key => $filterEntity) { $disabled = $filterEntity->getStatus() === CodeEntity::STATUS_OCCUPIED ? 'disabled="disabled"' : ''; - if (array_key_exists('index_content_top_filter', $extras) || $viewDatas['control']['action'] == "modify_form") { + if (array_key_exists('index_content_top_filter', $extras)) { + $disabled = ""; + } + if ($viewDatas['control']['action'] == "modify_form" && $value == $filterEntity->getPK()) { $disabled = ""; } $selected = ($value == $key) ? 'selected="selected"' : ''; diff --git a/app/Helpers/Customer/ServiceItemHelper.php b/app/Helpers/Customer/ServiceItemHelper.php index e4a214a..c1234dc 100644 --- a/app/Helpers/Customer/ServiceItemHelper.php +++ b/app/Helpers/Customer/ServiceItemHelper.php @@ -24,27 +24,47 @@ class ServiceItemHelper extends CustomerHelper $item_type = $viewDatas['item_type']; //Field는 item_uid이지만 , item_tpe에 따라 filter_options가 달라진다. switch ($item_type) { - case 'DOMAIN': - if (in_array($viewDatas['control']['action'], ['create', 'modify', 'create_form', 'modify_form'])) { - $form = form_input($field, $value ?? "", ["placeholder" => "예)example.com", ...$extras]); - } else { - if (!is_array($viewDatas['control']['filter_optons'][$item_type])) { - throw new \Exception(__METHOD__ . "에서 {$item_type}의 field_options가 array형태가 아닙니다."); - } - //CodeIgniter 4의 form_dropdown()은 options 배열로만 값을 받기 때문에, disabled 속성 같은 개별 옵션에 대한 HTML 속성 추가는 기본적으로 지원하지 않습니다. - $form_temps = ["'; - $form = implode("", $form_temps); + case "IP": + if (!is_array($viewDatas['control']['filter_optons'][$item_type])) { + throw new \Exception(__METHOD__ . "에서 {$item_type}의 field_options가 array형태가 아닙니다."); } + //CodeIgniter 4의 form_dropdown()은 options 배열로만 값을 받기 때문에, disabled 속성 같은 개별 옵션에 대한 HTML 속성 추가는 기본적으로 지원하지 않습니다. + $form_temps = ["'; + $form = implode("", $form_temps); + break; + case 'DOMAIN': + if (!is_array($viewDatas['control']['filter_optons'][$item_type])) { + throw new \Exception(__METHOD__ . "에서 {$item_type}의 field_options가 array형태가 아닙니다."); + } + //CodeIgniter 4의 form_dropdown()은 options 배열로만 값을 받기 때문에, disabled 속성 같은 개별 옵션에 대한 HTML 속성 추가는 기본적으로 지원하지 않습니다. + $form_temps = ["'; + $form = implode("", $form_temps); break; case "LINE": case "SERVER": @@ -68,24 +88,6 @@ class ServiceItemHelper extends CustomerHelper $form_temps[] = ''; $form = implode("", $form_temps); break; - case "IP": - if (!is_array($viewDatas['control']['filter_optons'][$item_type])) { - throw new \Exception(__METHOD__ . "에서 {$item_type}의 field_options가 array형태가 아닙니다."); - } - //CodeIgniter 4의 form_dropdown()은 options 배열로만 값을 받기 때문에, disabled 속성 같은 개별 옵션에 대한 HTML 속성 추가는 기본적으로 지원하지 않습니다. - $form_temps = ["'; - $form = implode("", $form_temps); - break; default: $form = parent::getFieldForm($field, $value, $viewDatas, $extras); break;