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;