= Tutorial de Desenvolvimento de um Processo Simples = == Codificar os Includes == Os próximos arquivos devem ser incluídos de forma semelhante como foi feito para o arquivo info_solicitacao.tpl anteriormente, só que desta vez será usada a aba 'Includes', da interface de código. Para cada arquivo a ser incluído, execute: 1. Clique no botão 'Novo Include'; 1. Escolha a opção 'em_branco.php'; 1. Informe o nome do arquivo e clique em OK; 1. Inclua o código correspondente. '''class.avaliar.controller.inc.php''' {{{ model->defaultAction(); $this->loadViewVars(); $this->showForm($this->AVALIAR); } function aprovar() { $this->model->aprovarAction(); } function rejeitar() { $this->model->rejeitarAction(); } function run($action) { $this->dispatch($action); } } ?> }}} '''class.avaliar.model.inc.php''' {{{ updateAttributes(); $this->addViewVar('titulo', $this->_titulo); $this->addViewVar('descricao', $this->_descricao); $this->addViewVar('data', $this->_data); $this->addViewVar('solicitante_desc', $this->_solicitante_desc); return true; } function aprovarAction() { $this->instance->setNextActivity('Executar'); $this->commitInstance(); return true; } function rejeitarAction() { $this->updateAttributes(); $this->instance->setNextActivity('Informar Resultado'); $this->instance->setNextUser($this->_solicitante); /* devolve a instância para o solicitante */ $this->_mensagem = "Sua solicitação foi rejeitada"; $this->updateInstance(); $this->commitInstance(); return true; } } ?> }}} '''class.compor.solicitacao.controller.inc.php''' {{{ model->defaultAction(); $this->loadViewVars(); $this->showForm($this->COMPOR_SOLICITACAO); } function enviar() { $this->model->enviarAction(); $this->loadViewVars(); } function run($action) { $this->dispatch($action); } } ?> }}} '''class.compor.solicitacao.model.inc.php''' {{{ _titulo = $form['titulo']; else $msgerro[] = 'É necessário fornecer um título'; if (isset($form['descricao']) && !empty($form['descricao'])) $this->_descricao = $form['descricao']; else $msgerro[] = 'É necessário fornecer uma descrição'; return $msgerro; } function enviarAction() { /* se não houve erros */ if (count($this->activity->error = $this->inputValidate($this->request)) == 0) { $this->_solicitante = $this->getWfProperty('wf_user_id'); $this->_solicitante_desc = $this->getWfProperty('wf_user_cnname'); $this->_data = date('d/m/Y Hhi'); $this->updateInstance(); $this->commitInstance(); return true; } else { $this->addViewVar('titulo', $this->_titulo); $this->addViewVar('descricao', $this->_descricao); return false; } } } ?> }}} '''class.controller.inc.php''' {{{ super(&$model , &$env); } } ?> }}} '''class.executar.controller.inc.php''' {{{ model->defaultAction(); $this->loadViewVars(); $this->showForm($this->EXECUTAR); } function finalizar() { $this->model->finalizarAction(); } function run($action) { $this->dispatch($action); } } ?> }}} '''class.executar.model.inc.php''' {{{ updateAttributes(); $this->addViewVar('titulo', $this->_titulo); $this->addViewVar('descricao', $this->_descricao); $this->addViewVar('data', $this->_data); $this->addViewVar('solicitante_desc', $this->_solicitante_desc); return true; } function finalizarAction() { $this->updateAttributes(); $this->_mensagem = "Sua solicitação foi atendida pelo técnico " . $this->getWfProperty('wf_user_cnname') . ". Procedimento executado: " . $this->request['procedimento']; $this->updateInstance(); $this->instance->setNextUser($this->_solicitante); /* devolve a instância para o solicitante */ $this->commitInstance(); return true; } } ?> }}} '''class.informar.resultado.controller.inc.php''' {{{ model->defaultAction(); $this->loadViewVars(); $this->showForm($this->INFORMAR_RESULTADO); } function encerrar() { $this->model->encerrarAction(); } function run($action) { $this->dispatch($action); } } ?> }}} '''class.informar.resultado.model.inc.php''' {{{ updateAttributes(); $this->addViewVar('titulo', $this->_titulo); $this->addViewVar('descricao', $this->_descricao); $this->addViewVar('data', $this->_data); $this->addViewVar('solicitante_desc', $this->_solicitante_desc); $this->addViewVar('mensagem', $this->_mensagem); return true; } function encerrarAction() { $this->commitInstance(); return true; } } ?> }}} '''class.model.inc.php''' {{{ super(&$env); } } ?> }}} '''shared.php''' {{{ }}} ---- {{{ #!html 1. Introdução
2. Especificação
3. Projeto
   3.1. Criar o Fluxo
   3.2. Criar o Processo
   3.3. Criar as Atividades / Transições / Perfis
   3.4. Mapear os Perfis
4. Implementação
   4.1. Codificar as Atividades
   4.2. Codificar os Templates
   4.3. Codificar os Includes
5. Finalização }}}