diff --git a/app/Controllers/Admin/Customer/ServiceController.php b/app/Controllers/Admin/Customer/ServiceController.php index 5693fff..8bacf95 100644 --- a/app/Controllers/Admin/Customer/ServiceController.php +++ b/app/Controllers/Admin/Customer/ServiceController.php @@ -2,6 +2,7 @@ namespace App\Controllers\Admin\Customer; +use App\Entities\Equipment\ServerEntity; use CodeIgniter\HTTP\RedirectResponse; use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; @@ -90,8 +91,16 @@ class ServiceController extends CustomerController $fields = ['serverinfo_uid']; $this->service->getFormService()->setFormFields($fields); $this->service->getFormService()->setFormRules($action, $fields); + //변경값 정의 + $formDatas = $this->request->getGet(); + //서버 타이틀을 서비스 타이틀로 변경하기 위함 + $serverEntity = service('equipment_serverservice')->getEntity($formDatas['serverinfo_uid']); + if (!$serverEntity instanceof ServerEntity) { + throw new \Exception(__METHOD__ . "에서 오류발생: 해당하는 서버정보을 찾을수 없습니다."); + } + $formDatas['title'] = $serverEntity->getCustomTitle(); //대체서버를 메인서버로 설정 - $this->service->modify($uid, $this->service->createDTO($this->request->getGet())); + $this->service->modify($uid, $this->service->createDTO($formDatas)); return $this->action_redirect_process('info', "{$this->getTitle()}에서 메인서버설정이 완료되었습니다"); } catch (\Throwable $e) { return $this->action_redirect_process('error', "{$this->getTitle()}에서 메인서버설정 오류:" . $e->getMessage()); diff --git a/app/Database/dbmsv4_test1.sql b/app/Database/dbmsv4_test1.sql index 566833f..e8c1743 100644 --- a/app/Database/dbmsv4_test1.sql +++ b/app/Database/dbmsv4_test1.sql @@ -771,4 +771,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2025-12-05 11:32:11 +-- Dump completed on 2025-12-08 12:44:52 diff --git a/app/Services/Equipment/ServerService.php b/app/Services/Equipment/ServerService.php index 66e46b7..9b56d9d 100644 --- a/app/Services/Equipment/ServerService.php +++ b/app/Services/Equipment/ServerService.php @@ -279,9 +279,9 @@ class ServerService extends EquipmentService $this->getFormService()->setFormRules('modify', $fields); parent::modify_process($entity, $formDatas); } - public function detachFromService(int $uid): void + public function detachFromService(int|ServerEntity $uid): void { - $entity = $this->getEntity($uid); + $entity = $this->getEntity($uid); if (!$entity instanceof ServerEntity) { throw new \Exception(__METHOD__ . "에서 오류발생: 해당하는 서버정보을 찾을수 없습니다."); } diff --git a/app/Views/cells/server/servicelist.php b/app/Views/cells/server/servicelist.php index ed49f17..1c9894d 100644 --- a/app/Views/cells/server/servicelist.php +++ b/app/Views/cells/server/servicelist.php @@ -2,19 +2,26 @@ getCustomTitle();; - $serverinfos = []; - $serverinfos[] = $serverCellDatas['helper']->getFieldView('switchinfo_uid', $entity->getSwitchInfoUID(), $serverCellDatas); - $serverinfos[] = $serverCellDatas['helper']->getFieldView('ip', $entity->getIP(), $serverCellDatas); - $serverinfos[] = $serverCellDatas['helper']->getFieldView('os', $entity->getOS(), $serverCellDatas); - $serverinfos[] = view_cell("\App\Cells\Equipment\ServerPartCell::parttable", [ - 'serverinfo_uid' => $entity->getPK(), - 'types' => SERVERPART['SERVICE_PARTTYPES'], - 'template' => 'servicelist', - ]); - $text = $title . " / " . implode(" / ", $serverinfos); - $html = $serverCellDatas['serverPartHelper']->getFieldView('SERVER', "", ['serverEntity' => $entity]) . " / " . implode(" / ", $serverinfos); + $part = sprintf( + "%s / %s / %s / %s / %s", + $entity->getTitle(), + $serverCellDatas['helper']->getFieldView('switchinfo_uid', $entity->getSwitchInfoUID(), $serverCellDatas), + $serverCellDatas['helper']->getFieldView('ip', $entity->getIP(), $serverCellDatas), + $serverCellDatas['helper']->getFieldView('os', $entity->getOS(), $serverCellDatas), + view_cell("\App\Cells\Equipment\ServerPartCell::parttable", [ + 'serverinfo_uid' => $entity->getPK(), + 'types' => SERVERPART['SERVICE_PARTTYPES'], + 'template' => 'servicelist', + ]) + ); + $html = $serverCellDatas['serverPartHelper']->getFieldView('SERVER', "", ['serverEntity' => $entity]) . " / " . $part; ?> - 📋{$html}" ?> + 📋%s%s", + $entity->getCode() . ' / ' . $part, + $part, + $serverCellDatas['serviceEntity']->getServerInfoUID() == $entity->getPK() ? "📌" : "✔️", + $html + ) ?> ", $temps) ?> \ No newline at end of file