= 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
}}}