Пример #1
0
 /**
  * ロールマスタのデータをJSON形式で返す
  * @access public
  * @return array ロールマスタ
  * @see Admin_ActionClass::perform()
  */
 public function perform()
 {
     // get request params ( search )
     $role_name = $this->af->get('role_name');
     $keyword = $this->af->get('keyword');
     // get request params ( pager )
     $limit = $this->af->get('limit');
     $page = $this->af->get('page');
     $order = $this->af->get('order');
     $column = $this->af->get('column');
     // get session params
     $company_id = $this->session->get('company_id');
     // pager setting
     $start_page = ($page - 1) * $limit + 1;
     $end_page = ($page - 1) * $limit + $limit;
     try {
         $params = array('role_name' => $role_name, 'keyword' => $keyword, 'company_id' => $company_id, 'limit' => $limit, 'page' => $page, 'order' => $order, 'column' => $column, 'start_page' => $start_page, 'end_page' => $end_page);
         // ロールマスタ取得
         $list = DaoFactory::RoleMst()->getRoleMstList($params)->fetchAll();
         foreach ($list as &$role) {
             // ロールIDごとの各マスタ権限を取得する
             $role['ROLE_SUMMARY'] = DaoFactory::MenuMst()->getMstAndD2Count(array('company_id' => $company_id, 'role_id' => $role['ROLE_ID']))->fetchAll();
         }
         // ページ情報を設定
         $pager = array('result_page' => $page, 'result_start_num' => $start_page, 'result_end_num' => $end_page, 'result_all_count' => count($list) ? $list[0]['FOUND_ROWS'] : 0, 'result_get_count' => count($list), 'result_limit' => $limit);
         // output にセット
         $output['totalData'] = array();
         $output['listData'] = $list;
         $output['pagerData'] = $pager;
     } catch (Exception $e) {
         // 致命的なエラーが発生
         return array('500', $e->getMessage());
     }
     return array('json', $output);
 }
Пример #2
0
 /**
  * ビューの処理を実行する
  * @access public
  * @see Admin_ViewClass::preforward()
  */
 function preforward()
 {
     // get session params
     $company_id = $this->session->get('company_id');
     // 最上位メニュー params 設定
     $params = array('company_id' => $company_id);
     // 最上位メニューを取得( menu_idで昇順ソートすること。レコード部とバインドできなくなる)
     $topMenuList = DaoFactory::MenuMst()->Select(' company_id = ? and parent_id is null order by menu_id asc ', $params)->fetchAll();
     // smarty にセット
     $this->af->setApp('role_menu', $topMenuList);
 }
Пример #3
0
 /**
  * ビューの処理を実行する
  * @access public
  * @see Admin_ViewClass::preforward()
  */
 function preforward()
 {
     // get session params
     $company_id = $this->session->get('company_id');
     // 最上位メニュー params 設定
     $params = array('company_id' => $company_id);
     // 最上位メニューを取得
     $topMenuList = DaoFactory::MenuMst()->Select(' company_id = ? and parent_id is null order by menu_id asc ', $params)->fetchAll();
     // 最上位メニューの子供を取得
     if (!empty($topMenuList)) {
         foreach ($topMenuList as $key => &$topMenu) {
             $params = array('company_id' => $company_id, 'parent_id' => $topMenu['MENU_ID']);
             $topMenu['children'] = DaoFactory::MenuMst()->Select(' company_id = ? and parent_id = ? order by menu_id asc ', $params)->fetchAll();
         }
     }
     // smarty 変数にセット
     $this->af->setApp('role_menu', $topMenuList);
 }
Пример #4
0
 public function _setDefault(&$renderer)
 {
     // get session params
     $company_id = $this->session->get('company_id');
     $user_id = $this->session->get('user_id');
     $kengen_flg = $this->session->get('kengen_flg');
     // su?
     if ($kengen_flg == Konst::KENGEN_FLG_SUPER) {
         // get menu mst
         $top_menu = DaoFactory::MenuMst()->Select(' company_id = ? and parent_id is null ORDER BY MENU_ID ', array('company_id' => $company_id))->fetchAll();
         // get menu
         $global_menu = array();
         foreach ($top_menu as $menu) {
             $params = array('company_id' => $company_id, 'parent_id' => $menu['MENU_ID']);
             $child_menu = DaoFactory::MenuMst()->Select(' company_id = ? AND parent_id = ? ORDER BY MENU_ID ', $params)->fetchAll();
             if (!empty($child_menu)) {
                 $global_menu[$menu['MENU_ID']]['child_menu'] = $child_menu;
                 $global_menu[$menu['MENU_ID']]['top_menu_name'] = $menu['MENU_NAME'];
             }
         }
     } else {
         // get user
         $params = array('company_id' => $company_id, 'user_id' => $user_id);
         $user = DaoFactory::UserMst()->Retrieve(' company_id = ? and user_id = ? and del_flg = 0 ', $params);
         $user_role_id = $user['ROLE_ID'];
         // get menu mst
         $top_menu = DaoFactory::MenuMst()->Select(' company_id = ? and parent_id is null ORDER BY MENU_ID ', array('company_id' => $company_id))->fetchAll();
         // get menu
         $global_menu = array();
         foreach ($top_menu as $menu) {
             $params = array('company_id' => $company_id, 'role_id' => $user_role_id, 'parent_id' => $menu['MENU_ID']);
             $child_menu = DaoFactory::MenuRoleD()->getMenuRoleDAtParentIdByRoleIdAndParentId($params)->fetchAll();
             if (!empty($child_menu)) {
                 $global_menu[$menu['MENU_ID']]['child_menu'] = $child_menu;
                 $global_menu[$menu['MENU_ID']]['top_menu_name'] = $menu['MENU_NAME'];
             }
         }
     }
     // Renderer からテンプレートエンジンを取得
     $smarty =& $renderer->getEngine();
     $smarty->assign('global_menu', $global_menu);
 }
Пример #5
0
 /**
  * ロールマスタのデータをJSON形式で返す
  * @access public
  * @return array ロールマスタ
  * @see Admin_ActionClass::perform()
  */
 public function perform()
 {
     // get request params ( search )
     $role_id = $this->af->get('role_id');
     // get session params
     $company_id = $this->session->get('company_id');
     try {
         // 最上位メニュー params 設定
         $params = array('company_id' => $company_id);
         // 最上位メニューを取得
         $topMenuList = DaoFactory::MenuMst()->Select(' company_id = ? and parent_id is null order by menu_id asc ', $params)->fetchAll();
         $role = array();
         // 最上位メニューの子供を取得
         if (!empty($topMenuList)) {
             foreach ($topMenuList as $key => &$topMenu) {
                 // チェックされているレコードを取得
                 $params = array('company_id' => $company_id, 'role_id' => $role_id, 'parent_id' => $topMenu['MENU_ID']);
                 $enable_list = DaoFactory::RoleMst()->getRoleMstDetail($params)->fetchAll();
                 foreach ($enable_list as $val) {
                     $role["child_menu_id_arr[{$topMenu['MENU_ID']}][{$val['MENU_ID']}]"] = 1;
                 }
             }
         }
         // DAO パラメータ定義
         $params = array('company_id' => $company_id, 'role_id' => $role_id);
         // 詳細を取得
         $detail = DaoFactory::RoleMst()->Retrieve(' company_id = ? AND role_id = ? ', $params);
         $detail = array_change_key_case(array_merge($detail, $role));
         // output にセット
         $output['totalData'] = array();
         $output['listData'] = $detail;
         $output['pagerData'] = array();
     } catch (Exception $e) {
         // 致命的なエラーが発生
         return array('500', $e->getMessage());
     }
     return array('json', $output);
 }