public function permission($id) { if (!empty($id)) { $ui_profile = new UiProfile(); $ui_profile = $ui_profile->find($id); $this->_dataView['ui_profile'] = $ui_profile; } $params = \Input::all(); if (!empty($params)) { foreach ($params['permissions'] as $module => $actions) { //Recupera o modulo selecionado $ui_module = UiModule::where('module', '=', $module)->first(); //Apaga todas as permissões do módulo selecionado \DB::table('ui_acl')->where('ui_profile_id', '=', $ui_profile->id)->whereRaw('ui_module_action_id IN (SELECT id FROM ui_module_action WHERE ui_module_id = ' . $ui_module->id . ')')->delete(); foreach ($actions as $ui_module_action_id => $action) { $ui_acl = new UiAcl(); $ui_acl->ui_profile_id = $ui_profile->id; $ui_acl->ui_module_action_id = $ui_module_action_id; $ui_acl->save(); } } return \Redirect::to('uiadmin/uiprofile'); } $ui_modules = UiModule::all(); $ar_ui_modules = array(); foreach ($ui_modules as $ui_module) { $ui_module_action = UiModuleAction::where('ui_module_id', '=', $ui_module->id)->get(); $ar_module_action = array(); foreach ($ui_module_action as $module_action) { $ob_module_action = (object) $module_action->toArray(); $ui_acl = UiAcl::where('ui_profile_id', '=', $ui_profile->id)->where('ui_module_action_id', '=', $module_action->id)->first(); if (!empty($ui_acl)) { $ob_module_action->exists = true; } else { $ob_module_action->exists = false; } array_push($ar_module_action, $ob_module_action); } $ob_ui_mobile = (object) $ui_module->toArray(); $ob_ui_mobile->actions = $ar_module_action; array_push($ar_ui_modules, $ob_ui_mobile); } $ui_modules = $ar_ui_modules; $this->_dataView['ui_modules'] = $ui_modules; $this->_dataView['module_action'] = 'Permissões'; return view('uiprofile::permission', $this->_dataView); }