/** * Class constructor * Creates the page, the form and the listing */ public function __construct() { parent::__construct(); // creates the form $this->form = new TForm('form_search_Ticket'); $this->form->class = 'tform'; // CSS class // creates a table $table = new TTable(); $table->width = '100%'; $this->form->add($table); // add a row for the form title $row = $table->addRow(); $row->class = 'tformtitle'; // CSS class $row->addCell(new TLabel('Ticket'))->colspan = 2; // create the form fields $id = new TEntry('id'); $id->setMask('99999'); $titulo = new TEntry('titulo'); $criteria = new TCriteria(); $criteria->add(new TFilter("ativo", "=", 1)); $newparam['order'] = 'pessoa_nome'; $newparam['direction'] = 'asc'; $criteria->setProperties($newparam); // order, offset $solicitante_id = new TDBSeekButton('solicitante_id', 'atividade', 'form_search_Ticket', 'Pessoa', 'pessoa_nome', 'solicitante_id', 'solicitante_nome', $criteria); $solicitante_nome = new TEntry('solicitante_nome'); $solicitante_nome->setEditable(FALSE); $criteria = new TCriteria(); $criteria->add(new TFilter('enttipent', '=', 1)); $entcodent = new TDBComboMultiValue('entcodent', 'atividade', 'Entidade', 'entcodent', array(0 => 'entcodent', 1 => 'entrazsoc'), 'entcodent', $criteria); $tipo_ticket_id = new TDBCombo('tipo_ticket_id', 'atividade', 'TipoTicket', 'id', 'nome'); $status_ticket_id = new TDBCombo('status_ticket_id', 'atividade', 'StatusTicket', 'id', 'nome'); $criteria = new TCriteria(); $criteria->add(new TFilter("origem", "=", 1)); $criteria->add(new TFilter("ativo", "=", 1)); $criteria->add(new TFilter("codigo_cadastro_origem", "=", 100)); $responsavel_id = new TDBCombo('responsavel_id', 'atividade', 'Pessoa', 'pessoa_codigo', 'pessoa_nome', 'pessoa_nome', $criteria); $prioridade_id = new TDBCombo('prioridade_id', 'atividade', 'Prioridade', 'id', 'nome'); $sistema_id = new TDBCombo('sistema_id', 'atividade', 'Sistema', 'id', 'nome', 'nome'); // define the sizes $id->setSize(50); $titulo->setSize(274); $solicitante_id->setSize(50); $solicitante_nome->setSize(200); $entcodent->setSize(274); $status_ticket_id->setSize(100); $tipo_ticket_id->setSize(200); $sistema_id->setSize(200); $responsavel_id->setSize(274); $prioridade_id->setSize(100); // add one row for each form field $table->addRowSet(new TLabel('ID:'), $id); $table->addRowSet(new TLabel('Titulo:'), $titulo); $table->addRowSet(new TLabel('Cliente:'), array($solicitante_id, $solicitante_nome)); $table->addRowSet(new TLabel('Entidade:'), $entcodent); $table->addRowSet(new TLabel('Responsável:'), $responsavel_id); $table->addRowSet(new TLabel('Tipo Ticket:'), $tipo_ticket_id); $table->addRowSet(new TLabel('Sistema:'), $sistema_id); $table->addRowSet(new TLabel('Status:'), $status_ticket_id); $table->addRowSet(new TLabel('Prioridade:'), $prioridade_id); $this->form->setFields(array($id, $titulo, $solicitante_id, $solicitante_nome, $entcodent, $status_ticket_id, $tipo_ticket_id, $responsavel_id, $prioridade_id, $sistema_id)); // keep the form filled during navigation with session data $this->form->setData(TSession::getValue('Ticket_filter_data')); // create two action buttons to the form $find_button = TButton::create('find', array($this, 'onSearch'), _t('Find'), 'ico_find.png'); $new_button = TButton::create('new', array('TicketForm', 'onEdit'), _t('New'), 'fa:plus-square green'); $clean_button = TButton::create('clean', array($this, 'onClean'), 'Limpar', 'ico_close.png'); $this->form->addField($find_button); $this->form->addField($new_button); $this->form->addField($clean_button); $buttons_box = new THBox(); $buttons_box->add($find_button); $buttons_box->add($new_button); $buttons_box->add($clean_button); // add a row for the form action $row = $table->addRow(); $row->class = 'tformaction'; // CSS class $row->addCell($buttons_box)->colspan = 2; // creates a Datagrid $this->datagrid = new TDataGrid(); $this->datagrid->setHeight(320); // creates the datagrid columns $status_ticket_id = new TDataGridColumn('status_ticket_id', 'S', 'center', 20); $id = new TDataGridColumn('id', 'ID', 'left', 20); $titulo = new TDataGridColumn('titulo', 'Titulo', 'left', 250); $solicitante_id = new TDataGridColumn('solicitante_id', 'Cliente', 'left', 250); $responsavel_id = new TDataGridColumn('pessoa_responsavel->pessoa_nome', 'Responsavel', 'left', 100); $prioridade_id = new TDataGridColumn('prioridade->nome', 'Pri', 'right', 20); //get_prioridade()->nome $status_ticket_id->setTransformer(array($this, 'retornaStatus')); $solicitante_id->setTransformer(array($this, 'retornaCliente')); $responsavel_id->setTransformer(array($this, 'retornaPessoa')); $prioridade_id->setTransformer(array($this, 'retornaPrioridade')); // add the columns to the DataGrid $this->datagrid->addColumn($status_ticket_id); $this->datagrid->addColumn($id); $this->datagrid->addColumn($titulo); $this->datagrid->addColumn($solicitante_id); $this->datagrid->addColumn($responsavel_id); $this->datagrid->addColumn($prioridade_id); // creates the datagrid column actions $order_id = new TAction(array($this, 'onReload')); $order_id->setParameter('order', 'id'); $id->setAction($order_id); $order_titulo = new TAction(array($this, 'onReload')); $order_titulo->setParameter('order', 'titulo'); $titulo->setAction($order_titulo); $order_status_ticket_id = new TAction(array($this, 'onReload')); $order_status_ticket_id->setParameter('order', 'status_ticket_id'); $status_ticket_id->setAction($order_status_ticket_id); $order_prioridade_id = new TAction(array($this, 'onReload')); $order_prioridade_id->setParameter('order', 'prioridade->nome'); $prioridade_id->setAction($order_prioridade_id); // creates two datagrid actions $action1 = new TDataGridAction(array('TicketForm', 'onEdit')); $action1->setLabel(_t('Edit')); $action1->setImage('fa:pencil-square-o blue fa-lg'); $action1->setField('id'); // add the actions to the datagrid $this->datagrid->addAction($action1); // create the datagrid model $this->datagrid->createModel(); // creates the page navigation $this->pageNavigation = new TPageNavigation(); $this->pageNavigation->setAction(new TAction(array($this, 'onReload'))); $this->pageNavigation->setWidth($this->datagrid->getWidth()); // create the page container $container = TVBox::pack($this->form, $this->datagrid, $this->pageNavigation); $container->style = 'width: 100%;max-width: 1200px;'; $this->datagrid->style = ' width: 100%; max-width: 1200px;'; parent::add($container); }
/** * Class constructor * Creates the page and the registration form */ function __construct() { parent::__construct(); // creates the form $this->form = new TForm('form_Ticket'); $this->form->class = 'tform'; // CSS class $this->form->style = 'width: 500px'; // creates the table container $table = new TTable(); $table->width = '110%'; // add the table inside the form $this->form->add($table); // define the form title $row = $table->addRow(); $row->class = 'tformtitle'; // CSS class $row->addCell(new TLabel('Resumo de Tickets e Atividades'))->colspan = 3; // create the form fields $ticket = new TEntry('ticket_id'); $ticket->setMask('99999'); $solicitante_id = new TSeekButton('solicitante_id'); $solicitante_nome = new TEntry('solicitante_nome'); $obj = new TicketPessoaSeek(); $action = new TAction(array($obj, 'onReload')); $solicitante_id->setAction($action); $solicitante_nome->setEditable(FALSE); $criteria = new TCriteria(); $criteria->add(new TFilter("origem", "=", 1)); $criteria->add(new TFilter("ativo", "=", 1)); $criteria->add(new TFilter("codigo_cadastro_origem", "=", 100)); $responsavel_id = new TDBCombo('responsavel_id', 'atividade', 'Pessoa', 'pessoa_codigo', 'pessoa_nome', 'pessoa_nome', $criteria); $criteria = new TCriteria(); $criteria->add(new TFilter('enttipent', '=', 1)); $entcodent = new TDBComboMultiValue('entcodent', 'atividade', 'Entidade', 'entcodent', array(0 => 'entcodent', 1 => 'entrazsoc'), 'entcodent', $criteria); $status_ticket_id = new TDBCombo('status_ticket_id', 'atividade', 'StatusTicket', 'id', 'nome'); $prioridade_id = new TDBCombo('prioridade_id', 'atividade', 'Prioridade', 'id', 'nome'); $tipo_ticket_id = new TDBCombo('tipo_ticket_id', 'atividade', 'TipoTicket', 'id', 'nome'); $ticket_sistema_id = new TDBCombo('ticket_sistema_id', 'atividade', 'Sistema', 'id', 'nome'); $atividade_sistema_id = new TDBCombo('atividade_sistema_id', 'atividade', 'Sistema', 'id', 'nome'); $saldo = new TCombo('saldo'); $combo_saldo = array(); $combo_saldo['c'] = 'Com saldo'; $saldo->addItems($combo_saldo); $data_prevista = new TDate('data_prevista'); $data_prevista->setMask('dd/mm/yyyy'); $dataAtividadeInicio = new TDate('data_atividade_inicio'); $dataAtividadeInicio->setMask('dd/mm/yyyy'); $dataAtividadeInicio->setValue('01/' . date('m/Y')); $dataAtividadeFinal = new TDate('data_atividade_final'); $dataAtividadeFinal->setMask('dd/mm/yyyy'); $dataAtividadeFinal->setValue(date('d/m/Y')); $criteria = new TCriteria(); $criteria->add(new TFilter("origem", "=", 1)); $criteria->add(new TFilter("ativo", "=", 1)); $criteria->add(new TFilter("codigo_cadastro_origem", "=", 100)); $colaborador_id = new TDBCombo('colaborador_id', 'atividade', 'Pessoa', 'pessoa_codigo', 'pessoa_nome', 'pessoa_nome', $criteria); $tipo_atividade_id = new TDBCombo('tipo_atividade_id', 'atividade', 'TipoAtividade', 'id', 'nome', 'nome'); $pesquisa_master = new TEntry('pesquisa_master'); $tipo = new TRadioGroup('tipo'); $output_type = new TRadioGroup('output_type'); // define the sizes $ticket->setSize(100); $solicitante_id->setSize(30); $solicitante_nome->setSize(245); $responsavel_id->setSize(300); $colaborador_id->setSize(300); $entcodent->setSize(300); $status_ticket_id->setSize(100); $prioridade_id->setSize(100); $tipo_ticket_id->setSize(200); $ticket_sistema_id->setSize(200); $atividade_sistema_id->setSize(200); $saldo->setSize(100); $data_prevista->setSize(100); $dataAtividadeInicio->setSize(100); $dataAtividadeFinal->setSize(100); $tipo->setSize(100); $output_type->setSize(100); // validations $output_type->addValidation('Output', new TRequiredValidator()); // add one row for each form field // creates a frame $frame = new TFrame(); $frame->oid = 'frame-measures'; $frame->setLegend('Tickets:'); $row = $table->addRow(); $cell = $row->addCell($frame); $cell->colspan = 2; $frame1 = new TTable(); $frame->add($frame1); $frame1->addRowSet(new TLabel('Ticket inicial:'), $ticket); $frame1->addRowSet(new TLabel('Solicitante:'), array($solicitante_id, $solicitante_nome)); $frame1->addRowSet(new TLabel('Responsável:'), $responsavel_id); $frame1->addRowSet(new TLabel('Cliente:'), $entcodent); $frame1->addRowSet(new TLabel('Tipo:'), $tipo_ticket_id); $frame1->addRowSet(new TLabel('Sistema:'), $ticket_sistema_id); $frame1->addRowSet(new TLabel('Status:'), $status_ticket_id); $frame1->addRowSet(new TLabel('Prioridade:'), $prioridade_id); $frame1->addRowSet(new TLabel('Saldo:'), $saldo); $frame1->addRowSet(new TLabel('Dt. Prevista limite:'), $data_prevista); // creates a frame $frame = new TFrame(); $frame->oid = 'frame-measures'; $frame->setLegend('Atividades:'); $row = $table->addRow(); $cell = $row->addCell($frame); $cell->colspan = 2; $frame2 = new TTable(); $frame->add($frame2); $frame2->addRowSet(new TLabel('Dt. Atividades inicio:'), array($dataAtividadeInicio, $label_data_fim = new TLabel('Fim:'), $dataAtividadeFinal)); $label_data_fim->setSize(48); $frame2->addRowSet(new TLabel('Atividades colaborador:'), $colaborador_id); $frame2->addRowSet(new TLabel('Tipo atividade:'), $tipo_atividade_id); $frame2->addRowSet(new TLabel('Sistema:'), $atividade_sistema_id); // creates a frame $frame = new TFrame(); $frame->oid = 'frame-measures'; $frame->setLegend('Pesquisa Master:'); $row = $table->addRow(); $cell = $row->addCell($frame); $cell->colspan = 2; $frame3 = new TTable(); $frame->add($frame3); $frame3->addRowSet(new TLabel('<nobr>Por palavra:</nobr>'), $pesquisa_master); $frame3->addRowSet(new TLabel(''), new TLabel('Essa pesquisa busca pelo titulo do ticket e da descrição da atividade')); $table->addRowSet(new TLabel('Relatório'), $tipo); $table->addRowSet(new TLabel('Output:'), $output_type); $this->form->setFields(array($ticket, $solicitante_id, $solicitante_nome, $responsavel_id, $entcodent, $status_ticket_id, $prioridade_id, $saldo, $tipo_ticket_id, $ticket_sistema_id, $data_prevista, $dataAtividadeInicio, $dataAtividadeFinal, $colaborador_id, $tipo_atividade_id, $atividade_sistema_id, $pesquisa_master, $tipo, $output_type)); $tipo->addItems(array('s' => 'Sintético', 'a' => 'Analitico')); $tipo->setValue('s'); $tipo->setLayout('horizontal'); //$output_type->addItems(array('html'=>'HTML', 'pdf'=>'PDF', 'rtf'=>'RTF')); $output_type->addItems(array('html' => 'HTML')); $output_type->setValue('html'); $output_type->setLayout('horizontal'); $generate_button = TButton::create('generate', array($this, 'onGenerate'), _t('Generate'), 'fa:check-circle-o green'); $this->form->addField($generate_button); $change_data = new TAction(array($this, 'onChangeData')); $dataAtividadeInicio->setExitAction($change_data); $dataAtividadeFinal->setExitAction($change_data); // add a row for the form action $table->addRowSet($generate_button, '')->class = 'tformaction'; parent::add($this->form); }