Exemplo n.º 1
0
 public function actions(Request $request, $id)
 {
     if (!empty($id)) {
         $ui_module = new UiModule();
         $ui_module = $ui_module->find($id);
     }
     $params = \Input::all();
     if (!empty($params)) {
         //Recuperar os nomes das ações e realiza o tratamento para gravar
         foreach ($params['name'] as $module_id => $names) {
             foreach ($names as $key => $name) {
                 //Verificar se o nome da ação foi informado
                 if (!empty($name)) {
                     //Verifica se o registra já esta cadastrado
                     $ui_module_action = UiModuleAction::where('ui_module_id', '=', $module_id)->where('action', '=', $params['action'][$module_id][$key])->first();
                     if (!$ui_module_action) {
                         $ui_module_action = new UiModuleAction();
                     }
                     //Configura o model para gravar as informações
                     $ui_module_action->ui_module_id = $module_id;
                     $ui_module_action->name = $name;
                     $ui_module_action->link = $params['link'][$module_id][$key];
                     $ui_module_action->action = $params['action'][$module_id][$key];
                     $ui_module_action->save();
                 }
             }
         }
         return \Redirect::to('uiadmin/uimodule');
     }
     $methods_ignored = array('__construct', 'middleware', 'beforeFilter', 'afterFilter', 'parseFilter', 'registerClosureFilter', 'registerInstanceFilter', 'isInstanceFilter', 'forgetBeforeFilter', 'forgetAfterFilter', 'removeFilter', 'getMiddleware', 'getBeforeFilters', 'getAfterFilters', 'getRouter', 'setRouter', 'callAction', 'missingMethod', '__call', 'dispatch', 'dispatchFromArray', 'dispatchFrom', 'validate', 'validateWithBag', 'throwValidationException', 'buildFailedValidationResponse', 'formatValidationErrors', 'getRedirectUrl', 'getValidationFactory', 'withErrorBag', 'errorBag');
     //Configura o nome do controller
     $ui_controller_name = "Modules\\{$ui_module->module}\\Http\\Controllers\\{$ui_module->module}" . "Controller";
     //Instacia o controller
     $ui_module_controller = new $ui_controller_name($request);
     //Recupera todos os metodos do controlador informado
     $controller_actions = get_class_methods($ui_module_controller);
     //Lista de controllers da aplicacao
     $ui_module_controller_actions = array();
     foreach ($controller_actions as $controller_action) {
         if (!in_array($controller_action, $methods_ignored)) {
             $ui_module_action = UiModuleAction::where('ui_module_id', '=', $ui_module->id)->where('action', '=', $controller_action)->first();
             $ob_ui_module_action = (object) null;
             if ($ui_module_action) {
                 $ob_ui_module_action = (object) $ui_module_action->toArray();
             } else {
                 $ob_ui_module_action->id = '';
                 $ob_ui_module_action->name = $controller_action;
                 $ob_ui_module_action->link = $ui_module->route . '/' . $controller_action;
                 $ob_ui_module_action->action = $controller_action;
             }
             array_push($ui_module_controller_actions, $ob_ui_module_action);
         }
     }
     $this->_dataView['ui_module_controller_actions'] = $ui_module_controller_actions;
     $this->_dataView['ui_module'] = $ui_module;
     $this->_dataView['module_action'] = 'Ações';
     return view('uimodule::actions', $this->_dataView);
 }