/** * @abstract Monta o formulário em cima do grupo selecionado * @param $grp_cod * @return String */ public function getFormulario($grp_cod) { $l = Sistema_Layout::instanciar(); $l->includeCss(SISTEMA_URL . "css/formulario.css"); $l->includeJavaScript(SISTEMA_URL . "javascript/formulario.js"); # Cria as restricoes para os modulos de desenvolvimento $where = implode(" OR modulo.mdl_cod !=", $this->MOD_DESENV); $restricoes = sprintf(" WHERE (modulo.mdl_cod!=%s)", $where); # Pega as ações do sistema menos as ações administrativas $sql = sprintf("SELECT acao.acao_cod,acao.acao_titulo,\r\n\t\t\t\t\t\t\t modulo.mdl_titulo\r\n\t\t\t\t\t\tFROM acao\r\n\t\t\t\t\t\tINNER JOIN modulo ON modulo.mdl_cod = acao.mdl_cod\r\n\t\t\t\t\t\t %s", $restricoes); $act = Sistema_Conecta::Execute($sql, PDO::FETCH_ASSOC); # Pega as permissões do grupo $sql = sprintf("SELECT acao_cod,prm_cod,prm_salvar,prm_exibir,prm_inativa\r\n\t\t\t\t\t\tFROM permissoes WHERE grp_cod=%d", $grp_cod); $prm = Sistema_Conecta::Execute($sql); # Percorre todas as permissões ja salvas if (is_array($prm)) { foreach ($prm as $k => $v) { $permissoes_salvas[$v['acao_cod']] = array($v['prm_exibir'], $v['prm_salvar'], $v['prm_inativa']); } } $dados_acoes = array(); # Carrega as açoes if (is_array($act)) { foreach ($act as $k => $v) { # Exibir $check1 = $permissoes_salvas[$v['acao_cod']][0] > 0 ? " checked " : ""; # Salvar $check2 = $permissoes_salvas[$v['acao_cod']][1] > 0 ? " checked " : ""; # Inativar $check3 = $permissoes_salvas[$v['acao_cod']][2] > 0 ? " checked " : ""; # Exibir $campo = sprintf('<label><input type="checkbox" name="prm_exibir_%d" value="%d" %s /> Exibir</label> ', $v['acao_cod'], $v['acao_cod'], $check1); # Salvar $campo .= sprintf('<label><input type="checkbox" name="prm_salvar_%d" value="%d" %s /> Salvar</label> ', $v['acao_cod'], $v['acao_cod'], $check2); # Inativar $campo .= sprintf('<label><input type="checkbox" name="prm_inativa_%d" value="%d" %s /> Inativar</label> ', $v['acao_cod'], $v['acao_cod'], $check3); $dados_acoes[$v['mdl_titulo']][] = array("label" => $v['acao_titulo'], "campo" => $campo); $campo = null; } } # Intancia o template $template = new Sistema_Layout_Tela("modulo/usuarios/templates/permissoes.tpl"); $template->addVar("grp_cod", $grp_cod); $grupo = new Classe_Grupo($grp_cod); $dados_grupo = $grupo->getDados(); $template->addVar("grp_descricao", $dados_grupo['grp_descricao']); $template->addVar("modulos", $dados_acoes); $modulo = MODULO . "=usuarios"; $acao = ACAO . "=salvarpermissao"; return sprintf('<form id="frmprm" onSubmit="formulario.enviaForm(\'frmprm\',\'%s\',\'%s\'); return false;"> %s </form>', $modulo, $acao, $template->getTela()); }