function Gerar() { // Primary key $this->campoOculto('cod_tipo_usuario', $this->cod_tipo_usuario); $this->campoTexto('nm_tipo', 'Tipo de Usuário', $this->nm_tipo, 40, 255, TRUE); $array_nivel = array('8' => 'Biblioteca', '4' => 'Escola', '2' => 'Institucional', '1' => 'Poli-institucional'); $this->campoLista('nivel', 'Nível', $array_nivel, $this->nivel); $this->campoMemo('descricao', 'Descrição', $this->descricao, 37, 5, FALSE); $this->campoRotulo('listagem_menu', '<b>Permissões de acesso aos menus</b>', ''); $objTemp = new clsBanco(); // cod menu 55 = ieducar, 57 = biblioteca (ambos sistema = ieducar (2) ) $objTemp->Consulta(' SELECT sub.cod_menu_submenu, sub.nm_submenu, m.nm_menu FROM menu_submenu sub, menu_menu m WHERE sub.ref_cod_menu_menu = m.cod_menu_menu AND ((m.cod_menu_menu = 55 OR m.ref_cod_menu_pai = 55) OR (m.cod_menu_menu = 69 OR m.ref_cod_menu_pai = 69) OR (m.cod_menu_menu = 68 OR m.ref_cod_menu_pai = 68) OR (m.cod_menu_menu = 7 OR m.ref_cod_menu_pai = 7) OR (m.cod_menu_menu = 23 OR m.ref_cod_menu_pai = 23) OR (m.cod_menu_menu = 5 OR m.ref_cod_menu_pai = 5) OR (m.cod_menu_menu = 25 OR m.ref_cod_menu_pai = 25) OR (m.cod_menu_menu = 38 OR m.ref_cod_menu_pai = 38) OR (m.cod_menu_menu = 56 OR m.ref_cod_menu_pai = 56) OR (m.cod_menu_menu = 57 OR m.ref_cod_menu_pai = 57)) ORDER BY cod_menu_menu, upper(sub.nm_submenu) '); while ($objTemp->ProximoRegistro()) { list($codigo, $nome, $menu_pai) = $objTemp->Tupla(); $opcoes[$menu_pai][$codigo] = $nome; } $array_opcoes = array('' => 'Selecione', 'M' => 'Marcar', 'U' => 'Desmarcar'); $array_opcoes_ = array('' => 'Selecione', 'M' => 'Marcar Todos', 'U' => 'Desmarcar Todos'); $this->campoLista('todos', 'Opções', $array_opcoes_, '', "selAction('-', '-', this)", FALSE, '', '', FALSE, FALSE); $script = "menu = [];\n"; foreach ($opcoes as $id_pai => $menu) { $this->campoQuebra(); $this->campoRotulo($id_pai, '<b>' . $id_pai . '-</b>', ''); $this->campoLista($id_pai . ' 1', 'Opções', $array_opcoes, '', "selAction('{$id_pai}', 'visualiza', this)", TRUE, '', '', FALSE, FALSE); $this->campoLista($id_pai . ' 2', 'Opções', $array_opcoes, '', "selAction('{$id_pai}', 'cadastra', this)", TRUE, '', '', FALSE, FALSE); $this->campoLista($id_pai . ' 3', 'Opções', $array_opcoes, '', "selAction('{$id_pai}', 'exclui', this)", FALSE, '', '', FALSE, FALSE); $script .= "menu['{$id_pai}'] = [];\n"; foreach ($menu as $id => $submenu) { $obj_menu_tipo_usuario = new clsPmieducarMenuTipoUsuario($this->cod_tipo_usuario, $id); $obj_menu_tipo_usuario->setCamposLista('cadastra', 'visualiza', 'exclui'); $obj_det = $obj_menu_tipo_usuario->detalhe(); if ($this->tipoacao == 'Novo') { $obj_det['visualiza'] = $obj_det['cadastra'] = $obj_det['exclui'] = 1; } $script .= "menu['{$id_pai}'][menu['{$id_pai}'].length] = {$id}; \n"; $this->campoOculto("permissoes[{$id}][id]", $id); /* alterado para campos não usar inline, pois por algum motivo os dois primeiros checkboxes não estavam funcionando devidamente */ // visualiza $options = array('label' => $submenu, 'value' => $obj_det['visualiza'], 'label_hint' => 'Visualizar', 'inline' => true); $this->inputsHelper()->checkbox("permissoes[{$id}][visualiza]", $options); // cadastra $options = array('label' => $submenu, 'value' => $obj_det['cadastra'], 'label_hint' => 'Cadastrar', 'inline' => true); $this->inputsHelper()->checkbox("permissoes[{$id}][cadastra]", $options); // excluir $options = array('label' => $submenu, 'value' => $obj_det['exclui'], 'label_hint' => 'Excluir'); $this->inputsHelper()->checkbox("permissoes[{$id}][exclui]", $options); } } echo '<script type="text/javascript">' . $script . '</script>'; }
function Gerar() { // Primary key $this->campoOculto('cod_tipo_usuario', $this->cod_tipo_usuario); $this->campoTexto('nm_tipo', 'Tipo de Usuário', $this->nm_tipo, 40, 255, TRUE); $array_nivel = array('8' => 'Biblioteca', '4' => 'Escola', '2' => 'Institucional', '1' => 'Poli-institucional'); $this->campoLista('nivel', 'Nível', $array_nivel, $this->nivel); $this->campoMemo('descricao', 'Descrição', $this->descricao, 37, 5, FALSE); $this->campoRotulo('listagem_menu', '<b>Permissões de acesso aos menus</b>', ''); $objTemp = new clsBanco(); $objTemp->Consulta(' SELECT sub.cod_menu_submenu, sub.nm_submenu, m.nm_menu FROM menu_submenu sub, menu_menu m WHERE sub.ref_cod_menu_menu = m.cod_menu_menu AND ((m.cod_menu_menu = 55 OR m.ref_cod_menu_pai = 55) OR (m.cod_menu_menu = 57 OR m.ref_cod_menu_pai = 57)) ORDER BY cod_menu_menu, upper(sub.nm_submenu) '); while ($objTemp->ProximoRegistro()) { list($codigo, $nome, $menu_pai) = $objTemp->Tupla(); $opcoes[$menu_pai][$codigo] = $nome; } $array_opcoes = array('' => 'Selecione', 'M' => 'Marcar', 'U' => 'Desmarcar'); $array_opcoes_ = array('' => 'Selecione', 'M' => 'Marcar Todos', 'U' => 'Desmarcar Todos'); $this->campoLista('todos', 'Opções', $array_opcoes_, '', "selAction('-', '-', this)", FALSE, '', '', FALSE, FALSE); $script = "menu = [];\n"; foreach ($opcoes as $id_pai => $menu) { $this->campoQuebra(); $this->campoRotulo($id_pai, '<b>' . $id_pai . '-</b>', ''); $this->campoLista($id_pai . ' 1', 'Opções', $array_opcoes, '', "selAction('{$id_pai}', 'visualiza', this)", TRUE, '', '', FALSE, FALSE); $this->campoLista($id_pai . ' 2', 'Opções', $array_opcoes, '', "selAction('{$id_pai}', 'cadastra', this)", TRUE, '', '', FALSE, FALSE); $this->campoLista($id_pai . ' 3', 'Opções', $array_opcoes, '', "selAction('{$id_pai}', 'exclui', this)", FALSE, '', '', FALSE, FALSE); $script .= "menu['{$id_pai}'] = [];\n"; foreach ($menu as $id => $submenu) { $obj_menu_tipo_usuario = new clsPmieducarMenuTipoUsuario($this->cod_tipo_usuario, $id); $obj_menu_tipo_usuario->setCamposLista('cadastra', 'visualiza', 'exclui'); $obj_det = $obj_menu_tipo_usuario->detalhe(); if ($this->tipoacao == 'Novo') { $obj_det['visualiza'] = $obj_det['cadastra'] = $obj_det['exclui'] = 1; } $script .= "menu['{$id_pai}'][menu['{$id_pai}'].length] = {$id}; \n"; $this->campoCheck("permissoes[{$id}][visualiza]", $submenu, $obj_det['visualiza'], 'Visualizar', TRUE, FALSE); $this->campoCheck("permissoes[{$id}][cadastra]", $submenu, $obj_det["cadastra"], 'Cadastrar', TRUE); $this->campoCheck("permissoes[{$id}][exclui]", $submenu, $obj_det['exclui'], 'Excluir', FALSE); $this->campoOculto("permissoes[{$id}][id]", $id); } } echo '<script type="text/javascript">' . $script . '</script>'; }