diff --git a/app/Controllers/Admin/AdminController.php b/app/Controllers/Admin/AdminController.php index b9213de..1120a0a 100644 --- a/app/Controllers/Admin/AdminController.php +++ b/app/Controllers/Admin/AdminController.php @@ -2,11 +2,19 @@ namespace App\Controllers\Admin; -use App\Controllers\CommonController; -use CodeIgniter\HTTP\RequestInterface; -use CodeIgniter\HTTP\ResponseInterface; use Psr\Log\LoggerInterface; +use CodeIgniter\HTTP\ResponseInterface; +use CodeIgniter\HTTP\RequestInterface; +use CodeIgniter\HTTP\RedirectResponse; +use App\Entities\CommonEntity; +use App\Controllers\CommonController; +use CodeIgniter\Validation\Exceptions\ValidationException; +use CodeIgniter\HTTP\DownloadResponse; +use PhpOffice\PhpSpreadsheet\IOFactory; +use PhpOffice\PhpSpreadsheet\Reader\Html; +use PhpOffice\PhpSpreadsheet\Writer\Pdf\Mpdf; + abstract class AdminController extends CommonController { public const PATH = 'admin'; @@ -19,4 +27,182 @@ abstract class AdminController extends CommonController { return self::PATH; } + + protected function create_form_process(array $formDatas = []): array + { + return $formDatas; + } + final public function create_form(): string + { + $action = __FUNCTION__; + try { + //초기화 + $this->action_init_process($action); + $this->addViewDatas('formDatas', $this->create_form_process()); + } catch (\Exception $e) { + log_message('error', $e->getMessage()); + session()->setFlashdata('message', $e->getMessage()); + } + return $this->action_render_process($this->getActionPaths(), $action, $this->getViewDatas()); + } + abstract protected function create_process(): RedirectResponse; + final public function create(): RedirectResponse + { + $action = __FUNCTION__; + try { + //초기화 + $this->action_init_process($action); + return $this->create_process(); + } catch (ValidationException $e) { + // 검증 실패 시 폼으로 돌아가서 오류 메시지 표시 + log_message('error', $e->getMessage()); + return redirect()->back()->withInput()->with('message', $e->getMessage()); + } catch (\Exception $e) { + log_message('error', $e->getMessage()); + return redirect()->back()->withInput()->with('message', $e->getMessage()); + } + } + protected function modify_form_process($uid): CommonEntity + { + if (!$uid) { + throw new \Exception("계정 번호가 정의 되지 않았습니다."); + } + $entity = $this->service->getEntity($uid); + if (!$entity instanceof CommonEntity) { + throw new \Exception("{$uid}에 해당하는 계정을 찾을수 없습니다."); + } + return $entity; + } + final public function modify_form($uid): string + { + $action = __FUNCTION__; + try { + //초기화 + $this->action_init_process($action); + $entity = $this->modify_form_process($uid); + $this->addViewDatas('entity', $entity); + } catch (\Exception $e) { + log_message('error', $e->getMessage()); + session()->setFlashdata('message', $e->getMessage()); + } + return $this->action_render_process($this->getActionPaths(), $action, $this->getViewDatas()); + } + abstract protected function modify_process($uid): RedirectResponse; + final public function modify($uid): RedirectResponse + { + $action = __FUNCTION__; + try { + //초기화 + $this->action_init_process($action); + return $this->modify_process($uid); + } catch (ValidationException $e) { + // 검증 실패 시 폼으로 돌아가서 오류 메시지 표시 + log_message('error', $e->getMessage()); + return redirect()->back()->withInput()->with('message', $e->getMessage()); + } catch (\Exception $e) { + log_message('error', $e->getMessage()); + return redirect()->back()->withInput()->with('message', $e->getMessage()); + } + } + //리스트관련 + //조건절 처리 + protected function index_condition_process(): void + { + //Filter조건절 처리 + $index_filters = []; + foreach ($this->service->getFormFilters() as $field) { + $value = $this->request->getVar($field) ?? null; + if ($value) { + $this->service->index_condition_filterField($field, $value); + $index_filters[$field] = $value; + } + } + $this->addViewDatas('index_filters', $index_filters); + //검색어조건절 처리 + $index_word = $this->request->getVar('index_word'); + if ($index_word !== null && $index_word !== '') { + $this->service->index_condition_filterWord($index_word); + } + $this->addViewDatas('index_word', $index_word); + //날자검색 + $index_start = $this->request->getVar('index_start'); + $index_end = $this->request->getVar('index_end'); + if ($index_start !== null && $index_start !== '' && $index_end !== null && $index_end !== '') { + $this->service->index_condition_filterDate($index_start, $index_end); + } + $this->addViewDatas('index_start', $index_start); + $this->addViewDatas('index_end', $index_end); + } + // //PageNation 처리 + // protected function index_pagenation_process($pager_group = 'default', int $segment = 0, $template = 'bootstrap_full') + // { + // //Page, Per_page필요부분 + // $this->page = (int) $this->request->getVar('page') ?: 1; + // $this->per_page = (int) $this->request->getVar('per_page') ?: intval(DEFAULT_LIST_PERPAGE ?? 20); + // // 1.Views/Pagers/에 bootstrap_full.php,bootstrap_simple.php 생성 + // // 2.app/Config/Pager.php/$templates에 'bootstrap_full => 'Pagers\bootstrap_full', + // // 'bootstrap_simple' => 'Pagers\bootstrap_simple', 추가 + // $pager = service("pager"); + // $pager->makeLinks($this->page, $this->per_page, $this->total_count, $template, $segment, $pager_group); + // $this->page = $pager->getCurrentPage($pager_group); + // $this->total_page = $pager->getPageCount($pager_group); + // return $pager->links($pager_group, $template); + // } + // //Page출력 처리 + // protected function index_pageOptions_process(): array + // { + // $page_options = ["" => "줄수선택"]; + // for ($i = $this->per_page; $i <= $this->total_count; $i += $this->per_page) { + // $page_options[$i] = $i; + // } + // $page_options[$this->total_count] = $this->total_count; + // return $page_options; + // } + // //Entities처리 + // protected function index_process(array $entities = []): array + // { + // foreach ($this->service->getEntities() as $entity) { + // $entities[] = $entity; + // } + // return $entities; + // } + // public function index(): RedirectResponse|string + // { + // try { + // $this->service->setAction(__FUNCTION__); + // $this->service->setFormFields(); + // //전달값정의 + // $this->service->setFormDatas($this->request->getGet()); + // $this->service->setFormFilters(); + // $this->service->setFormRules(); + // $this->service->setFormOptions(); + // //일괄작업용 Fields정의 + // $this->service->setControlDatas('batchjob_fields', $this->service->getBatchjobFields()); + // //일괄작업용 버튼정의 + // $this->service->setControlDatas('batchjob_buttions', $this->service->getBatchjobButtons()); + // helper(['form']); + // //Return Url정의 + // $this->getMyAuth()->pushCurrentUrl($this->request->getUri()->getPath() . ($this->request->getUri()->getQuery() ? "?" . $this->request->getUri()->getQuery() : "")); + // //조건절 처리 + // $this->index_condition_process(); + // //TotalCount (SoftDelete적용이 되려면 countAllResults를 사용해야함) + // $this->total_count = $this->service->getTotalCount(); + // //Pagination 처리 + // $this->pagination = $this->index_pagenation_process(); + // //줄수 처리용 + // $this->page_options = $this->index_pageOptions_process(); + // //조건절 처리 + // //OrcerBy , Limit 처리 + // $this->order_field = $this->request->getVar('order_field'); + // $this->order_value = $this->request->getVar('order_value'); + // $this->service->setOrderBy($this->order_field, $this->order_value); + // $this->service->setLimit($this->per_page); + // $this->service->setOffset(($this->page - 1) * $this->per_page); + // $this->index_condition_process(); + // $this->entities = $this->index_process(); + // return $this->getResultSuccess(); + // } catch (\Exception $e) { + // return $this->getResultFail($e->getMessage()); + // } + // } } diff --git a/app/Controllers/Admin/UserController.php b/app/Controllers/Admin/UserController.php index 2de4b42..d45421a 100644 --- a/app/Controllers/Admin/UserController.php +++ b/app/Controllers/Admin/UserController.php @@ -33,28 +33,13 @@ class UserController extends AdminController return parent::getFormRule($action, $field, $rule); } //Action작업관련 - protected function create_form_process(): void - { - new UserDTO($this->request->getPost()); - } protected function create_process(): RedirectResponse { //요청 데이터를 DTO 객체로 변환 $dto = new UserDTO($this->request->getPost()); $entity = $this->service->create($dto); $redirect_url = $this->getAuthContext()->popPreviousUrl() ?? implode(DIRECTORY_SEPARATOR, $this->getActionPaths()); - return redirect()->to($redirect_url)->with('success', "{$entity->getTitle()} 계정 생성이 완료되었습니다."); - } - protected function modify_form_process($uid): void - { - if (!$uid) { - throw new \Exception("계정 번호가 정의 되지 않았습니다."); - } - $entity = $this->service->getEntity($uid); - if (!$entity instanceof UserEntity) { - throw new \Exception("{$uid}에 해당하는 계정을 찾을수 없습니다."); - } - $this->addViewDatas('entity', $entity); + return redirect()->to($redirect_url)->with('message', "{$entity->getTitle()} 계정 생성이 완료되었습니다."); } protected function modify_process($uid): RedirectResponse { @@ -69,6 +54,6 @@ class UserController extends AdminController $dto = new UserDTO($this->request->getPost()); $entity = $this->service->modify($entity, $dto); $redirect_url = $this->getAuthContext()->popPreviousUrl() ?? implode(DIRECTORY_SEPARATOR, $this->getActionPaths()); - return redirect()->to($redirect_url)->with('success', "{$entity->getTitle()} 계정 수정이 완료되었습니다."); + return redirect()->to($redirect_url)->with('message', "{$entity->getTitle()} 계정 수정이 완료되었습니다."); } } diff --git a/app/Controllers/Auth/AuthController.php b/app/Controllers/Auth/AuthController.php index 8cd4e81..096cbd9 100644 --- a/app/Controllers/Auth/AuthController.php +++ b/app/Controllers/Auth/AuthController.php @@ -23,25 +23,17 @@ abstract class AuthController extends CommonController abstract protected function logout_process(): void; //로그인화면 - public function login_form_process(): void {} final public function login_form(): string|RedirectResponse { $action = __FUNCTION__; try { //초기화 $this->action_init_process($action); - $this->login_form_process(); - $this->action_render_process($action); } catch (\Exception $e) { - $this->addViewDatas(self::ACTION_RESULT, 'error'); - $this->addViewDatas(self::ACTION_MESSAGE, $e->getMessage()); - //오류발생시 리디렉션 대신 폼 뷰를 다시 렌더링하도록 action_view_process 호출 + log_message('error', $e->getMessage()); + session()->setFlashdata('message', $e->getMessage()); } - return $this->action_result_process( - $this->getActionPaths(), - $action, - $this->getViewDatas() - ); + return $this->action_render_process($this->getActionPaths(), $action, $this->getViewDatas()); } //로그인처리 final public function login(): RedirectResponse @@ -51,15 +43,15 @@ abstract class AuthController extends CommonController $this->action_init_process($action); $this->login_process(); $redirect_url = $this->getAuthContext()->popPreviousUrl() ?? implode(DIRECTORY_SEPARATOR, $this->getActionPaths()); - return redirect()->to($redirect_url)->with('success', MESSAGES['LOGIN']); + return redirect()->to($redirect_url)->with('message', MESSAGES['LOGIN']); } catch (ValidationException $e) { // 검증 실패 시 폼으로 돌아가서 오류 메시지 표시 log_message('error', $e->getMessage()); - return redirect()->back()->withInput()->with('error', $e->getMessage()); + return redirect()->back()->withInput()->with('message', $e->getMessage()); } catch (\Exception $e) { log_message('error', $e->getMessage()); - return redirect()->back()->withInput()->with('error', $e->getMessage()); - // return redirect()->to($this->getMyAuth()->popPreviousUrl())->with('error', $e->getMessage()); + return redirect()->back()->withInput()->with('message', $e->getMessage()); + // return redirect()->to($this->getMyAuth()->popPreviousUrl())->with('message', $e->getMessage()); } } //로그아웃 @@ -69,20 +61,10 @@ abstract class AuthController extends CommonController $this->logout_process(); // 홈페이지로 리다이렉트 $redirect_url = $this->getAuthContext()->popPreviousUrl() ?? "/"; - return redirect()->route($redirect_url)->with('error', MESSAGES['LOGOUT']); + return redirect()->route($redirect_url)->with('message', MESSAGES['LOGOUT']); } catch (\Exception $e) { log_message("error", $e->getMessage()); - return redirect()->back()->withInput()->with('error', "로그아웃 중 오류가 발생했습니다."); + return redirect()->back()->withInput()->with('message', "로그아웃 중 오류가 발생했습니다."); } } - final protected function create_form_process(): void {} - final protected function create_process(): RedirectResponse - { - return redirect()->to('/'); - } - final protected function modify_form_process($uid): void {} - final protected function modify_process($uid): RedirectResponse - { - return redirect()->to('/'); - } } diff --git a/app/Controllers/CommonController.php b/app/Controllers/CommonController.php index be18ada..efeb721 100644 --- a/app/Controllers/CommonController.php +++ b/app/Controllers/CommonController.php @@ -6,21 +6,13 @@ use App\Controllers\BaseController; use App\DTOs\CertificationDTO; use App\Libraries\AuthContext; use App\Traits\LogTrait; -use CodeIgniter\HTTP\DownloadResponse; -use CodeIgniter\HTTP\RedirectResponse; use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; -use CodeIgniter\Validation\Exceptions\ValidationException; -use PhpOffice\PhpSpreadsheet\IOFactory; -use PhpOffice\PhpSpreadsheet\Reader\Html; -use PhpOffice\PhpSpreadsheet\Writer\Pdf\Mpdf; use Psr\Log\LoggerInterface; abstract class CommonController extends BaseController { use LogTrait; - const ACTION_RESULT = "action_result"; - const ACTION_MESSAGE = "action_message"; private array $_action_paths = []; private array $_viewDatas = []; protected $service = null; @@ -87,17 +79,13 @@ abstract class CommonController extends BaseController $this->addViewDatas('action', $action); $this->addViewDatas('myCertification', $this->myCertification); $this->addViewDatas('layout', $this->getLayout()); - $this->addViewDatas('serviceForm', $this->service->getFormService()); + $this->addViewDatas('helper', $this->service->getHelper($action, $this->getViewDatas())); $this->addViewDatas('formFields', $this->service->getFormService()->getFormFields($action)); $this->addViewDatas('formFilters', $this->service->getFormService()->getFormFilters($action)); $this->addViewDatas('formRules', $this->service->getFormService()->getFormRules($action)); $this->addViewDatas('formOptions', $this->service->getFormService()->getFormOptions($action)); } - protected function action_render_process(string $action): void - { - $this->addViewDatas('helper', $this->service->getHelper($action, $this->getViewDatas())); - } - protected function action_result_process(array $view_paths, string $view_file, array $viewDatas): string + protected function action_render_process(array $view_paths, string $view_file, array $viewDatas): string { $lastest_path = array_pop($view_paths); //paths는 마지막을 뺀 앞단까지만 남음 // ✅ 중간 안내 화면으로 @@ -118,183 +106,4 @@ abstract class CommonController extends BaseController helper(['form', __FUNCTION__]); return view($full_path, ['viewDatas' => $view_datas]); } - protected function create_form_process(): void {} - final public function create_form(): string - { - $action = __FUNCTION__; - try { - //초기화 - $this->action_init_process($action); - $this->create_form_process(); - $this->action_render_process($action); - // dd($this->getViewDatas()); - } catch (\Exception $e) { - log_message('error', $e->getMessage()); - $this->addViewDatas(self::ACTION_RESULT, 'error'); - $this->addViewDatas(self::ACTION_MESSAGE, $e->getMessage()); - //오류발생시 리디렉션 대신 폼 뷰를 다시 렌더링하도록 action_view_process 호출 - } - return $this->action_result_process( - $this->getActionPaths(), - $action, - $this->getViewDatas() - ); - } - abstract protected function create_process(): RedirectResponse; - final public function create(): RedirectResponse - { - $action = __FUNCTION__; - try { - //초기화 - $this->action_init_process($action); - return $this->create_process(); - } catch (ValidationException $e) { - // 검증 실패 시 폼으로 돌아가서 오류 메시지 표시 - log_message('error', $e->getMessage()); - return redirect()->back()->withInput()->with('error', $e->getMessage()); - } catch (\Exception $e) { - log_message('error', $e->getMessage()); - return redirect()->back()->withInput()->with('error', $e->getMessage()); - } - } - abstract protected function modify_form_process($uid): void; - final public function modify_form($uid): string - { - $action = __FUNCTION__; - try { - //초기화 - $this->action_init_process($action); - $this->modify_form_process($uid); - $this->action_render_process($action); - // dd($this->getViewDatas()); - } catch (\Exception $e) { - log_message('error', $e->getMessage()); - $this->addViewDatas(self::ACTION_RESULT, 'error'); - $this->addViewDatas(self::ACTION_MESSAGE, $e->getMessage()); - //오류발생시 리디렉션 대신 폼 뷰를 다시 렌더링하도록 action_view_process 호출 - } - return $this->action_result_process( - $this->getActionPaths(), - $action, - $this->getViewDatas() - ); - } - abstract protected function modify_process($uid): RedirectResponse; - final public function modify($uid): RedirectResponse - { - $action = __FUNCTION__; - try { - //초기화 - $this->action_init_process($action); - return $this->modify_process($uid); - } catch (ValidationException $e) { - // 검증 실패 시 폼으로 돌아가서 오류 메시지 표시 - log_message('error', $e->getMessage()); - return redirect()->back()->withInput()->with('error', $e->getMessage()); - } catch (\Exception $e) { - log_message('error', $e->getMessage()); - return redirect()->back()->withInput()->with('error', $e->getMessage()); - } - } - //리스트관련 - //조건절 처리 - // protected function index_condition_process(): void - // { - // //Filter조건절 처리 - // $index_filters = []; - // foreach ($this->service->getFormFilters() as $field) { - // $value = $this->request->getVar($field) ?? null; - // if ($value) { - // $this->service->index_condition_filterField($field, $value); - // $index_filters[$field] = $value; - // } - // } - // $this->index_filters = $$index_filters; - // //검색어조건절 처리 - // $index_word = $this->request->getVar('index_word'); - // if ($index_word !== null && $index_word !== '') { - // $this->service->index_condition_filterWord($index_word); - // } - // $this->index_word = $index_word; - // //날자검색 - // $index_start = $this->request->getVar('index_start'); - // $index_end = $this->request->getVar('index_end'); - // if ($index_start !== null && $index_start !== '' && $index_end !== null && $index_end !== '') { - // $this->service->index_condition_filterDate($index_start, $index_end); - // } - // $this->service->setControlDatas('index_start', $index_start); - // $this->service->setControlDatas('index_end', $index_end); - // } - // //PageNation 처리 - // protected function index_pagenation_process($pager_group = 'default', int $segment = 0, $template = 'bootstrap_full') - // { - // //Page, Per_page필요부분 - // $this->page = (int) $this->request->getVar('page') ?: 1; - // $this->per_page = (int) $this->request->getVar('per_page') ?: intval(DEFAULT_LIST_PERPAGE ?? 20); - // // 1.Views/Pagers/에 bootstrap_full.php,bootstrap_simple.php 생성 - // // 2.app/Config/Pager.php/$templates에 'bootstrap_full => 'Pagers\bootstrap_full', - // // 'bootstrap_simple' => 'Pagers\bootstrap_simple', 추가 - // $pager = service("pager"); - // $pager->makeLinks($this->page, $this->per_page, $this->total_count, $template, $segment, $pager_group); - // $this->page = $pager->getCurrentPage($pager_group); - // $this->total_page = $pager->getPageCount($pager_group); - // return $pager->links($pager_group, $template); - // } - // //Page출력 처리 - // protected function index_pageOptions_process(): array - // { - // $page_options = ["" => "줄수선택"]; - // for ($i = $this->per_page; $i <= $this->total_count; $i += $this->per_page) { - // $page_options[$i] = $i; - // } - // $page_options[$this->total_count] = $this->total_count; - // return $page_options; - // } - // //Entities처리 - // protected function index_process(array $entities = []): array - // { - // foreach ($this->service->getEntities() as $entity) { - // $entities[] = $entity; - // } - // return $entities; - // } - // public function index(): RedirectResponse|string - // { - // try { - // $this->service->setAction(__FUNCTION__); - // $this->service->setFormFields(); - // //전달값정의 - // $this->service->setFormDatas($this->request->getGet()); - // $this->service->setFormFilters(); - // $this->service->setFormRules(); - // $this->service->setFormOptions(); - // //일괄작업용 Fields정의 - // $this->service->setControlDatas('batchjob_fields', $this->service->getBatchjobFields()); - // //일괄작업용 버튼정의 - // $this->service->setControlDatas('batchjob_buttions', $this->service->getBatchjobButtons()); - // helper(['form']); - // //Return Url정의 - // $this->getMyAuth()->pushCurrentUrl($this->request->getUri()->getPath() . ($this->request->getUri()->getQuery() ? "?" . $this->request->getUri()->getQuery() : "")); - // //조건절 처리 - // $this->index_condition_process(); - // //TotalCount (SoftDelete적용이 되려면 countAllResults를 사용해야함) - // $this->total_count = $this->service->getTotalCount(); - // //Pagination 처리 - // $this->pagination = $this->index_pagenation_process(); - // //줄수 처리용 - // $this->page_options = $this->index_pageOptions_process(); - // //조건절 처리 - // //OrcerBy , Limit 처리 - // $this->order_field = $this->request->getVar('order_field'); - // $this->order_value = $this->request->getVar('order_value'); - // $this->service->setOrderBy($this->order_field, $this->order_value); - // $this->service->setLimit($this->per_page); - // $this->service->setOffset(($this->page - 1) * $this->per_page); - // $this->index_condition_process(); - // $this->entities = $this->index_process(); - // return $this->getResultSuccess(); - // } catch (\Exception $e) { - // return $this->getResultFail($e->getMessage()); - // } - // } } diff --git a/app/Filters/AuthFilter.php b/app/Filters/AuthFilter.php index d343720..0291e2e 100644 --- a/app/Filters/AuthFilter.php +++ b/app/Filters/AuthFilter.php @@ -33,14 +33,11 @@ class AuthFilter implements FilterInterface // 로그인 않했으면 if (!$authContext->isLoggedIn()) { $authContext->pushCurrentUrl($request->getUri()->getPath() . ($request->getUri()->getQuery() ? "?" . $request->getUri()->getQuery() : "")); - return redirect()->to(URLS['LOGIN'])->with('error', '로그인을하셔야합니다.'); + return redirect()->to(URLS['LOGIN'])->with('message', '로그인을하셔야합니다.'); } //User Role 비교 // 회원 ROLES이 필요ROLE($arguments) 목록에 존재하지 않으면(ACL) if (!$authContext->isAccessRole($arguments)) { - return redirect()->back()->with( - 'error', - "회원[{$authContext->getName()}]님은 접속에 필요한 권한이 없습니다. " - ); + return redirect()->back()->with('message', "회원[{$authContext->getName()}]님은 접속에 필요한 권한이 없습니다. "); } } diff --git a/app/Views/admin/create_form.php b/app/Views/admin/create_form.php index 5a7961c..c968e95 100644 --- a/app/Views/admin/create_form.php +++ b/app/Views/admin/create_form.php @@ -1,6 +1,6 @@ extend(LAYOUTS[$viewDatas['control']['layout']]['path']) ?> section('content') ?> -getHelper()->alertTrait($error) ?> +getHelper()->alertTrait($error) ?>
include("templates/{$viewDatas['control']['layout']}/form_content_top"); ?>
diff --git a/app/Views/admin/index.php b/app/Views/admin/index.php index d6224c3..cbde905 100644 --- a/app/Views/admin/index.php +++ b/app/Views/admin/index.php @@ -1,6 +1,6 @@ extend(LAYOUTS[$viewDatas['control']['layout']]['path']) ?> section('content') ?> -getHelper()->alertTrait($error) ?> +getHelper()->alertTrait($error) ?>
include(LAYOUTS[$viewDatas['control']['layout']]['path'] . '/top'); ?>
diff --git a/app/Views/admin/modify_form.php b/app/Views/admin/modify_form.php index 6006c52..8537df4 100644 --- a/app/Views/admin/modify_form.php +++ b/app/Views/admin/modify_form.php @@ -1,6 +1,6 @@ extend(LAYOUTS[$viewDatas['control']['layout']]['path']) ?> section('content') ?> -getHelper()->alertTrait($error) ?> +getHelper()->alertTrait($error) ?>
include("templates/{$viewDatas['control']['layout']}/form_content_top"); ?>
'action_form', ...$viewDatas['forms']['attributes']], $viewDatas['forms']['hiddens']) ?> diff --git a/app/Views/admin/popup/create_form.php b/app/Views/admin/popup/create_form.php index 5a7961c..c968e95 100644 --- a/app/Views/admin/popup/create_form.php +++ b/app/Views/admin/popup/create_form.php @@ -1,6 +1,6 @@ extend(LAYOUTS[$viewDatas['control']['layout']]['path']) ?> section('content') ?> -getHelper()->alertTrait($error) ?> +getHelper()->alertTrait($error) ?>
include("templates/{$viewDatas['control']['layout']}/form_content_top"); ?>
diff --git a/app/Views/admin/popup/index.php b/app/Views/admin/popup/index.php index cfac54c..124f783 100644 --- a/app/Views/admin/popup/index.php +++ b/app/Views/admin/popup/index.php @@ -1,6 +1,6 @@ extend(LAYOUTS[$viewDatas['control']['layout']]['path']) ?> section('content') ?> -getHelper()->alertTrait($error) ?> +getHelper()->alertTrait($error) ?>
diff --git a/app/Views/admin/popup/modify_form.php b/app/Views/admin/popup/modify_form.php index 790bf91..4af443c 100644 --- a/app/Views/admin/popup/modify_form.php +++ b/app/Views/admin/popup/modify_form.php @@ -1,6 +1,6 @@ extend(LAYOUTS[$viewDatas['control']['layout']]['path']) ?> section('content') ?> -getHelper()->alertTrait($error) ?> +getHelper()->alertTrait($error) ?>
include("templates/{$viewDatas['control']['layout']}/form_content_top"); ?>
diff --git a/app/Views/admin/popup/view.php b/app/Views/admin/popup/view.php index 66de450..f522046 100644 --- a/app/Views/admin/popup/view.php +++ b/app/Views/admin/popup/view.php @@ -1,6 +1,6 @@ extend(LAYOUTS[$viewDatas['control']['layout']]['path']) ?> section('content') ?> -getHelper()->alertTrait($error) ?> +getHelper()->alertTrait($error) ?>
diff --git a/app/Views/admin/user/create_form.php b/app/Views/admin/user/create_form.php index bda6804..6decfb5 100644 --- a/app/Views/admin/user/create_form.php +++ b/app/Views/admin/user/create_form.php @@ -1,6 +1,5 @@ extend(LAYOUTS[$viewDatas['control']['layout']]['path']) ?> section('content') ?> -alertTrait(session('error')) ?>
include("templates/{$viewDatas['control']['layout']}/form_content_top"); ?>
@@ -19,6 +18,7 @@
"btn btn-outline btn-primary")); ?>
+
include("templates/{$viewDatas['control']['layout']}/form_content_bottom"); ?>
endSection() ?> \ No newline at end of file diff --git a/app/Views/admin/user/index.php b/app/Views/admin/user/index.php index d6224c3..f4da558 100644 --- a/app/Views/admin/user/index.php +++ b/app/Views/admin/user/index.php @@ -1,70 +1,61 @@ extend(LAYOUTS[$viewDatas['control']['layout']]['path']) ?> section('content') ?> -getHelper()->alertTrait($error) ?> -
include(LAYOUTS[$viewDatas['control']['layout']]['path'] . '/top'); ?>
- + + +
include("{$layoutPath}/top"); ?>
- +
- - include(LAYOUTS[$viewDatas['control']['layout']]['path'] . '/left_menu'); ?> - - include("{$layoutPath}/left_menu"); ?> - -
include("templates/{$viewDatas['control']['layout']}/index_header"); ?>
+
include("{$layoutDir}/index_header"); ?>
- +
- "get"]) ?> - - + include("{$layoutDir}/index_content_filter"); ?> 'batchjob_form', 'method' => "post"]) ?> - - - + + - - getStatus() === $viewDatas['entity']::DEFAULT_STATUS ? "" : 'class="table-danger"' ?>> - - - - - + getStatus() === $entity::DEFAULT_STATUS; + $rowClass = $isDefaultStatus ? "" : 'class="table-danger"'; + $num = $viewDatas['total_count'] - (($viewDatas['page'] - 1) * $viewDatas['per_page'] + $cnt); + ?> + > + +
번호getHelper()->getListLabel($field, lang("{$viewDatas['class_path']}.label.{$field}"), $viewDatas) ?>getListLabel($field, lang("{$classPath}.label.{$field}"), $viewDatas) ?> 작업
getHelper()->getListButton('modify', $num, $viewDatas) ?>getHelper()->getFieldView($field, $entity->$field, $viewDatas) ?>
getListButton('modify', $num, $viewDatas) ?>getFieldView($field, $entity->$field, $viewDatas) ?> - getHelper()->getListButton('view', '', $viewDatas) ?>  - getHelper()->getListButton('delete', '', $viewDatas) ?> + getListButton('view', '', $viewDatas) ?>  + getListButton('delete', '', $viewDatas) ?>
- include("templates/{$viewDatas['control']['layout']}/index_content_bottom"); ?> + include("{$layoutDir}/index_content_bottom"); ?>
- +
-
include(LAYOUTS[$viewDatas['control']['layout']]['path'] . '/bottom'); ?>
+
include("{$layoutPath}/bottom"); ?>
endSection() ?> \ No newline at end of file diff --git a/app/Views/admin/user/modify_form.php b/app/Views/admin/user/modify_form.php index fe95971..2fbdd7d 100644 --- a/app/Views/admin/user/modify_form.php +++ b/app/Views/admin/user/modify_form.php @@ -1,6 +1,5 @@ extend(LAYOUTS[$viewDatas['control']['layout']]['path']) ?> section('content') ?> -alertTrait(session('error')) ?>
include("templates/{$viewDatas['control']['layout']}/form_content_top"); ?>
@@ -19,6 +18,7 @@
"btn btn-outline btn-primary")); ?>
+
include("templates/{$viewDatas['control']['layout']}/form_content_bottom"); ?>
endSection() ?> \ No newline at end of file diff --git a/app/Views/admin/user/view.php b/app/Views/admin/user/view.php index 66de450..f25ceb3 100644 --- a/app/Views/admin/user/view.php +++ b/app/Views/admin/user/view.php @@ -1,6 +1,6 @@ extend(LAYOUTS[$viewDatas['control']['layout']]['path']) ?> section('content') ?> -getHelper()->alertTrait($error) ?> +getHelper()->alertTrait($error) ?>
@@ -13,5 +13,6 @@
+
endSection() ?> \ No newline at end of file diff --git a/app/Views/admin/view.php b/app/Views/admin/view.php index 66de450..f522046 100644 --- a/app/Views/admin/view.php +++ b/app/Views/admin/view.php @@ -1,6 +1,6 @@ extend(LAYOUTS[$viewDatas['control']['layout']]['path']) ?> section('content') ?> -getHelper()->alertTrait($error) ?> +getHelper()->alertTrait($error) ?>
diff --git a/app/Views/auth/login/login_form.php b/app/Views/auth/login/login_form.php index 50c59b3..8142670 100644 --- a/app/Views/auth/login/login_form.php +++ b/app/Views/auth/login/login_form.php @@ -18,7 +18,7 @@ - has('error')): ?>
+
\ No newline at end of file diff --git a/app/Views/layouts/empty.php b/app/Views/layouts/empty.php index a57e896..e72cf3a 100644 --- a/app/Views/layouts/empty.php +++ b/app/Views/layouts/empty.php @@ -23,7 +23,7 @@ - getHelper()->alertTrait($error) ?> + getHelper()->alertTrait($error) ?>
renderSection('content') ?>
diff --git a/app/Views/layouts/front.php b/app/Views/layouts/front.php index 2a71313..f6554f2 100644 --- a/app/Views/layouts/front.php +++ b/app/Views/layouts/front.php @@ -23,7 +23,7 @@ - getHelper()->alertTrait($error) ?> + getHelper()->alertTrait($error) ?> renderSection('content') ?> diff --git a/app/Views/templates/admin/index_content_filter.php b/app/Views/templates/admin/index_content_filter.php new file mode 100644 index 0000000..a61a719 --- /dev/null +++ b/app/Views/templates/admin/index_content_filter.php @@ -0,0 +1,13 @@ + "get"]) ?> + + \ No newline at end of file