Пример #1
0
    /**
     * @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 />&nbsp;Exibir</label> &nbsp;', $v['acao_cod'], $v['acao_cod'], $check1);
                # Salvar
                $campo .= sprintf('<label><input type="checkbox" name="prm_salvar_%d" value="%d" %s />&nbsp;Salvar</label> &nbsp;', $v['acao_cod'], $v['acao_cod'], $check2);
                # Inativar
                $campo .= sprintf('<label><input type="checkbox" name="prm_inativa_%d" value="%d" %s />&nbsp;Inativar</label> &nbsp;', $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());
    }
Пример #2
0
 /**
  * @abstract Ação responsavel por salvar as informações
  * vindas do formulário
  * @return JSON
  */
 public function ajaxSalvarGrupo()
 {
     $obj = new Classe_Grupo();
     $obj->setDados($_POST);
     $id = $obj->salvar();
     $json = new Sistema_Ajax();
     $json->addVar($id);
     $json->responde();
 }