Ejemplo n.º 1
0
 public function editarAcao($idAcao = 0)
 {
     $sqlPermissao = new SqlPermissaoUsuario();
     $acaoTipoUsuario = $sqlPermissao->listarAcaoTipoUsuario($idAcao);
     if ($_SERVER['REQUEST_METHOD'] == "POST") {
         try {
             // View::validarFormAntInjection('formCadAcao');
             View::validarHashIdForm($this->input->post('acao'));
             $acao = new Acao();
             $acao->set_pk_acao((int) $this->input->post('acao'));
             $acao->set_modulo($this->input->post('modulo'));
             $acao->set_controle($this->input->post('controle'));
             $acao->set_metodo($this->input->post('metodo'));
             $acao->set_titulo_modulo($this->input->post('tModulo'));
             $acao->set_titulo_metodo($this->input->post('tMetodo'));
             $acao->set_privado($this->input->post('privado'));
             if ($this->input->post('tu')) {
                 $arrTipoUsuario = array();
                 foreach ($this->input->post('tu') as $key => $tipo) {
                     if (isset($tipo['checado']) && $tipo['checado'] == 1) {
                         $tipoUsuario = new TipoUsuario();
                         $tipoUsuario->set_idTipoUsuario($key);
                         $arrPermissao = array();
                         $arrPermissao['visualizar'] = isset($tipo['visualizar']) && $tipo['visualizar'] == 1 ? 1 : 0;
                         $arrPermissao['cadastrar'] = isset($tipo['cadastrar']) && $tipo['cadastrar'] == 1 ? 1 : 0;
                         $arrPermissao['editar'] = isset($tipo['editar']) && $tipo['editar'] == 1 ? 1 : 0;
                         $arrPermissao['excluir'] = isset($tipo['excluir']) && $tipo['excluir'] == 1 ? 1 : 0;
                         $tipoUsuario->set_permissao($arrPermissao);
                         $arrTipoUsuario[] = $tipoUsuario;
                     }
                 }
                 $acao->set_tipo_usuario($arrTipoUsuario);
             }
             $acao->salvar();
             $this->setMsg('<p class="alert ok">Salvo com sucesso!</p>');
             $this->listarAcao();
             return false;
         } catch (Exception $e) {
             $msg = '<p class="alert erro">' . $e->getMessage() . '</p>';
         }
     }
     $data = $this->getParametroVisao();
     $data['page'] = 'home';
     $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
     $data['msg'] = $this->getMsg();
     $data['abaAtiva'] = 2;
     $data['abaPage'] = 'editarAcao';
     $this->load->library('table');
     $tmpl = array('table_open' => '<table class="table">');
     $this->table->set_template($tmpl);
     $this->table->set_heading('Nome', 'Permissão');
     $i = 1;
     foreach ($acaoTipoUsuario as $tu) {
         if ((int) $tu['fk_tipo_usuario'] > 0 && $i == 1) {
             $i++;
             $data['acao'] = $tu;
         }
         $arrTu = array();
         $checado = $tu['visualizar'] == 1 || $tu['cadastrar'] == 1 || $tu['editar'] == 1 || $tu['excluir'] == 1 || (int) $tu['fk_tipo_usuario'] > 0 ? 'checked="checked"' : '';
         $arrTu[] = '<input type="checkbox" name="tu[' . $tu['pk_tipo_usuario'] . '][checado]" ' . $checado . ' value="1"/> ' . $tu['tipo_usuario_nome'];
         $arrTu[] = '<input type="checkbox" name="tu[' . $tu['pk_tipo_usuario'] . '][visualizar]" ' . ($tu['visualizar'] == 1 ? 'checked="checked"' : '') . ' value="1"/>Visualizar&nbsp;&nbsp;&nbsp;
                     <input type="checkbox" name="tu[' . $tu['pk_tipo_usuario'] . '][cadastrar]" ' . ($tu['cadastrar'] == 1 ? 'checked="checked"' : '') . ' value="1"/>Cadastrar&nbsp;&nbsp;&nbsp;
                     <input type="checkbox" name="tu[' . $tu['pk_tipo_usuario'] . '][editar]" ' . ($tu['editar'] == 1 ? 'checked="checked"' : '') . ' value="1"/>Editar&nbsp;&nbsp;&nbsp;
                     <input type="checkbox" name="tu[' . $tu['pk_tipo_usuario'] . '][excluir]" ' . ($tu['excluir'] == 1 ? 'checked="checked"' : '') . ' value="1"/>Excluir';
         $this->table->add_row($arrTu);
     }
     $this->load->view($this->load->getUrlTema(), $data);
 }