wiki:WF/ExibicaodeinformacoesadicionaisnaCaixadeEntrada

Version 7 (modified by viani, 16 years ago) (diff)

--

Exibição de Informações Adicionais na Caixa de Entrada

WikiInclude(WF/tableofcontents)?

No Workflow, é possível exibir informações adicionais sobre uma instância na Caixa de Entrada. Esta funcionalidade veio complementar a coluna identificador da Caixa de Entrada, já que esta pode não ter o tamanho suficiente para exibir todas as informações inerentes a uma instância.

Para utilizar este recurso, basta criar uma atividade do tipo View e em seu código, adicionar as informações que forem convenientes. Estas informações podem ser baseadas nas propriedades da instância, em consultas ao banco de dados, etc.

Assim como as atividades interativas, as atividades do tipo View devem ser compostas de um arquivo de código (PHP) e um arquivo de template (TPL).

Para acessar estas informações, basta, na Caixa de Entrada, clicar sobre o nome do processo. Após o clique, surgirá uma região localizada logo abaixo da instância selecionada e, é nesta região que as informações estarão localizadas. Veja a figura abaixo:

informacoes_view.png

Ao se clicar novamente sobre uma instância cujas informações adicionais já estejam sendo exibidas, estas informações serão ocultadas.

Exemplo de Código

Supondo o processo de Reservas de Recursos disponível para download? cuja atividade view tem o nome 'Visualizar':

Visualizar.php

<?php
/**
 * @file Visualizar.php
 * Atividade view do processo - mostra os dados de uma reserva
 * @author aleheil / viani
 * @version 1.0 
 */

/* instanciação da classe de camada de negócios */
$application = new VisualizarController ( new VisualizarModel ( $env ) , $env );
$application->run ( $_REQUEST['action'] );
 
?>

class.visualizar.controller.inc.php

<?php
/**
 * Controle da atividade view do processo
 * @author aleheil / viani
 * @version 1.0
 * @license http://www.gnu.org/copyleft/gpl.html GPL 
 * @package Reserva_Recursos.
 */
 class VisualizarController extends Controller
{ 
	/**
     * @var string Tela da atividade Exibir Reserva
     * @access public
     */
	var $EXIBIR_RESERVA= 'Exibir_Reserva_Visualizar.tpl';
	
	/**
	 * Executa a ação padrao/inicial da atividade.
	 * @return void
	 * @access public 
	 */
 	function __default()
	{		
		$this->model->defaultAction();
		$this->loadViewVars();
		$this->showForm($this->EXIBIR_RESERVA);		
	}

	/**
	 * Execucao da atividade.
	 * @param $action Servico (acao) solicitado
	 * @return void
	 * @access public 
	 */    
	function run($action)
	{    	
    	$this->model->DAO->connect ( );
    	$this->dispatch($action);
	$this->model->DAO->disconnect ( );
    }
} 
?>

class.vizualizar.model.inc.php

<?php
/**
 * Implementa a atividade view do processo
 * @author aleheil / viani
 * @version 1.0
 * @license http://www.gnu.org/copyleft/gpl.html GPL 
 * @package Reserva_Recursos.
 */
class VisualizarModel extends Model
{
	/**
	 * Implementa acao padrao da atividade
	 * @access public
	 * @return bool
	 */
	function defaultAction()
	{	
		$this->updateAttributes();
		$reserva_id 		= $this->_reserva_id;
		$dados_solicitacao 	= $this->dados_solicitacao_por_reserva($reserva_id);
		$datas_solicitacao 	= $this->data_solicitacao($reserva_id);
		$recursos 		= 
			$this->lista_recursos_por_data_id_recurso($datas_solicitacao,$reserva_id);

		$this->addViewVar("recursos" 		, $recursos		);
		$this->addViewVar("datas_solicitacao" 	, $datas_solicitacao	);
		$this->addViewVar("solicitacao" 	, $dados_solicitacao	);
		return true;
	}
}
?>

shared.php

wf_include('class.visualizar.controller.inc.php');
wf_include('class.visualizar.model.inc.php');

Exibir_Reserva_Visualizar.tpl

<link rel="stylesheet" type="text/css" href="{$wf_default_resources_path}/default.css">
<link rel="stylesheet" type="text/css" href="{$wf_default_resources_path}/screen.css">
<div id="conteudo">
	<div align="center">
		<h1>
			Exibir Reserva
		</h1>
		{include file='Exibir_Reserva_Corpo.tpl'}
		<div align="center">
			<hr>
		</div>
	</div>
</div>

Attachments