service === null) { $this->service = service('trafficservice'); } $this->addActionPaths($this::PATH); } protected function createDTO(array $formDatas): TrafficDTO { return new TrafficDTO($formDatas); } protected function action_init_process(string $action): void { $fields = ['client', 'switch', 'ip', 'interface', 'status']; $filters = ['status']; switch ($action) { case 'create': case 'create_form': case 'modify': case 'modify_form': break; case 'view': $fields = [...$fields, 'created_at']; break; case 'index': $fields = [...$fields, 'created_at']; break; default: throw new \Exception("[{$action}] 지원하지 않는 action입니다."); // break; } $this->service->getFormService()->setFormFields($fields); $this->service->getFormService()->setFormRules($action, $fields); $this->service->getFormService()->setFormFilters($filters); $this->service->getFormService()->setFormOptions($filters); $this->service->getFormService()->setBatchjobFilters($filters); parent::action_init_process($action); } protected function create_process(): TrafficEntity { return parent::create_process(); } protected function modify_form_process($uid): TrafficEntity { return parent::modify_form_process($uid); } protected function modify_process($uid): TrafficEntity { return parent::modify_process($uid); } protected function delete_process($uid): TrafficEntity { return parent::delete_process($uid); } protected function view_process($uid): TrafficEntity { return parent::view_process($uid); } }