Пример #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
 public function principal()
 {
     $layout = Sistema_Layout::instanciar();
     $layout->includeCss(SISTEMA_URL . "sistema/index/css/estilo.css");
     $template = new Sistema_Layout_Tela("sistema/index/template/index.tpl");
     $anot = new Sistema_Index_Anotacoes();
     $template->addVar("titulo_anotacoes", "Anotações/Tarefas Agendadas");
     $template->addVar("conteudo_anotacoes", $anot->getUltimasAnostacoes(5));
     $atalhos = new Sistema_Index_Atalhos();
     $template->addVar("titulo_atalho", "Atalhos");
     $template->addVar("conteudo_atalhos", $atalhos->getAtalhos());
     $layout->setNomePagina("Principal");
     $layout->setCorpo($template->getTela());
 }
Пример #3
0
    /**
     * Ação responsável pela criação do formulário
     * para cadastros dos Módulos
     * @return Form
     */
    public function acaoFormEntradas()
    {
        $mapa = new Classe_EntradaCursos();
        $form = new Componente_Formulario($mapa, "form1");
        $this->_layout->setNomePagina("Entrada de Alunos");
        //$this->_layout->setCorpo($form->getForm($this->_modulo,"salvarentradas"));
        $tela = new Sistema_Layout_Tela("templates/formulario.tpl");
        $tela->addVar("campos", $form->getCampos());
        //$tela->addVar("dadoshidden",$this->_hidden);
        $modulo = MODULO . "=" . $this->_modulo;
        $acao = ACAO . "=" . "salvarentradas";
        $formulario = sprintf('<form id="frment" onSubmit="formulario.entrada(\'frment\',\'%s\',\'%s\'); return false;">
								%s
							</form>
							%s', $modulo, $acao, $tela->getTela(), $formUPM);
        $this->_layout->setCorpo($formulario);
    }
Пример #4
0
    public function getForm($modulo, $acao)
    {
        $mp = $this->_class->getCampos();
        $camposmostra = $this->_class->getFormulario($this->_form);
        # Verifica se foi passado um valor para o codiog
        if ($this->_class->getCodigo() > 0) {
            $this->_valores = $this->_class->getDados();
            # Pega e mostra o histórico se tiver
            $hist = new Sistema_Historico($_SESSION['ACT_ATUAL']);
            $jan = new Componente_Janela();
            $texto_hist = sprintf("<img src='%simagens/historico.png' align=absmiddle> Histórico", SISTEMA_URL);
            $act = $jan->getJanelaConteudo($hist->getHistórico($this->_valores[$this->_class->getChavePK()]), $texto_hist);
            $this->l->setBotoes("Histórico", "javascript:" . $act, "imagens/historico.png");
        }
        if (is_array($mp)) {
            $i = 0;
            # Retorna os campos estrangeiros
            $estrangeiros = $this->_class->getEstrangeiros();
            foreach ($mp as $campo => $dados) {
                # $dados[0]: label
                # $dados[1]: plugin
                # $dados[2]: tamanho
                # $dados[3]: requirido
                if (in_array($campo, $camposmostra)) {
                    # Valida o plugin
                    $plugin = sprintf("Plugin_" . ucwords(strtolower($dados[1])));
                    $p = new $plugin();
                    if (is_subclass_of($p, 'Sistema_Plugin')) {
                        # Instacia a classe do campo
                        $p->setClasse($this->_class->getClasse());
                        # Verifica se é um estrangeiros
                        # Seta a classe para ele
                        if (is_array($estrangeiros) && array_key_exists($campo, $estrangeiros)) {
                            $p->setClasseEstrangeira($estrangeiros[$campo]);
                        }
                        # Verifica se é requerido
                        $req = $dados[3] ? "<b style='color:red'>!</b>" : "";
                        # Verifica se é chave
                        if (strtolower($dados[1]) == "chave") {
                            if ($this->_valores[$campo] > 0) {
                                $input[$i]['label'] = sprintf("%s<label>%s</label>", $req, $dados[0]);
                                $input[$i]['input'] = $p->criaCampo($campo, $dados[2], $this->_valores[$campo]);
                            }
                        } else {
                            $input[$i]['label'] = sprintf("%s<label>%s</label>", $req, $dados[0]);
                            $input[$i]['input'] = $p->criaCampo($campo, $dados[2], $this->_valores[$campo]);
                        }
                    }
                    $i++;
                }
            }
            # Verifica se ira montar um formulario do tipo Um-Para-Muitos
            # alexandre 01/04/2009
            $dadosUPM = $this->_class->getUmParaMuitos();
            if (is_array($dadosUPM)) {
                foreach ($dadosUPM as $classeUPM => $vt) {
                    $_classe = new $classeUPM();
                    $plg_upm = new Plugin_UmParaMuitos();
                    $plg_upm->setUmParaMuitos($classeUPM, $vt[0], $vt[1]);
                    $rttemp = $plg_upm->criaCampo(null, 0, $this->_valores[$vt[0]]);
                    foreach ($rttemp as $k => $v) {
                        $input[$i]['label'] = $v['label'];
                        $input[$i]['input'] = $v['input'];
                        $i++;
                    }
                }
            }
            $tela = new Sistema_Layout_Tela("templates/formulario.tpl");
            $tela->addVar("campos", $input);
            //$tela->addVar("dadoshidden",$this->_hidden);
            $modulo = MODULO . "=" . $modulo;
            $acao = ACAO . "=" . $acao;
            $form = sprintf('<form id="frmclss" onSubmit="formulario.enviaForm(\'frmclss\',\'%s\',\'%s\'); return false;">
								%s
							</form>
							%s', $modulo, $acao, $tela->getTela(), $formUPM);
            return $form;
        } else {
            $this->_msg->setErro("Mapa para o Formulário não é valido");
        }
    }
Пример #5
0
 /**
  * Mota a tabela com a listagem
  * @return String
  */
 private function getTabela()
 {
     # Monta a sql
     $sql = $this->getSQL();
     $template = new Sistema_Layout_Tela("componente/listagem/template/tabela.tpl");
     $template->addVar("paginas", $this->getPaginas());
     $template->addVar("colunas", $this->getColunas());
     $template->addVar("valores", $this->getValores());
     return $template->getTela();
     return $html;
 }