diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 71e5436..aaa4dcc 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -108,58 +108,6 @@ $routes->group('admin', ['namespace' => 'App\Controllers\Admin', 'filter' => 'au }); }); $routes->group('equipment', ['namespace' => 'App\Controllers\Admin\Equipment'], function ($routes) { - $routes->group('line', ['namespace' => 'App\Controllers\Admin\Equipment'], function ($routes) { - $routes->get('/', 'LineController::index', []); - $routes->get('create', 'LineController::create_form'); - $routes->post('create', 'LineController::create'); - $routes->get('modify/(:num)', 'LineController::modify_form/$1'); - $routes->post('modify/(:num)', 'LineController::modify/$1'); - $routes->get('view/(:num)', 'LineController::view/$1'); - $routes->get('delete/(:num)', 'LineController::delete/$1'); - $routes->get('toggle/(:num)/(:any)', 'LineController::toggle/$1/$2'); - $routes->post('batchjob', 'LineController::batchjob'); - $routes->post('batchjob_delete', 'LineController::batchjob_delete'); - $routes->get('download/(:alpha)', 'LineController::download/$1'); - }); - $routes->group('ip', ['namespace' => 'App\Controllers\Admin\Equipment'], function ($routes) { - $routes->get('/', 'IpController::index', []); - $routes->get('create', 'IpController::create_form'); - $routes->post('create', 'IpController::create'); - $routes->get('modify/(:num)', 'IpController::modify_form/$1'); - $routes->post('modify/(:num)', 'IpController::modify/$1'); - $routes->get('view/(:num)', 'IpController::view/$1'); - $routes->get('delete/(:num)', 'IpController::delete/$1'); - $routes->get('toggle/(:num)/(:any)', 'IpController::toggle/$1/$2'); - $routes->post('batchjob', 'IpController::batchjob'); - $routes->post('batchjob_delete', 'IpController::batchjob_delete'); - $routes->get('download/(:alpha)', 'IpController::download/$1'); - }); - $routes->group('defence', ['namespace' => 'App\Controllers\Admin\Equipment'], function ($routes) { - $routes->get('/', 'DefenceController::index', []); - $routes->get('create', 'DefenceController::create_form'); - $routes->post('create', 'DefenceController::create'); - $routes->get('modify/(:num)', 'DefenceController::modify_form/$1'); - $routes->post('modify/(:num)', 'DefenceController::modify/$1'); - $routes->get('view/(:num)', 'DefenceController::view/$1'); - $routes->get('delete/(:num)', 'DefenceController::delete/$1'); - $routes->get('toggle/(:num)/(:any)', 'DefenceController::toggle/$1/$2'); - $routes->post('batchjob', 'DefenceController::batchjob'); - $routes->post('batchjob_delete', 'DefenceController::batchjob_delete'); - $routes->get('download/(:alpha)', 'DefenceController::download/$1'); - }); - $routes->group('software', ['namespace' => 'App\Controllers\Admin\Equipment'], function ($routes) { - $routes->get('/', 'SoftwareController::index', []); - $routes->get('create', 'SoftwareController::create_form'); - $routes->post('create', 'SoftwareController::create'); - $routes->get('modify/(:num)', 'SoftwareController::modify_form/$1'); - $routes->post('modify/(:num)', 'SoftwareController::modify/$1'); - $routes->get('view/(:num)', 'SoftwareController::view/$1'); - $routes->get('delete/(:num)', 'SoftwareController::delete/$1'); - $routes->get('toggle/(:num)/(:any)', 'SoftwareController::toggle/$1/$2'); - $routes->post('batchjob', 'SoftwareController::batchjob'); - $routes->post('batchjob_delete', 'SoftwareController::batchjob_delete'); - $routes->get('download/(:alpha)', 'SoftwareController::download/$1'); - }); $routes->group('server', ['namespace' => 'App\Controllers\Admin\Equipment'], function ($routes) { $routes->get('/', 'ServerController::index', []); $routes->get('create', 'ServerController::create_form'); @@ -174,6 +122,71 @@ $routes->group('admin', ['namespace' => 'App\Controllers\Admin', 'filter' => 'au $routes->get('download/(:alpha)', 'ServerController::download/$1'); }); $routes->group('part', ['namespace' => 'App\Controllers\Admin\Equipment\Part'], function ($routes) { + $routes->group('line', ['namespace' => 'App\Controllers\Admin\Equipment\Part'], function ($routes) { + $routes->get('/', 'LineController::index', []); + $routes->get('create', 'LineController::create_form'); + $routes->post('create', 'LineController::create'); + $routes->get('modify/(:num)', 'LineController::modify_form/$1'); + $routes->post('modify/(:num)', 'LineController::modify/$1'); + $routes->get('view/(:num)', 'LineController::view/$1'); + $routes->get('delete/(:num)', 'LineController::delete/$1'); + $routes->get('toggle/(:num)/(:any)', 'LineController::toggle/$1/$2'); + $routes->post('batchjob', 'LineController::batchjob'); + $routes->post('batchjob_delete', 'LineController::batchjob_delete'); + $routes->get('download/(:alpha)', 'LineController::download/$1'); + }); + $routes->group('ip', ['namespace' => 'App\Controllers\Admin\Equipment\Part'], function ($routes) { + $routes->get('/', 'IpController::index', []); + $routes->get('create', 'IpController::create_form'); + $routes->post('create', 'IpController::create'); + $routes->get('modify/(:num)', 'IpController::modify_form/$1'); + $routes->post('modify/(:num)', 'IpController::modify/$1'); + $routes->get('view/(:num)', 'IpController::view/$1'); + $routes->get('delete/(:num)', 'IpController::delete/$1'); + $routes->get('toggle/(:num)/(:any)', 'IpController::toggle/$1/$2'); + $routes->post('batchjob', 'IpController::batchjob'); + $routes->post('batchjob_delete', 'IpController::batchjob_delete'); + $routes->get('download/(:alpha)', 'IpController::download/$1'); + }); + $routes->group('defence', ['namespace' => 'App\Controllers\Admin\Equipment\Part'], function ($routes) { + $routes->get('/', 'DefenceController::index', []); + $routes->get('create', 'DefenceController::create_form'); + $routes->post('create', 'DefenceController::create'); + $routes->get('modify/(:num)', 'DefenceController::modify_form/$1'); + $routes->post('modify/(:num)', 'DefenceController::modify/$1'); + $routes->get('view/(:num)', 'DefenceController::view/$1'); + $routes->get('delete/(:num)', 'DefenceController::delete/$1'); + $routes->get('toggle/(:num)/(:any)', 'DefenceController::toggle/$1/$2'); + $routes->post('batchjob', 'DefenceController::batchjob'); + $routes->post('batchjob_delete', 'DefenceController::batchjob_delete'); + $routes->get('download/(:alpha)', 'DefenceController::download/$1'); + }); + $routes->group('software', ['namespace' => 'App\Controllers\Admin\Equipment\Part'], function ($routes) { + $routes->get('/', 'SoftwareController::index', []); + $routes->get('create', 'SoftwareController::create_form'); + $routes->post('create', 'SoftwareController::create'); + $routes->get('modify/(:num)', 'SoftwareController::modify_form/$1'); + $routes->post('modify/(:num)', 'SoftwareController::modify/$1'); + $routes->get('view/(:num)', 'SoftwareController::view/$1'); + $routes->get('delete/(:num)', 'SoftwareController::delete/$1'); + $routes->get('toggle/(:num)/(:any)', 'SoftwareController::toggle/$1/$2'); + $routes->post('batchjob', 'SoftwareController::batchjob'); + $routes->post('batchjob_delete', 'SoftwareController::batchjob_delete'); + $routes->get('download/(:alpha)', 'SoftwareController::download/$1'); + }); + $routes->group('domain', ['namespace' => 'App\Controllers\Admin\Equipment\Part'], function ($routes) { + $routes->get('/', 'DomainController::index', []); + $routes->get('create', 'DomainController::create_form'); + $routes->post('create', 'DomainController::create'); + $routes->get('modify/(:num)', 'DomainController::modify_form/$1'); + $routes->post('modify/(:num)', 'DomainController::modify/$1'); + $routes->get('view/(:num)', 'DomainController::view/$1'); + $routes->get('delete/(:num)', 'DomainController::delete/$1'); + $routes->get('toggle/(:num)/(:any)', 'DomainController::toggle/$1/$2'); + $routes->post('batchjob', 'DomainController::batchjob'); + $routes->post('batchjob_delete', 'DomainController::batchjob_delete'); + $routes->get('download/(:alpha)', 'DomainController::download/$1'); + }); $routes->group('cpu', ['namespace' => 'App\Controllers\Admin\Equipment\Part'], function ($routes) { $routes->get('/', 'CpuController::index', []); $routes->get('create', 'CpuController::create_form'); diff --git a/app/Controllers/Admin/Equipment/Part/CpuController.php b/app/Controllers/Admin/Equipment/Part/CpuController.php index 0bcaafb..00eef36 100644 --- a/app/Controllers/Admin/Equipment/Part/CpuController.php +++ b/app/Controllers/Admin/Equipment/Part/CpuController.php @@ -35,4 +35,18 @@ class CpuController extends PartController return $this->_helper; } //Index,FieldForm관련 + protected function setOrderByForList() + { + //OrderBy 처리 + $this->getService()->getModel()->orderBy('model', 'ASC', false); + parent::setOrderByForList(); + } + protected function index_process(): array + { + $fields = [ + 'fields' => ['model', 'price', 'status'], + ]; + $this->init('index', $fields); + return parent::index_process(); + } } diff --git a/app/Controllers/Admin/Equipment/Part/DiskController.php b/app/Controllers/Admin/Equipment/Part/DiskController.php index 3e3a727..2be2425 100644 --- a/app/Controllers/Admin/Equipment/Part/DiskController.php +++ b/app/Controllers/Admin/Equipment/Part/DiskController.php @@ -35,4 +35,18 @@ class DiskController extends PartController return $this->_helper; } //Index,FieldForm관련 + protected function setOrderByForList() + { + //OrderBy 처리 + $this->getService()->getModel()->orderBy('model', 'ASC', false); + parent::setOrderByForList(); + } + protected function index_process(): array + { + $fields = [ + 'fields' => ['model', 'price', 'status'], + ]; + $this->init('index', $fields); + return parent::index_process(); + } } diff --git a/app/Controllers/Admin/Equipment/Part/DomainController.php b/app/Controllers/Admin/Equipment/Part/DomainController.php new file mode 100644 index 0000000..e623987 --- /dev/null +++ b/app/Controllers/Admin/Equipment/Part/DomainController.php @@ -0,0 +1,54 @@ +title = lang("{$this->getService()->getClassName()}.title"); + $this->class_path .= $this->getService()->getClassName(); + $this->uri_path .= strtolower($this->getService()->getClassName('/')) . '/'; + // $this->view_path .= strtolower($this->getService()->getClassName()) . DIRECTORY_SEPARATOR; + + } + public function getService(): DomainService + { + if (!$this->_service) { + $this->_service = new DomainService($this->request); + } + return $this->_service; + } + public function getHelper(): DomainHelper + { + if (!$this->_helper) { + $this->_helper = new DomainHelper($this->request); + } + return $this->_helper; + } + //Index,FieldForm관련 + + protected function setOrderByForList() + { + //OrderBy 처리 + $this->getService()->getModel()->orderBy('domain', 'ASC', false); + parent::setOrderByForList(); + } + + protected function index_process(): array + { + $fields = [ + 'fields' => ['domain', 'price', 'status'], + ]; + $this->init('index', $fields); + return parent::index_process(); + } +} diff --git a/app/Controllers/Admin/Equipment/Part/IpController.php b/app/Controllers/Admin/Equipment/Part/IpController.php index 8d12d5e..283abc1 100644 --- a/app/Controllers/Admin/Equipment/Part/IpController.php +++ b/app/Controllers/Admin/Equipment/Part/IpController.php @@ -9,8 +9,11 @@ use Psr\Log\LoggerInterface; use App\Helpers\Equipment\Part\IpHelper; use App\Services\Equipment\Part\IpService; +use App\Services\Equipment\Part\LineService; + class IpController extends PartController { + private ?LineService $_lineService = null; public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger) { parent::initController($request, $response, $logger); @@ -34,6 +37,29 @@ class IpController extends PartController } return $this->_helper; } + final public function getLineService(): LineService + { + if (!$this->_lineService) { + $this->_lineService = new LineService($this->request); + } + return $this->_lineService; + } + protected function getFormFieldOption(string $field, array $options): array + { + switch ($field) { + case 'lineinfo_uid': + $temps = []; + foreach ($this->getLineService()->getEntities() as $entity) { + $temps[$entity->getPK()] = $entity->getTitle(); + } + $options[$field] = $temps; + break; + default: + $options = parent::getFormFieldOption($field, $options); + break; + } + return $options; + } //Index,FieldForm관련 protected function setOrderByForList() { diff --git a/app/Controllers/Admin/Equipment/Part/PartController.php b/app/Controllers/Admin/Equipment/Part/PartController.php index b9492d6..9b78ede 100644 --- a/app/Controllers/Admin/Equipment/Part/PartController.php +++ b/app/Controllers/Admin/Equipment/Part/PartController.php @@ -8,25 +8,38 @@ use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; use Psr\Log\LoggerInterface; +use App\Services\Customer\ClientService; + abstract class PartController extends EquipmentController { + private ?ClientService $_clientService = null; public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger) { parent::initController($request, $response, $logger); } + final public function getClientService(): ClientService + { + if (!$this->_clientService) { + $this->_clientService = new ClientService($this->request); + } + return $this->_clientService; + } - protected function setOrderByForList() + protected function getFormFieldOption(string $field, array $options): array { - //OrderBy 처리 - $this->getService()->getModel()->orderBy('model', 'ASC', false); - parent::setOrderByForList(); - } - protected function index_process(): array - { - $fields = [ - 'fields' => ['model', 'price', 'status'], - ]; - $this->init('index', $fields); - return parent::index_process(); + switch ($field) { + case 'clientinfo_uid': + $temps = []; + foreach ($this->getClientService()->getEntities() as $entity) { + $temps[$entity->getPK()] = $entity->getTitle(); + } + $options[$field] = $temps; + break; + default: + $options = parent::getFormFieldOption($field, $options); + break; + } + return $options; } + //Index,FieldForm관련 } diff --git a/app/Controllers/Admin/Equipment/Part/RamController.php b/app/Controllers/Admin/Equipment/Part/RamController.php index a8b0129..086ba7e 100644 --- a/app/Controllers/Admin/Equipment/Part/RamController.php +++ b/app/Controllers/Admin/Equipment/Part/RamController.php @@ -35,4 +35,18 @@ class RamController extends PartController return $this->_helper; } //Index,FieldForm관련 + protected function setOrderByForList() + { + //OrderBy 처리 + $this->getService()->getModel()->orderBy('model', 'ASC', false); + parent::setOrderByForList(); + } + protected function index_process(): array + { + $fields = [ + 'fields' => ['model', 'price', 'status'], + ]; + $this->init('index', $fields); + return parent::index_process(); + } } diff --git a/app/Controllers/Admin/Equipment/ServerController.php b/app/Controllers/Admin/Equipment/ServerController.php index 2726386..b481fca 100644 --- a/app/Controllers/Admin/Equipment/ServerController.php +++ b/app/Controllers/Admin/Equipment/ServerController.php @@ -7,7 +7,6 @@ use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; use Psr\Log\LoggerInterface; -use App\Services\Customer\ClientService; use App\Helpers\Equipment\ServerHelper; use App\Services\Equipment\ServerService; use App\Services\Equipment\Link\CpuService; @@ -22,7 +21,6 @@ use App\Services\Equipment\Link\DomainService; class ServerController extends EquipmentController { - private ?ClientService $_clientService = null; private $_adapterService = []; public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger) { @@ -47,13 +45,6 @@ class ServerController extends EquipmentController } return $this->_helper; } - final public function getClientService(): ClientService - { - if (!$this->_clientService) { - $this->_clientService = new ClientService($this->request); - } - return $this->_clientService; - } final public function getAdapterService(string $key): mixed { if (!array_key_exists($key, $this->_adapterService)) { @@ -88,29 +79,6 @@ class ServerController extends EquipmentController } return $this->_adapterService[$key]; } - protected function getFormFieldOption(string $field, array $options): array - { - switch ($field) { - case 'clientinfo_uid': - $temps = []; - foreach ($this->getClientService()->getEntities() as $entity) { - $temps[$entity->getPK()] = $entity->getTitle(); - } - $options[$field] = $temps; - break; - case 'lineinfo_uid': - $temps = []; - foreach ($this->getLineService()->getEntities() as $entity) { - $temps[$entity->getPK()] = $entity->getTitle(); - } - $options[$field] = $temps; - break; - default: - $options = parent::getFormFieldOption($field, $options); - break; - } - return $options; - } protected function getResultPageByActon(string $action, string $message = MESSAGES["SUCCESS"]): RedirectResponse|string { switch ($action) { diff --git a/app/Entities/Equipment/Part/CpuEntity.php b/app/Entities/Equipment/Part/CpuEntity.php index cac1516..b83b025 100644 --- a/app/Entities/Equipment/Part/CpuEntity.php +++ b/app/Entities/Equipment/Part/CpuEntity.php @@ -8,4 +8,8 @@ class CpuEntity extends PartEntity { const PK = CpuModel::PK; const TITLE = CpuModel::TITLE; + public function getTitle(): string + { + return parent::getTitle() . " [" . number_format($this->attributes['price']) . "원]"; + } } diff --git a/app/Entities/Equipment/Part/DiskEntity.php b/app/Entities/Equipment/Part/DiskEntity.php index 856e394..56c0b57 100644 --- a/app/Entities/Equipment/Part/DiskEntity.php +++ b/app/Entities/Equipment/Part/DiskEntity.php @@ -8,4 +8,8 @@ class DiskEntity extends PartEntity { const PK = DiskModel::PK; const TITLE = DiskModel::TITLE; + public function getTitle(): string + { + return parent::getTitle() . " [" . number_format($this->attributes['price']) . "원]"; + } } diff --git a/app/Entities/Equipment/Part/PartEntity.php b/app/Entities/Equipment/Part/PartEntity.php index 35e2cbc..d6269b0 100644 --- a/app/Entities/Equipment/Part/PartEntity.php +++ b/app/Entities/Equipment/Part/PartEntity.php @@ -11,8 +11,4 @@ abstract class PartEntity extends EquipmentEntity { parent::__construct($data); } - public function getTitle(): string - { - return parent::getTitle() . " [" . number_format($this->attributes['price']) . "원]"; - } } diff --git a/app/Entities/Equipment/Part/RamEntity.php b/app/Entities/Equipment/Part/RamEntity.php index d252545..87a1903 100644 --- a/app/Entities/Equipment/Part/RamEntity.php +++ b/app/Entities/Equipment/Part/RamEntity.php @@ -8,4 +8,8 @@ class RamEntity extends PartEntity { const PK = RamModel::PK; const TITLE = RamModel::TITLE; + public function getTitle(): string + { + return parent::getTitle() . " [" . number_format($this->attributes['price']) . "원]"; + } } diff --git a/app/Models/Equipment/Part/DomainModel.php b/app/Models/Equipment/Part/DomainModel.php index 837aad7..fbe7522 100644 --- a/app/Models/Equipment/Part/DomainModel.php +++ b/app/Models/Equipment/Part/DomainModel.php @@ -6,9 +6,9 @@ use App\Entities\Equipment\Part\DomainEntity; class DomainModel extends PartModel { - const TABLE = "lineinfo"; + const TABLE = "domaininfo"; const PK = "uid"; - const TITLE = "title"; + const TITLE = "domain"; protected $table = self::TABLE; protected $primaryKey = self::PK; protected $returnType = DomainEntity::class; @@ -40,18 +40,4 @@ class DomainModel extends PartModel } return $rule; } - protected function convertEntityData(string $field, array $formDatas, mixed $entity): mixed - { - switch ($field) { - case 'clientinfo_uid': - if (array_key_exists($field, $formDatas) && $formDatas[$field] !== '') { - $entity->$field = $formDatas[$field]; - } - break; - default: - $entity = parent::convertEntityData($field, $formDatas, $entity); - break; - } - return $entity; - } } diff --git a/app/Services/Equipment/Part/DomainService.php b/app/Services/Equipment/Part/DomainService.php index 7046c71..039642e 100644 --- a/app/Services/Equipment/Part/DomainService.php +++ b/app/Services/Equipment/Part/DomainService.php @@ -25,17 +25,14 @@ class DomainService extends PartService public function getFields(): array { return [ - "clientinfo_uid", - "type", - "title", - "bandwith", - "start_at", + "domain", + "price", "status", ]; } public function getFilterFields(): array { - return ["clientinfo_uid", "type", 'status',]; + return ['status',]; } public function getBatchJobFields(): array { diff --git a/app/Views/admin/create_form.php b/app/Views/admin/create_form.php index 24e5d34..61c9450 100644 --- a/app/Views/admin/create_form.php +++ b/app/Views/admin/create_form.php @@ -1,6 +1,6 @@ = $this->extend(LAYOUTS[$viewDatas['layout']]['path']) ?> = $this->section('content') ?> -