예제 #1
1
 function __construct()
 {
     parent::__construct();
     //cria os containers
     $this->form_requisicao = new TForm('form_requisicao');
     $this->form_requisicao->class = 'tform';
     $this->form_itens = new TForm('form_itens');
     $this->form_itens->class = 'tform';
     $table_requisicao = new TTable();
     $table_requisicao->width = '100%';
     $table_itens = new TTable();
     $table_itens->width = '100%';
     //empacota os dados
     $this->form_requisicao->add($table_requisicao);
     $this->form_itens->add($table_itens);
     //campos da requisicao;
     $numeroSRP = new TSeekButton('numeroSRP');
     $nome = new TEntry('nome');
     $numeroProcessoOrigem = new TEntry('numeroProcessoOrigem');
     $uasg = new TEntry('uasg');
     $validadeAta = new TEntry('validade');
     $numeroProcesso = new TEntry('numeroProcesso');
     $emissao = new TDate('emissao');
     //campos do itens
     $numeroItem = new TSeekButton('numeroItem');
     $item_id = new THidden('item_id');
     $descricaoSumaria = new TEntry('descricaoSumaria');
     $valorUnitario = new TEntry('valorUnitario');
     $quantidade = new TEntry('quantidade');
     $prazoEntrega = new TEntry('prazoEntrega');
     $justificativa = new TEntry('justificativa');
     $addItem = new TButton('addItem');
     $save = new TButton('save');
     $new = new TButton('new');
     $list = new TButton('list');
     //ações dos campos
     $numeroSRP->setAction(new TAction(array(new SrpSeekRequisicao(), 'onReload')));
     $numeroProcesso->setExitAction(new TAction(array($this, 'onExitNumeroProcesso')));
     $emissao->setExitAction(new TAction(array($this, 'onExitEmissao')));
     $numeroItem->setAction(new TAction(array(new ItemSeekRequisicao(), 'onReload')));
     $addItem->setAction(new TAction(array($this, 'onAddItem')), 'Adicionar');
     $addItem->setImage('fa:plus-square-o');
     $save->setAction(new TAction(array($this, 'onSave')), 'Salvar');
     $save->setImage('ico_save.png');
     $new->setAction(new TAction(array($this, 'onEdit')), 'Novo');
     $new->setImage('ico_new.png');
     $list->setAction(new TAction(array('RequisicaoList', 'onReload')), 'Voltar para listagem');
     $list->setImage('ico_datagrid.png');
     //$onProductChange = new TAction(array($this, 'onProductChange'));
     //$item_id->setExitAction($onProductChange);
     $quantidade->setExitAction(new TAction(array($this, 'onValidaQuantidade')));
     //validadores
     $numeroSRP->addValidation('Nº SRP', new TRequiredValidator());
     $emissao->addValidation('Emissão', new TRequiredValidator());
     $numeroItem->addValidation('Item', new TRequiredValidator());
     $valorUnitario->addValidation('Preço', new TRequiredValidator());
     $quantidade->addValidation('Quantidade', new TRequiredValidator());
     $quantidade->addValidation('Quantidade', new TMinValueValidator(), array(1));
     $quantidade->addValidation('Quantidade', new TMaxLengthValidator(), array(11));
     $justificativa->addValidation('Justificativa', new TRequiredValidator());
     $justificativa->addValidation('Justificativa', new TMaxLengthValidator(), array(100));
     $prazoEntrega->addValidation('Prazo de entrega', new TRequiredValidator());
     $prazoEntrega->addValidation('Prazo de entrega', new TMaxLengthValidator(), array(20));
     $numeroProcesso->addValidation('Nº Processo', new TRequiredValidator());
     $numeroProcesso->addValidation('Nº Processo', new TMaxLengthValidator(), array(30));
     //outras propriedades
     $descricaoSumaria->setEditable(false);
     $nome->setEditable(false);
     $numeroProcessoOrigem->setEditable(false);
     $uasg->setEditable(false);
     $validadeAta->setEditable(false);
     $valorUnitario->setEditable(false);
     $numeroSRP->setSize(80);
     $numeroSRP->setMaxLength(10);
     $emissao->setProperty('style', 'margin-right: 0px;', false);
     $nome->setSize(300);
     $nome->setProperty('style', 'margin-right: 10px', false);
     $numeroProcessoOrigem->setSize(160);
     $uasg->setSize(70);
     $validadeAta->setSize(85);
     $numeroProcesso->setMaxLength(30);
     $numeroProcesso->setTip('Número do processo gerado no SIGA');
     $numeroItem->setSize(60);
     $numeroItem->setMaxLength(11);
     $descricaoSumaria->setSize(490);
     $descricaoSumaria->setProperty('style', 'margin-right: 10px', false);
     $prazoEntrega->setSize(90);
     $justificativa->setSize(400);
     $justificativa->setMaxLength(100);
     $emissao->setSize(90);
     $emissao->setMask('dd/mm/yyyy');
     $emissao->setValue(date('d/m/Y'));
     $validadeAta->setMask('dd/mm/yyyy');
     $quantidade->class = 'frm_number_only';
     $quantidade->setMaxLength(11);
     $prazoEntrega->setValue('60 Dias');
     $prazoEntrega->setMaxLength(20);
     //$addItem->setProperty('style', 'margin: 0 0 10px 10px;', false);
     $row = $table_requisicao->addRow();
     $row->class = 'tformtitle';
     // CSS class
     $cell = $row->addCell(new TLabel('Requisição de quantitativo'));
     $cell->colspan = 4;
     $row = $table_requisicao->addRow();
     $row->addCell(new TLabel('Nº SRP:'))->width = '150px';
     $row->addCell($numeroSRP);
     $row->addCell(new TLabel('Nome Licitação:'))->width = '150px';
     $row->addCell($nome);
     $table_requisicao->addRowSet(new TLabel('Proc. Orig:'), $numeroProcessoOrigem, new TLabel('UASG:'), $uasg);
     $table_requisicao->addRowSet(new TLabel('Validade da Ata:'), $validadeAta, new TLabel('Nº Processo:'), $numeroProcesso);
     $table_requisicao->addRowSet(new TLabel('Data Emissão:'), $emissao);
     $row = $table_itens->addRow();
     $row->class = 'tformtitle';
     // CSS class
     $cell = $row->addCell(new TLabel('Itens'));
     $cell->colspan = 4;
     $row = $table_itens->addRow();
     $row->addCell(new TLabel('Item:'));
     $box = new THBox();
     $box->add($numeroItem);
     $box->add($descricaoSumaria)->style = 'width : 75%;display:inline-block;';
     $row->addCell($box);
     //->style = 'width : 85%';
     $table_itens->addRowSet($item_id);
     $table_itens->addRowSet(new TLabel('Preço:'), $valorUnitario);
     $table_itens->addRowSet(new TLabel('Quantidade:'), $quantidade);
     $table_itens->addRowSet(new TLabel('Prazo de entrega:'), $prazoEntrega);
     $table_itens->addRowSet(new TLabel('Justificativa:'), $justificativa);
     $row = $table_itens->addRow();
     $row->class = 'tformaction';
     $row->addCell($addItem)->colspan = 2;
     //$table_itens->addRowSet($addItem);
     parent::include_css('app/resources/custom-table.css');
     $this->datagrid = new TDataGrid();
     $this->datagrid->style = 'width: 100%';
     $this->datagrid->class = 'tdatagrid_table customized-table';
     $this->datagrid->setHeight(175);
     $this->datagrid->makeScrollable();
     $this->datagrid->disableDefaultClick();
     $GnumeroItem = new TDataGridColumn('numeroItem', 'Item', 'center', 50);
     $GdescricaoSumaria = new TDataGridColumn('descricaoSumaria', 'Descrição', 'left', 230);
     $Gquantidade = new TDataGridColumn('quantidade', 'Quantidade', 'right', 110);
     $GvalorUnitario = new TDataGridColumn('valorUnitario', 'Preço', 'right', 110);
     $Gtotal = new TDataGridColumn('total', 'Total', 'right', 160);
     //transformers
     $GvalorUnitario->setTransformer(array($this, 'formatValor'));
     $Gtotal->setTransformer(array($this, 'formatValor'));
     $edit = new TDataGridAction(array($this, 'onEditItem'));
     $edit->setLabel('Editar');
     $edit->setImage('ico_edit.png');
     $edit->setField('numeroItem');
     $delete = new TDataGridAction(array($this, 'onDeleteItem'));
     $delete->setLabel('Deletar');
     $delete->setImage('ico_delete.png');
     $delete->setField('numeroItem');
     $this->datagrid->addAction($edit);
     $this->datagrid->addAction($delete);
     $this->datagrid->addColumn($GnumeroItem);
     $this->datagrid->addColumn($GdescricaoSumaria);
     $this->datagrid->addColumn($Gquantidade);
     $this->datagrid->addColumn($GvalorUnitario);
     $this->datagrid->addColumn($Gtotal);
     $this->datagrid->createModel();
     $this->form_requisicao->setFields(array($numeroSRP, $nome, $numeroProcessoOrigem, $uasg, $validadeAta, $numeroProcesso, $emissao, $new, $save, $list));
     $this->form_itens->setFields(array($item_id, $numeroItem, $descricaoSumaria, $valorUnitario, $quantidade, $prazoEntrega, $justificativa, $addItem));
     $hbox = new THBox();
     $hbox->add($save);
     $hbox->add($new);
     $hbox->add($list);
     $table_grid = new TTable();
     $table_grid->style = 'width: 100%;border-spacing: 0px;';
     $table_grid->addRowSet($this->datagrid);
     $row = $table_grid->addRow();
     $row->class = 'tformaction';
     // CSS class
     $row->addCell($hbox)->colspan = 2;
     $vbox = new TVBox();
     $vbox->add($this->form_requisicao);
     $vbox->add($this->form_itens);
     $vbox->add($table_grid);
     $vbox->add(new TLabel(' '));
     parent::add($vbox);
 }
예제 #2
0
 /**
  * Add a multi-cell content to a table cell
  * @param $cells Each argument is a row cell
  */
 public function addMultiCell()
 {
     $wrapper = new THBox();
     $args = func_get_args();
     if ($args) {
         foreach ($args as $arg) {
             $wrapper->add($arg);
         }
     }
     $this->addCell($wrapper);
 }
예제 #3
0
 /**
  * Add a form field
  * @param $label     Field Label
  * @param $objects   Array of Objects
  * @param $required  Boolean TRUE if required
  */
 public function addQuickFields($label, $objects, $required = FALSE)
 {
     if (empty($this->currentRow) or $this->fieldPositions % $this->fieldsByRow == 0) {
         // add the field to the container
         $this->currentRow = $this->table->addRow();
     }
     $row = $this->currentRow;
     if ($required) {
         $label_field = new TLabel($label . '(*)');
         $label_field->setFontColor('#FF0000');
     } else {
         $label_field = new TLabel($label);
     }
     $row->addCell($label_field);
     $hbox = new THBox();
     foreach ($objects as $object) {
         parent::addField($object);
         $object->setLabel($label);
         $hbox->add($object);
     }
     $row->addCell($hbox);
     $this->fieldPositions++;
     return $row;
 }
예제 #4
0
 /**
  * Class constructor
  * Creates the page, the form and the listing
  */
 public function __construct()
 {
     parent::__construct();
     // Cria o form
     $this->form = new TForm('form_search_Funcionalidade');
     $this->form->class = 'tform';
     // cria a tabela
     $table = new TTable();
     $table->style = 'width:100%';
     $table->addRowSet(new TLabel('Consulta Funcionalidades'), '')->class = 'tformtitle';
     // adiciona a tabela no form
     $this->form->add($table);
     // cria os campos de pesquisa do form
     $nome = new TEntry('nome');
     $nome->setValue(TSession::getValue('Funcionalidade_nome'));
     $nome->setSize(500);
     $control = new TEntry('classe');
     $control->setValue(TSession::getValue('Funcionalidade_control'));
     $control->setSize(500);
     // adiciona linha para os campos de filtro
     $row = $table->addRowSet(new TLabel('Nome: '), $nome);
     $row = $table->addRowSet(new TLabel('Classe de Controle: '), $control);
     // cria dois botoes de acao para o form
     $find_button = new TButton('find');
     $new_button = new TButton('new');
     // define as acoes dos botoes
     $find_button->setAction(new TAction(array($this, 'onSearch')), 'Buscar');
     $find_button->setImage('ico_find.png');
     $new_button->setAction(new TAction(array('FuncionalidadeForm', 'onEdit')), 'Novo');
     $new_button->setImage('ico_new.png');
     // define quais sao os campos do form
     $this->form->setFields(array($nome, $control, $find_button, $new_button));
     $container = new THBox();
     $container->add($find_button);
     $container->add($new_button);
     //$container->style = "float: right";
     $row = $table->addRow();
     $row->class = 'tformaction';
     $cell = $row->addCell($container);
     $cell->colspan = 2;
     parent::include_css('app/resources/custom-table.css');
     // cria o datagrid
     $this->datagrid = new TDataGrid();
     $this->datagrid->style = 'width: 100%';
     $this->datagrid->class = 'tdatagrid_table customized-table';
     $this->datagrid->setHeight(320);
     // cria as colunas do datagrid
     $id = new TDataGridColumn('id', 'ID', 'right');
     $nome = new TDataGridColumn('nome', 'Nome', 'left');
     $classe = new TDataGridColumn('classe', 'Classe de Controle', 'left');
     // adiciona as colunas ao datagrid
     $this->datagrid->addColumn($id);
     $this->datagrid->addColumn($nome);
     $this->datagrid->addColumn($classe);
     // cria as acoes das colunas do datagrid
     $order_id = new TAction(array($this, 'onReload'));
     $order_id->setParameter('order', 'id');
     $id->setAction($order_id);
     $order_nome = new TAction(array($this, 'onReload'));
     $order_nome->setParameter('order', 'nome');
     $nome->setAction($order_nome);
     $order_classe = new TAction(array($this, 'onReload'));
     $order_classe->setParameter('order', 'classe');
     $classe->setAction($order_classe);
     // edicao inline
     $nome_edit = new TDataGridAction(array($this, 'onInlineEdit'));
     $nome_edit->setField('id');
     $nome->setEditAction($nome_edit);
     $classe_edit = new TDataGridAction(array($this, 'onInlineEdit'));
     $classe_edit->setField('id');
     $classe->setEditAction($classe_edit);
     // cria 2 acoes do datagrid
     $action1 = new TDataGridAction(array('FuncionalidadeForm', 'onEdit'));
     $action1->setLabel('Editar');
     $action1->setImage('ico_edit.png');
     $action1->setField('id');
     $action2 = new TDataGridAction(array($this, 'onDelete'));
     $action2->setLabel('Excluir');
     $action2->setImage('ico_delete.png');
     $action2->setField('id');
     // adiciona as acoes ao datagrid
     $this->datagrid->addAction($action1);
     $this->datagrid->addAction($action2);
     // cria o modelo do datagrid
     $this->datagrid->createModel();
     // cria o navegador de paginas
     $this->pageNavigation = new TPageNavigation();
     $this->pageNavigation->setAction(new TAction(array($this, 'onReload')));
     $this->pageNavigation->setWidth($this->datagrid->getWidth());
     // cria a estrutura da pagina usando tabela
     $table = new TTable();
     $table->style = 'width: 80%';
     $table->addRow()->addCell(new TXMLBreadCrumb('menu.xml', __CLASS__));
     $table->addRow()->addCell($this->form);
     $table->addRow()->addCell($this->datagrid);
     $table->addRow()->addCell($this->pageNavigation);
     // adiciona a tabela $table dentro da pagina
     parent::add($table);
 }
예제 #5
0
 /**
  * Show the widget at the screen
  */
 public function show()
 {
     $wrapper = new TElement('div');
     $wrapper->{'mtf_name'} = $this->getName();
     // include the needed libraries and styles
     if ($this->fields) {
         $table = new TTable();
         $mandatory = array();
         // mandatory
         $fields = array();
         $i = 0;
         if ($this->orientation == 'horizontal') {
             $row_label = $table->addRow();
             $row_field = $table->addRow();
         }
         foreach ($this->fields as $name => $obj) {
             if ($this->orientation == 'vertical') {
                 $row = $table->addRow();
                 $row_label = $row;
                 $row_field = $row;
             }
             $label = new TLabel($obj->text);
             if ($obj->mandatory) {
                 $label->setFontColor('red');
             }
             $row_label->addCell($label);
             $row_field->addCell($obj->field);
             $mandatory[] = $obj->mandatory;
             $fields[] = $name;
             $post_fields[$name] = 1;
             $sizes[$name] = $obj->size;
             $obj->field->setName($this->name . '_' . $name);
             if (in_array(get_class($obj->field), array('TComboCombined', 'Adianti\\Widget\\Form\\TComboCombined'))) {
                 $aux_name = $obj->field->getTextName();
                 $aux_full_name = $this->name . '_' . $aux_name;
                 $mandatory[] = 0;
                 $obj->field->setTextName($aux_full_name);
                 $fields[] = $aux_name;
                 $post_fields[$aux_name] = 1;
                 // invert sizes
                 $sizes[$aux_name] = $obj->size;
                 $sizes[$name] = 20;
                 $i++;
             }
             $i++;
         }
         $wrapper->add($table);
     }
     // check whether the widget is non-editable
     if (parent::getEditable()) {
         // create three buttons to control the MultiField
         $add = new TButton("{$this->name}btnStore");
         $add->setLabel(AdiantiCoreTranslator::translate('Register'));
         //$add->setName("{$this->name}btnStore");
         $add->setImage('ico_save.png');
         $add->addFunction("mtf{$this->name}.addRowFromFormFields()");
         $del = new TButton("{$this->name}btnDelete");
         $del->setLabel(AdiantiCoreTranslator::translate('Delete'));
         $del->setImage('ico_delete.png');
         $can = new TButton("{$this->name}btnCancel");
         $can->setLabel(AdiantiCoreTranslator::translate('Cancel'));
         $can->setImage('ico_close.png');
         $hbox_buttons = new THBox();
         $hbox_buttons->{'style'} = 'margin-top:3px;margin-bottom:3px';
         $hbox_buttons->add($add);
         $hbox_buttons->add($del);
         $hbox_buttons->add($can);
         $wrapper->add($hbox_buttons);
     }
     // create the MultiField Panel
     $panel = new TElement('div');
     $panel->{'class'} = "multifieldDiv";
     $input = new THidden($this->name);
     $panel->add($input);
     // create the MultiField DataGrid Header
     $table = new TTable();
     $table->{'class'} = 'multifield';
     $table->{'id'} = "{$this->name}mfTable";
     $head = new TElement('thead');
     $table->add($head);
     $row = new TTableRow();
     $head->add($row);
     // fill the MultiField DataGrid
     if ($this->fields) {
         foreach ($this->fields as $obj) {
             $c = $obj->text;
             if (in_array(get_class($obj->field), array('TComboCombined', 'Adianti\\Widget\\Form\\TComboCombined'))) {
                 $cell = $row->addCell('ID');
                 $cell->{'width'} = '20px';
                 $cell->{'class'} = 'multifield_header';
             }
             $cell = $row->addCell($c);
             $cell->{'width'} = $obj->size . 'px';
             $cell->{'class'} = 'multifield_header';
         }
     }
     $body_height = $this->height - 34;
     $body = new TElement('tbody');
     $body->{'style'} = "height: {$body_height}px";
     $body->{'class'} = 'tmultifield_scrolling';
     $table->add($body);
     if ($this->objects) {
         foreach ($this->objects as $obj) {
             if (isset($obj->id)) {
                 $row = new TTableRow();
                 $row->dbId = $obj->id;
                 $body->add($row);
             } else {
                 $row = new TTableRow();
                 $body->add($row);
             }
             if ($fields) {
                 foreach ($fields as $name) {
                     $cellValue = is_null($obj->{$name}) ? '' : $obj->{$name};
                     $original = $cellValue;
                     if (is_array(json_decode($cellValue))) {
                         $content = json_decode($cellValue);
                         $rows = array();
                         foreach ($content as $_row) {
                             $rows[] = implode(':', array_values(get_object_vars($_row)));
                         }
                         $cellValue = implode(',', $rows);
                         $cell = $row->addCell($cellValue);
                         $cell->{'data'} = htmlspecialchars($original);
                     } else {
                         $cell = $row->addCell($cellValue);
                         $cell->{'data'} = $cellValue;
                     }
                     if (isset($sizes[$name])) {
                         $cell->style = 'width:' . $sizes[$name] . 'px;';
                     }
                 }
             }
         }
     }
     $panel->add($table);
     $wrapper->add($panel);
     $wrapper->show();
     echo '<script type="text/javascript">';
     echo "var mtf{$this->name};";
     echo "mtf{$this->name} = new MultiField('{$this->name}mfTable',{$this->width},{$this->height});\n";
     $s = implode("','", $fields);
     echo "mtf{$this->name}.formFieldsAlias = Array('{$s}');\n";
     $sfields = implode("','{$this->name}_", $fields);
     echo "mtf{$this->name}.formFieldsName = Array('{$this->name}_{$sfields}');\n";
     echo "mtf{$this->name}.formPostFields = Array();\n";
     if ($post_fields) {
         foreach ($post_fields as $col => $value) {
             echo "mtf{$this->name}.formPostFields['{$col}'] = '{$value}';\n";
         }
     }
     $mdr_array = implode(',', $mandatory);
     echo "mtf{$this->name}.formFieldsMandatory = [{$mdr_array}];\n";
     echo "mtf{$this->name}.mandatoryMessage = '" . AdiantiCoreTranslator::translate('The field ^1 is required') . "';\n";
     echo "mtf{$this->name}.storeButton  = document.getElementsByName('{$this->name}btnStore')[0];\n";
     echo "mtf{$this->name}.deleteButton = document.getElementsByName('{$this->name}btnDelete')[0];\n";
     echo "mtf{$this->name}.cancelButton = document.getElementsByName('{$this->name}btnCancel')[0];\n";
     echo "mtf{$this->name}.inputResult  = document.getElementsByName('{$this->name}')[0];\n";
     echo '</script>';
 }
예제 #6
0
 function __construct()
 {
     parent::__construct();
     parent::include_css('app/resources/custom-table.css');
     //cria o formulario
     $this->form = new TForm('SrpFormView');
     $this->form->class = 'tform';
     //$this->form->style = 'max-width: 500px';
     $table = new TTable();
     $table->width = '100%';
     $this->form->add($table);
     $row = $table->addRow();
     $row->class = 'tformtitle';
     $row->addCell(new TLabel('Listagem de Itens da SRP'))->colspan = 2;
     //cria os campos do formulário
     $id = new TEntry('id');
     $numeroSRP = new TEntry('numeroSRP');
     $numeroIRP = new TEntry('numeroIRP');
     $numeroProcesso = new TEntry('numeroProcesso');
     $nome = new TEntry('nome');
     $uasg = new TEntry('uasg');
     $validade = new TDate('validade');
     $natureza = new TEntry('natureza');
     // define os tamanhos
     $id->setSize(70);
     $numeroSRP->setSize(90);
     $numeroIRP->setSize(90);
     $numeroProcesso->setSize(120);
     $nome->setSize(350);
     $uasg->setSize(70);
     $validade->setSize(90);
     $natureza->setSize(200);
     //desabilitando os campos
     $id->setEditable(false);
     $numeroSRP->setEditable(false);
     $numeroIRP->setEditable(false);
     $numeroProcesso->setEditable(false);
     $nome->setEditable(false);
     $uasg->setEditable(false);
     $validade->setEditable(false);
     $natureza->setEditable(false);
     // adiciona uma linha para cada campo no formulario
     $table->addRowSet(new TLabel('id:'), $id);
     $table->addRowSet(new TLabel('Nº SRP:'), $numeroSRP);
     $table->addRowSet(new TLabel('Nº IRP:'), $numeroIRP);
     $table->addRowSet(new TLabel('Proc. Orig.:'), $numeroProcesso);
     $table->addRowSet(new TLabel('Nome:'), $nome);
     $table->addRowSet(new TLabel('UASG:'), $uasg);
     $table->addRowSet(new TLabel('Validade:'), $validade);
     $table->addRowSet(new TLabel('Natureza:'), $natureza);
     $this->form->setFields(array($id, $numeroSRP, $numeroIRP, $numeroProcesso, $nome, $uasg, $validade, $natureza));
     //criar a datagrid
     $this->datagrid = new TDataGrid();
     $this->datagrid->class = 'tdatagrid_table customized-table';
     $this->datagrid->makeScrollable();
     $this->datagrid->disableDefaultClick();
     $this->datagrid->setHeight(180);
     //criar as colunas da datagrid
     $GnumeroItem = new TDataGridColumn('numeroItem', 'Nº Item', 'left', 50);
     $GdescricaoSumaria = new TDataGridColumn('descricaoSumaria', 'Descrição Sumária', 'left', 400);
     $GquantidadeEstimada = new TDataGridColumn('quantidadeDisponivel', 'Qtd. Estimada', 'right', 100);
     $GquantidadeDisponivel = new TDataGridColumn('estoqueDisponivel', 'Qtd. Disponível', 'right', 100);
     $GunidadeMedida = new TDataGridColumn('unidadeMedida', 'Unidade', 'left', 50);
     $GvalorUnitario = new TDataGridColumn('valorUnitario', 'Valor Unit.', 'right', 70);
     // add the columns to the DataGrid
     $this->datagrid->addColumn($GnumeroItem);
     $this->datagrid->addColumn($GdescricaoSumaria);
     $this->datagrid->addColumn($GquantidadeEstimada);
     $this->datagrid->addColumn($GquantidadeDisponivel);
     $this->datagrid->addColumn($GunidadeMedida);
     $this->datagrid->addColumn($GvalorUnitario);
     /*
             $viewDetalhe = new TDataGridAction(array($this, 'onShowDetail'));
             $viewDetalhe->setLabel('Detalhes');
             $viewDetalhe->setImage('ico_view.png');
             $viewDetalhe->setField('id');
     
             $this->datagrid->addAction($viewDetalhe);
     */
     // cria o modelo no datagrid
     $this->datagrid->createModel();
     $back_button = new TButton('back');
     $back_button->setAction(new TAction(array('SrpList', 'onReload')), 'Voltar');
     $back_button->setImage('ico_back.png');
     $this->form->addField($back_button);
     $buttons_box = new THBox();
     $buttons_box->add($back_button);
     // add a row for the form action
     $row = $table->addRow();
     $row->class = 'tformaction';
     // CSS class
     $row->addCell($buttons_box)->colspan = 2;
     // cria o container da pagina
     $container = TVBox::pack($this->form, $this->datagrid);
     parent::add($container);
 }
예제 #7
0
 /**
  * Class constructor
  * Creates the page, the form and the listing
  */
 public function __construct()
 {
     parent::__construct();
     parent::include_css('app/resources/custom-table.css');
     // creates the form
     $this->form = new TForm('form_search_Campus');
     $this->form->class = 'tform';
     // CSS class
     // creates a table
     $table = new TTable();
     $table->width = '100%';
     // add a row for the form title
     $table->addRowSet(new TLabel('Consulta Câmpus'), '')->class = 'tformtitle';
     // CSS class
     $this->form->add($table);
     // create the form fields
     $nome = new TEntry('nome');
     $nome->setValue(TSession::getValue('s_nome'));
     $uasg = new TEntry('uasg');
     $uasg->setValue(TSession::getValue('s_uasg'));
     $sigla = new TEntry('sigla');
     $sigla->setValue(TSession::getValue('s_sigla'));
     // define the sizes
     $nome->setSize(500);
     $uasg->setSize(100);
     $sigla->setSize(150);
     // add one row for each form field
     $table->addRowSet(new TLabel('Nome:'), $nome);
     $table->addRowSet(new TLabel('UASG:'), $uasg);
     $table->addRowSet(new TLabel('Sigla:'), $sigla);
     $this->form->setFields(array($nome, $uasg, $sigla));
     // keep the form filled during navigation with session data
     $this->form->setData(TSession::getValue('Campus_filter_data'));
     // create two action buttons to the form
     $find_button = TButton::create('find', array($this, 'onSearch'), 'Buscar', 'ico_find.png');
     $new_button = TButton::create('new', array('CampusForm', 'onEdit'), 'Novo', 'ico_new.png');
     $this->form->addField($find_button);
     $this->form->addField($new_button);
     $buttons_box = new THBox();
     $buttons_box->add($find_button);
     $buttons_box->add($new_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->style = 'width: 100%';
     $this->datagrid->class = 'tdatagrid_table customized-table';
     $this->datagrid->setHeight(320);
     // creates the datagrid columns
     $id = new TDataGridColumn('id', 'ID', 'right');
     $nome = new TDataGridColumn('nome', 'Nome', 'left');
     $uasg = new TDataGridColumn('uasg', 'UASG', 'left');
     $sigla = new TDataGridColumn('sigla', 'Sigla', 'left');
     // add the columns to the DataGrid
     $this->datagrid->addColumn($id);
     $this->datagrid->addColumn($nome);
     $this->datagrid->addColumn($uasg);
     $this->datagrid->addColumn($sigla);
     // creates the datagrid column actions
     $order_id = new TAction(array($this, 'onReload'));
     $order_id->setParameter('order', 'id');
     $id->setAction($order_id);
     $order_nome = new TAction(array($this, 'onReload'));
     $order_nome->setParameter('order', 'nome');
     $nome->setAction($order_nome);
     $order_uasg = new TAction(array($this, 'onReload'));
     $order_uasg->setParameter('order', 'uasg');
     $uasg->setAction($order_uasg);
     $order_sigla = new TAction(array($this, 'onReload'));
     $order_sigla->setParameter('order', 'sigla');
     $sigla->setAction($order_sigla);
     // inline editing
     $nome_edit = new TDataGridAction(array($this, 'onInlineEdit'));
     $nome_edit->setField('id');
     $nome->setEditAction($nome_edit);
     /*
             $uasg_edit = new TDataGridAction(array($this, 'onInlineEdit'));
             $uasg_edit->setField('id');
             $uasg->setEditAction($uasg_edit);
     
             $sigla_edit = new TDataGridAction(array($this, 'onInlineEdit'));
             $sigla_edit->setField('id');
             $sigla->setEditAction($sigla_edit);
     */
     // creates two datagrid actions
     $action1 = new TDataGridAction(array('CampusForm', 'onEdit'));
     $action1->setLabel(_t('Edit'));
     $action1->setImage('ico_edit.png');
     $action1->setField('id');
     $action2 = new TDataGridAction(array($this, 'onDelete'));
     $action2->setLabel(_t('Delete'));
     $action2->setImage('ico_delete.png');
     $action2->setField('id');
     // add the actions to the datagrid
     $this->datagrid->addAction($action1);
     $this->datagrid->addAction($action2);
     // 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());
     $container = new TTable();
     //$container->style = 'width: 80%';
     $container->addRow()->addCell(new TXMLBreadCrumb('menu.xml', __CLASS__));
     $container->addRow()->addCell($this->form);
     $container->addRow()->addCell($this->datagrid);
     $container->addRow()->addCell($this->pageNavigation);
     // add the container inside the page
     parent::add($container);
 }
예제 #8
0
 /**
  * Construtor
  * 
  * Criação da listagem de grupos
  */
 public function __construct()
 {
     parent::__construct();
     parent::include_css('app/resources/custom-table.css');
     // Cria o form
     $this->form = new TForm('form_search_Grupo');
     $this->form->class = 'tform';
     // cria a tabela
     $table = new TTable();
     $table->style = 'width:100%';
     //cria o titulo
     $table->addRowSet(new TLabel('Consulta Grupos'), '')->class = 'tformtitle';
     // Adiciona a tabela no form
     $this->form->add($table);
     // Cria os campos para filtro
     $nome = new TEntry('nome');
     $nome->setValue(TSession::getValue('s_nome'));
     $nome->setSize(300);
     $sigla = new TEntry('sigla');
     $sigla->setValue(TSession::getValue('s_sigla'));
     $sigla->setSize(100);
     // Adiciona linha na tabela para inserir o campos
     $row = $table->addRow();
     $row->addCell(new TLabel('Nome: '));
     $row->addCell($nome);
     $row = $table->addRow();
     $row->addCell(new TLabel('Sigla: '));
     $row->addCell($sigla);
     // cria os dois botoes de ações do form
     $find_button = new TButton('find');
     $new_button = new TButton('new');
     // define o botao de acao
     $find_button->setAction(new TAction(array($this, 'onSearch')), 'Buscar');
     $find_button->setImage('ico_find.png');
     $new_button->setAction(new TAction(array('GrupoForm', 'onEdit')), 'Novo');
     $new_button->setImage('ico_new.png');
     $container = new THBox();
     $container->add($find_button);
     $container->add($new_button);
     $row = $table->addRow();
     $row->class = 'tformaction';
     $cell = $row->addCell($container);
     $cell->colspan = 2;
     // define qual é os campos do form
     $this->form->setFields(array($nome, $sigla, $find_button, $new_button));
     // cria o datagrid
     $this->datagrid = new TDataGrid();
     $this->datagrid->style = 'width: 100%';
     $this->datagrid->class = 'tdatagrid_table customized-table';
     $this->datagrid->setHeight(320);
     // cria as colunas do datagrid
     $id = new TDataGridColumn('id', 'ID', 'center');
     $nome = new TDataGridColumn('nome', 'Nome', 'center');
     $sigla = new TDataGridColumn('sigla', 'Sigla', 'center');
     // adiciona as colunas ao datagrid
     $this->datagrid->addColumn($id);
     $this->datagrid->addColumn($nome);
     $this->datagrid->addColumn($sigla);
     // cria as acoes das colunas do datagrid (quando clica no titulo do grid)
     $order_id = new TAction(array($this, 'onReload'));
     $order_id->setParameter('order', 'id');
     $id->setAction($order_id);
     $order_nome = new TAction(array($this, 'onReload'));
     $order_nome->setParameter('order', 'nome');
     $nome->setAction($order_nome);
     $order_sigla = new TAction(array($this, 'onReload'));
     $order_sigla->setParameter('order', 'sigla');
     $sigla->setAction($order_sigla);
     // edição em linha
     $nome_edit = new TDataGridAction(array($this, 'onInlineEdit'));
     $nome_edit->setField('id');
     $nome->setEditAction($nome_edit);
     $sigla_edit = new TDataGridAction(array($this, 'onInlineEdit'));
     $sigla_edit->setField('id');
     $sigla->setEditAction($sigla_edit);
     // cria duas acoes do datagrid
     $action1 = new TDataGridAction(array('GrupoForm', 'onEdit'));
     $action1->setLabel('Editar');
     $action1->setImage('ico_edit.png');
     $action1->setField('id');
     $action2 = new TDataGridAction(array($this, 'onDelete'));
     $action2->setLabel('Excluir');
     $action2->setImage('ico_delete.png');
     $action2->setField('id');
     // adiciona as acoes ao datagrid
     $this->datagrid->addAction($action1);
     $this->datagrid->addAction($action2);
     // cria o modelo do datagrid
     $this->datagrid->createModel();
     // cria o navegador de paginas
     $this->pageNavigation = new TPageNavigation();
     $this->pageNavigation->setAction(new TAction(array($this, 'onReload')));
     $this->pageNavigation->setWidth($this->datagrid->getWidth());
     // cria a estrutura da tela usando tabelas
     $container = new TTable();
     //$container->style = 'width: 80%';
     $container->addRow()->addCell(new TXMLBreadCrumb('menu.xml', __CLASS__));
     $container->addRow()->addCell($this->form);
     $container->addRow()->addCell($this->datagrid);
     $container->addRow()->addCell($this->pageNavigation);
     // add the container inside the page
     parent::add($container);
 }
예제 #9
0
 /**
  * Class constructor
  * Creates the page and the registration form
  */
 function __construct()
 {
     parent::__construct();
     // Cria o form
     $this->form = new TForm('form_Usuario');
     $this->form->class = 'tform';
     // creates the table container
     $table = new TTable();
     $table->style = 'width: 100%';
     $table->addRowSet(new TLabel('Usuário'), '', '', '')->class = 'tformtitle';
     // adiciona a tabela no form
     $this->form->add($table);
     $frame_grupos = new TFrame(NULL, 280);
     $frame_grupos->setLegend('Grupos');
     $frame_grupos->style .= ';margin: 4px';
     $frame_funcionalidades = new TFrame(NULL, 280);
     $frame_funcionalidades->setLegend('Funcionalidades');
     $frame_funcionalidades->style .= ';margin: 15px';
     // cria os campos de pesquisa do form
     $id = new TEntry('id');
     $nome = new TEntry('nome');
     $prontuario = new TEntry('prontuario');
     $password = new TPassword('senha');
     $repassword = new TPassword('resenha');
     $email = new TEntry('email');
     $multifield_funcionalidades = new TMultiField('funcionalidades');
     $funcionalidade_id = new TDBSeekButton('funcionalidade_id', 'saciq', 'form_Usuario', 'Funcionalidade', 'nome', 'funcionalidades_id', 'funcionalidades_nome');
     $funcionalidade_nome = new TEntry('funcionalidade_nome');
     $grupos = new TDBCheckGroup('grupos', 'saciq', 'Grupo', 'id', 'nome');
     //$frontpage_id        = new TDBSeekButton('frontpage_id', 'saciq', 'form_Usuario', 'Funcionalidade', 'nome', 'frontpage_id', 'frontpage_nome');
     //$frontpage_nome      = new TEntry('frontpage_nome');
     $scroll = new TScroll();
     $scroll->setSize(290, 230);
     $scroll->add($grupos);
     $frame_grupos->add($scroll);
     $frame_funcionalidades->add($multifield_funcionalidades);
     // define the sizes
     $id->setSize(100);
     $nome->setSize(350);
     $prontuario->setSize(150);
     $password->setSize(150);
     $repassword->setSize(150);
     $email->setSize(250);
     $multifield_funcionalidades->setHeight(140);
     // outros
     $id->setEditable(false);
     $funcionalidade_nome->setEditable(false);
     $email->setProperty('autocomplete', 'off');
     // validations
     $nome->addValidation('Nome', new TRequiredValidator());
     $prontuario->addValidation('Prontuário', new TRequiredValidator());
     $email->addValidation('Email', new TEmailValidator());
     $nome->addValidation('Nome', new TMaxLengthValidator(), array(60));
     $prontuario->addValidation('Prontuário', new TMaxLengthValidator(), array(60));
     $email->addValidation('Email', new TMaxLengthValidator(), array(60));
     $funcionalidade_id->setSize(50);
     $funcionalidade_nome->setSize(200);
     // configuracoes multifield
     $multifield_funcionalidades->setClass('Funcionalidade');
     $multifield_funcionalidades->addField('id', 'ID', $funcionalidade_id, 60, true);
     $multifield_funcionalidades->addField('nome', 'Nome', $funcionalidade_nome, 250);
     $multifield_funcionalidades->setOrientation('horizontal');
     // add a row for the field id
     $table->addRowSet(new TLabel('ID:'), $id, new TLabel('Nome: '), $nome);
     $table->addRowSet(new TLabel('Prontuário: '), $prontuario, new TLabel('Email: '), $email);
     $table->addRowSet(new TLabel('Senha: '), $password, new TLabel('Confirmação <br>da senha: '), $repassword);
     $row = $table->addRow();
     $cell = $row->addCell($frame_grupos);
     $cell->colspan = 2;
     $cell = $row->addCell($frame_funcionalidades);
     $cell->colspan = 2;
     // create an action button (save)
     $save_button = new TButton('save');
     $save_button->setAction(new TAction(array($this, 'onSave')), 'Salvar');
     $save_button->setImage('ico_save.png');
     // create an new button (edit with no parameters)
     $new_button = new TButton('new');
     $new_button->setAction(new TAction(array($this, 'onEdit')), 'Novo');
     $new_button->setImage('ico_new.png');
     $list_button = new TButton('list');
     $list_button->setAction(new TAction(array('UsuarioList', 'onReload')), 'Voltar para a listagem');
     $list_button->setImage('ico_datagrid.png');
     // define the form fields
     $this->form->setFields(array($id, $nome, $prontuario, $password, $repassword, $multifield_funcionalidades, $grupos, $email, $save_button, $new_button, $list_button));
     $buttons = new THBox();
     $buttons->add($save_button);
     $buttons->add($new_button);
     $buttons->add($list_button);
     $row = $table->addRow();
     $row->class = 'tformaction';
     $cell = $row->addCell($buttons);
     $cell->colspan = 4;
     $container = new TTable();
     //$container->style = 'width: 80%';
     $container->addRow()->addCell(new TXMLBreadCrumb('menu.xml', 'UsuarioList'));
     $container->addRow()->addCell($this->form);
     // add the form to the page
     parent::add($container);
 }
예제 #10
0
 /**
  * Class constructor
  * Creates the page, the form and the listing
  */
 public function __construct()
 {
     parent::__construct();
     parent::include_css('app/resources/custom-table.css');
     // Cria o form
     $this->form = new TForm('form_search_Usuario');
     $this->form->class = 'tform';
     // cria a tabela
     $table = new TTable();
     $table->style = 'width:100%';
     $table->addRowSet(new TLabel('Consulta Usuários'), '')->class = 'tformtitle';
     // adiciona a tabela no form
     $this->form->add($table);
     // cria os campos de pesquisa do form
     //$id = new TEntry('id');
     //$id->setValue(TSession::getValue('Usuario_id'));
     $nome = new TEntry('nome');
     $nome->setValue(TSession::getValue('Usuario_nome'));
     $nome->setSize(300);
     // add a row for the filter field
     //$table->addRowSet(new TLabel('ID:'), $id);
     $table->addRowSet(new TLabel('Nome: '), $nome);
     // cria dois botoes de acao para o form
     $find_button = new TButton('find');
     $new_button = new TButton('new');
     // define as acoes dos botoes
     $find_button->setAction(new TAction(array($this, 'onSearch')), 'Buscar');
     $find_button->setImage('ico_find.png');
     $new_button->setAction(new TAction(array('UsuarioForm', 'onEdit')), 'Novo');
     $new_button->setImage('ico_new.png');
     // add a row for the form actions
     $container = new THBox();
     $container->add($find_button);
     $container->add($new_button);
     $row = $table->addRow();
     $row->class = 'tformaction';
     $cell = $row->addCell($container);
     $cell->colspan = 2;
     // define wich are the form fields
     $this->form->setFields(array($nome, $find_button, $new_button));
     // creates a DataGrid
     $this->datagrid = new TDataGrid();
     $this->datagrid->setHeight(320);
     $this->datagrid->class = 'tdatagrid_table customized-table';
     $this->datagrid->style = 'width: 100%';
     // creates the datagrid columns
     $id = new TDataGridColumn('id', 'ID', 'right');
     $nome = new TDataGridColumn('nome', 'Nome', 'left');
     $prontuario = new TDataGridColumn('prontuario', 'Prontuario', 'left');
     $email = new TDataGridColumn('email', 'Email', 'left');
     // add the columns to the DataGrid
     $this->datagrid->addColumn($id);
     $this->datagrid->addColumn($nome);
     $this->datagrid->addColumn($prontuario);
     $this->datagrid->addColumn($email);
     // creates the datagrid column actions
     $order_id = new TAction(array($this, 'onReload'));
     $order_id->setParameter('order', 'id');
     $id->setAction($order_id);
     $order_nome = new TAction(array($this, 'onReload'));
     $order_nome->setParameter('order', 'nome');
     $nome->setAction($order_nome);
     // inline editing
     $nome_edit = new TDataGridAction(array($this, 'onInlineEdit'));
     $nome_edit->setField('id');
     $nome->setEditAction($nome_edit);
     // creates two datagrid actions
     $action1 = new TDataGridAction(array('UsuarioForm', 'onEdit'));
     $action1->setLabel('Editar');
     $action1->setImage('ico_edit.png');
     $action1->setField('id');
     $action2 = new TDataGridAction(array($this, 'onDelete'));
     $action2->setLabel('Excluir');
     $action2->setImage('ico_delete.png');
     $action2->setField('id');
     // add the actions to the datagrid
     $this->datagrid->addAction($action1);
     $this->datagrid->addAction($action2);
     // 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());
     // creates the page structure using a table
     $table = new TTable();
     //$table->style = 'width: 80%';
     $table->addRow()->addCell(new TXMLBreadCrumb('menu.xml', __CLASS__));
     $table->addRow()->addCell($this->form);
     $table->addRow()->addCell($this->datagrid);
     $table->addRow()->addCell($this->pageNavigation);
     // add the table inside the page
     parent::add($table);
 }
예제 #11
0
 /**
  * Class constructor
  * Creates the page, the form and the listing
  */
 public function __construct()
 {
     parent::__construct();
     // creates the form
     $this->form = new TForm('form_search_Requisicao');
     $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('Consulta Requisicao'))->colspan = 2;
     // create the form fields
     $numeroProcesso = new TEntry('numeroProcesso');
     // define the sizes
     $numeroProcesso->setSize(200);
     $numeroProcesso->setMaxLength(30);
     $numeroProcesso->setTip('Número do processo gerado no SIGA');
     // add one row for each form field
     $table->addRowSet(new TLabel('Nº do Processo:'), $numeroProcesso);
     $this->form->setFields(array($numeroProcesso));
     // keep the form filled during navigation with session data
     $this->form->setData(TSession::getValue('Requisicao_filter_data'));
     // create two action buttons to the form
     $find_button = TButton::create('find', array($this, 'onSearch'), 'Buscar', 'ico_find.png');
     $new_button = TButton::create('new', array('RequisicaoForm', 'onEdit'), 'Novo', 'ico_new.png');
     $this->form->addField($find_button);
     $this->form->addField($new_button);
     $buttons_box = new THBox();
     $buttons_box->add($find_button);
     $buttons_box->add($new_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
     parent::include_css('app/resources/custom-table.css');
     $this->datagrid = new TDataGrid();
     $this->datagrid->class = 'tdatagrid_table customized-table';
     $this->datagrid->setHeight(320);
     // creates the datagrid columns
     $id = new TDataGridColumn('id', 'ID', 'right', 80);
     $srp = new TDataGridColumn('numeroSRP', 'Nº SRP', 'left', 100);
     $numeroProcesso = new TDataGridColumn('numeroProcesso', 'Nº do processo', 'left', 250);
     $data = new TDataGridColumn('emissao', 'Data', 'left', 100);
     $id->setTransformer(array($this, 'rowFormat'));
     // add the columns to the DataGrid
     $this->datagrid->addColumn($id);
     $this->datagrid->addColumn($srp);
     $this->datagrid->addColumn($numeroProcesso);
     $this->datagrid->addColumn($data);
     // creates two datagrid actions
     $action1 = new TDataGridAction(array('RequisicaoForm', 'onEdit'));
     //$action1 = new TDataGridAction(array($this, 'onCheckValidadeSRP'));
     $action1->setLabel('Editar');
     $action1->setImage('ico_edit.png');
     $action1->setField('id');
     $action1->setDisplayCondition(array($this, 'onDisplayConditionEdit'));
     $action2 = new TDataGridAction(array($this, 'onDelete'));
     $action2->setLabel('Excluir');
     $action2->setImage('ico_delete.png');
     $action2->setField('id');
     $actAprovar = new TDataGridAction(array($this, 'onQuestionAprovarRequisicao'));
     $actAprovar->setLabel('Aprovar Requisição');
     $actAprovar->setImage('fa:check fa-fw');
     $actAprovar->setField('id');
     $actAprovar->setDisplayCondition(array($this, 'onDisplayConditionEdit'));
     // add the actions to the datagrid
     $this->datagrid->addAction($action1);
     $this->datagrid->addAction($action2);
     $this->datagrid->addAction($actAprovar);
     // 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());
     //limpar a sessao com detalhes de itens e requisicao
     TSession::delValue('requisicao_itens');
     TSession::delValue('SRP_id');
     TSession::delValue('form_requisicao');
     // create the page container
     //$container = TVBox::pack($this->form, $this->datagrid, $this->pageNavigation);
     $container = new TTable();
     $container->addRow()->addCell(new TXMLBreadCrumb('menu.xml', __CLASS__));
     $container->addRow()->addCell($this->form);
     $container->addRow()->addCell($this->datagrid);
     $container->addRow()->addCell($this->pageNavigation);
     parent::add($container);
 }
예제 #12
0
 function __construct()
 {
     parent::__construct();
     $this->form = new TForm('doc_cessao_form');
     $this->form->style = 'width : 500px;';
     $this->form->class = 'tform';
     $table = new TTable();
     $table->width = '100%';
     $this->form->add($table);
     $row = $table->addRow();
     $row->class = 'tformtitle';
     // CSS class
     $row->addCell(new TLabel('Gerar Documentos da Cessão'))->colspan = 2;
     // cria os campos do formulário
     $memorando = new TEntry('memorando');
     //$cidade = new TEntry('cidade');
     $emissao = new TDate('emissao');
     $campusID = new TEntry('campusID');
     //TDBSeekButton('campusID', 'saciq', 'doc_cessao_form', 'Campus', 'nome', 'campusID', 'campusNome');
     $campusNome = new TEntry('campusNome');
     $gerente = new TEntry('gerente');
     $diretor = new TEntry('diretor');
     $cessao_id = new THidden('cessao_id');
     // define the sizes
     $memorando->setSize(300);
     //$cidade->setSize(200);
     $emissao->setSize(90);
     $emissao->setProperty('style', 'margin-right : 0px');
     $campusID->setSize(50);
     $campusID->setEditable(false);
     $campusNome->setSize(226);
     $campusNome->setEditable(false);
     $gerente->setSize(300);
     $diretor->setSize(300);
     //mascara
     $emissao->setMask('dd/mm/yyyy');
     $emissao->setValue(date('d/m/Y'));
     //validadores
     $memorando->addValidation('Memorando', new TRequiredValidator());
     $memorando->addValidation('Memorando', new TMaxLengthValidator(), array(70));
     $emissao->addValidation('Emissão', new TRequiredValidator());
     $campusID->addValidation('Destino', new TRequiredValidator());
     $gerente->addValidation('Gerente Administrativo(a)', new TRequiredValidator());
     $gerente->addValidation('Gerente Administrativo(a)', new TMaxLengthValidator(), array(70));
     $diretor->addValidation('Diretor(a) Geral', new TRequiredValidator());
     $diretor->addValidation('Diretor(a) Geral', new TMaxLengthValidator(), array(70));
     $memorando->setTip('Descrição do Memorando que aparecerá no início do documento.');
     $gerente->setTip('Nome do gerente em exercício');
     $diretor->setTip('Nome do diretor geral em exercício');
     $value = TSession::getValue('doc_cessao_form_cessao_id');
     if (isset($value)) {
         $cessao_id->setValue($value);
     }
     // add one row for each form field
     $table->addRowSet(new TLabel('Memorando:'), $memorando);
     //$table->addRowSet(new TLabel('Cidade:'), $cidade);
     $table->addRowSet(new TLabel('Emissão:'), $emissao);
     //$table->addRowSet(new TLabel('Destino:'), $destino);
     //$row = $table->addRow();
     $box = new THBox();
     $box->add($campusID);
     $box->add($campusNome)->style = 'width: 75%; display : inline-block;';
     //$row->addCell($box)->colspan = 2;
     $table->addRowSet(new TLabel('Destino:'), $box);
     $table->addRowSet(new TLabel('Gerente Administrativo(a):'), $gerente);
     $table->addRowSet(new TLabel('Diretor(a):'), $diretor);
     $table->addRowSet($cessao_id);
     $this->form->setFields(array($memorando, $emissao, $campusID, $campusNome, $gerente, $diretor, $cessao_id));
     // keep the form filled during navigation with session data
     $this->form->setData(TSession::getValue('Cessao_filter_data'));
     // create two action buttons to the form
     $generate_button = TButton::create('generate', array($this, 'onGenerate'), 'Gerar', 'fa:file-pdf-o');
     $back_button = TButton::create('back', array('DocCessaoList', 'onReload'), 'Voltar', 'ico_back.png');
     //$new_button  = TButton::create('new',  array('CessaoForm', 'onEdit'), 'Novo', 'ico_new.png');
     $this->form->addField($generate_button);
     $this->form->addField($back_button);
     $buttons_box = new THBox();
     $buttons_box->add($generate_button);
     $buttons_box->add($back_button);
     // add a row for the form action
     $row = $table->addRow();
     $row->class = 'tformaction';
     // CSS class
     $row->addCell($buttons_box)->colspan = 2;
     // create the page container
     //$container = TVBox::pack($this->form);
     parent::add($this->form);
 }
예제 #13
0
 /**
  * Class constructor
  * Creates the page and the registration form
  */
 function __construct()
 {
     parent::__construct();
     // creates the table container
     $table = new TTable();
     $table->style = 'width:100%';
     $frame_funcionalidades = new TFrame();
     $frame_funcionalidades->setLegend('Funcionalidades');
     // Cria o form
     $this->form = new TForm('form_Grupo');
     $this->form->class = 'tform';
     // add the notebook inside the form
     $this->form->add($table);
     $table->addRowSet(new TLabel('Grupo'), '')->class = 'tformtitle';
     // cria os campos de pesquisa do form
     $id = new TEntry('id');
     $nome = new TEntry('nome');
     $sigla = new TEntry('sigla');
     $this->list1 = new TSortList('list1');
     $this->list2 = new TSortList('list2');
     $this->list1->setSize(300, 200);
     $this->list2->setSize(300, 200);
     $this->list1->connectTo($this->list2);
     $this->list2->connectTo($this->list1);
     /* $multifield = new TMultiField('programs');
               $program_id = new TDBSeekButton('program_id', 'saciq', 'form_Grupo', 'Funcionalidade', 'nome', 'programs_id', 'programs_nome');
               $program_nome = new TEntry('program_nome');
     
               $frame_programs->add($multifield);
     
               $multifield->setHeight(140);
               $multifield->setClass('Funcionalidade');
               $multifield->addField('id', 'ID', $program_id, 100, true);
               $multifield->addField('nome', 'Funcionalidade', $program_nome, 250);
               $multifield->setOrientation('horizontal'); */
     // define the sizes
     //$program_id->setSize(70);
     $id->setSize(100);
     $nome->setSize(400);
     $sigla->setSize(150);
     // validations
     $nome->addValidation('Nome', new TRequiredValidator());
     $sigla->addValidation('Sigla', new TRequiredValidator());
     $nome->addValidation('Nome', new TMaxLengthValidator(), array(45));
     $sigla->addValidation('Sigla', new TMaxLengthValidator(), array(10));
     // outras propriedades
     $id->setEditable(false);
     //$program_nome->setEditable(false);
     // add a row for the field id
     $table->addRowSet(new TLabel('ID:'), $id);
     $table->addRowSet(new TLabel('Nome: '), $nome);
     $table->addRowSet(new TLabel('Sigla:'), $sigla);
     // add a row for the field nome
     //$row = $table->addRow();
     //$cell = $row->addCell($frame_programs);
     //$cell->colspan = 2;
     $vbox1 = new TVBox();
     $vbox1->add(new TLabel('<b>Disponível</b>'));
     $vbox1->add($this->list1);
     $vbox2 = new TVBox();
     $vbox2->add(new TLabel('<b>Selecionado</b>'));
     $vbox2->add($this->list2);
     $hbox = new THBox();
     $hbox->add($vbox1);
     $hbox->add($vbox2);
     $frame_funcionalidades->add($hbox);
     $row = $table->addRow();
     $cell = $row->addCell($frame_funcionalidades);
     $cell->colspan = 2;
     // create an action button (save)
     $save_button = new TButton('save');
     $save_button->setAction(new TAction(array($this, 'onSave')), 'Salvar');
     $save_button->setImage('ico_save.png');
     // create an new button (edit with no parameters)
     $new_button = new TButton('new');
     $new_button->setAction(new TAction(array($this, 'onEdit')), 'Novo');
     $new_button->setImage('ico_new.png');
     $list_button = new TButton('list');
     $list_button->setAction(new TAction(array('GrupoList', 'onReload')), 'Voltar para a listagem');
     $list_button->setImage('ico_datagrid.png');
     // define the form fields
     $this->form->setFields(array($id, $nome, $sigla, $this->list1, $this->list2, $save_button, $new_button, $list_button));
     $buttons = new THBox();
     $buttons->add($save_button);
     $buttons->add($new_button);
     $buttons->add($list_button);
     $container = new TTable();
     //$container->width = '80%';
     $container->addRow()->addCell(new TXMLBreadCrumb('menu.xml', 'GrupoList'));
     $container->addRow()->addCell($this->form);
     $row = $table->addRow();
     $row->class = 'tformaction';
     $cell = $row->addCell($buttons);
     $cell->colspan = 2;
     // add the form to the page
     parent::add($container);
 }
예제 #14
0
 /**
  * Class constructor
  * Creates the page, the form and the listing
  */
 public function __construct()
 {
     parent::__construct();
     // creates the form
     $this->form = new TForm('form_Desaprovar_Cessao');
     $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('Desaprovar Cessao'))->colspan = 2;
     // create the form fields
     $numeroCessao = new TEntry('numeroCessao');
     $numeroCessao->setTip('Número do processo gerado no SIGA');
     // define the sizes
     $numeroCessao->setSize(200);
     // add one row for each form field
     $table->addRowSet(new TLabel('Nº da Cessão:'), $numeroCessao);
     $this->form->setFields(array($numeroCessao));
     // keep the form filled during navigation with session data
     $this->form->setData(TSession::getValue('Cessao_filter_data'));
     // create two action buttons to the form
     $find_button = TButton::create('find', array($this, 'onSearch'), 'Buscar', 'ico_find.png');
     //$new_button  = TButton::create('new',  array('CessaoForm', 'onEdit'), 'Novo', 'ico_new.png');
     $this->form->addField($find_button);
     //$this->form->addField($new_button);
     $buttons_box = new THBox();
     $buttons_box->add($find_button);
     //$buttons_box->add($new_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
     parent::include_css('app/resources/custom-table.css');
     $this->datagrid = new TDataGrid();
     $this->datagrid->class = 'tdatagrid_table customized-table';
     $this->datagrid->setHeight(320);
     $this->datagrid->makeScrollable();
     $this->datagrid->disableDefaultClick();
     // creates the datagrid columns
     $id = new TDataGridColumn('id', 'ID', 'right', 80);
     $srp = new TDataGridColumn('numeroSRP', 'Nº SRP', 'left', 100);
     $numeroCessao = new TDataGridColumn('numeroCessao', 'Nº da Cessão', 'left', 250);
     $data = new TDataGridColumn('emissao', 'Data', 'left', 100);
     // add the columns to the DataGrid
     $this->datagrid->addColumn($id);
     $this->datagrid->addColumn($srp);
     $this->datagrid->addColumn($numeroCessao);
     $this->datagrid->addColumn($data);
     // creates two datagrid actions
     $action1 = new TDataGridAction(array($this, 'onQuestionAprovarCessao'));
     $action1->setLabel('Desaprovar Cessao');
     $action1->setImage('fa:history fa-fw');
     $action1->setField('id');
     // add the actions to the datagrid
     $this->datagrid->addAction($action1);
     // create the datagrid model
     $this->datagrid->createModel();
     //limpar a sessao com detalhes de itens e cessao
     TSession::delValue('cessao_itens');
     TSession::delValue('SRP_id');
     TSession::delValue('form_cessao');
     // create the page container
     //$container = TVBox::pack( $this->form, $this->datagrid);
     $container = new TTable();
     $container->addRow()->addCell(new TXMLBreadCrumb('menu.xml', __CLASS__));
     $container->addRow()->addCell($this->form);
     $container->addRow()->addCell($this->datagrid);
     //$container->addRow()->addCell($this->pageNavigation);
     parent::add($container);
 }
예제 #15
0
 /**
  * Class constructor
  * Creates the page, the form and the listing
  */
 public function __construct()
 {
     parent::__construct();
     parent::include_css('app/resources/custom-table.css');
     // creates the form
     $this->form = new TForm('form_search_Subelemento');
     $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';
     $row->addCell(new TLabel('Consulta SubElemento'))->colspan = 2;
     //$table->addRowSet( new TLabel('Consulta SubElemento') ,'')->class = 'tformtitle'; // CSS class
     // create the form fields
     $descricao = new TEntry('descricao');
     // define the sizes
     $descricao->setSize(350);
     // add one row for each form field
     $table->addRowSet(new TLabel('Descrição:'), $descricao);
     $this->form->setFields(array($descricao));
     // keep the form filled during navigation with session data
     $this->form->setData(TSession::getValue('Subelemento_filter_data'));
     // create two action buttons to the form
     $find_button = TButton::create('find', array($this, 'onSearch'), _t('Find'), 'ico_find.png');
     $this->form->addField($find_button);
     $buttons_box = new THBox();
     $buttons_box->add($find_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->style = 'width: 100%';
     $this->datagrid->class = 'tdatagrid_table customized-table';
     $this->datagrid->setHeight(320);
     // creates the datagrid columns
     $id = new TDataGridColumn('id', 'ID', 'right', 100);
     $descricao = new TDataGridColumn('descricao', 'Descrição', 'left');
     // add the columns to the DataGrid
     $this->datagrid->addColumn($id);
     $this->datagrid->addColumn($descricao);
     // creates the datagrid column actions
     $order_id = new TAction(array($this, 'onReload'));
     $order_id->setParameter('order', 'id');
     $id->setAction($order_id);
     $order_descricao = new TAction(array($this, 'onReload'));
     $order_descricao->setParameter('order', 'descricao');
     $descricao->setAction($order_descricao);
     // 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 = new TTable();
     //$container->style = 'width: 80%';
     $container->addRow()->addCell(new TXMLBreadCrumb('menu.xml', __CLASS__));
     $container->addRow()->addCell($this->form);
     $container->addRow()->addCell($this->datagrid);
     $container->addRow()->addCell($this->pageNavigation);
     parent::add($container);
 }
예제 #16
0
 /**
  * Show the widget at the screen
  */
 public function show()
 {
     $wrapper = new TElement('div');
     $wrapper->{'mtf_name'} = $this->getName();
     // include the needed libraries and styles
     if ($this->fields) {
         $table = new TTable();
         $mandatories = array();
         // mandatory
         $fields = array();
         $i = 0;
         if ($this->orientation == 'horizontal') {
             $row_label = $table->addRow();
             $row_field = $table->addRow();
         }
         foreach ($this->fields as $name => $obj) {
             if ($this->orientation == 'vertical') {
                 $row = $table->addRow();
                 $row_label = $row;
                 $row_field = $row;
             }
             $label = new TLabel($obj->text);
             if ($obj->mandatory) {
                 $label->setFontColor('red');
             }
             $row_label->addCell($label);
             $row_field->addCell($obj->field);
             $mandatories[] = $obj->mandatory;
             $fields[] = $name;
             $post_fields[$name] = 1;
             $sizes[$name] = $obj->size;
             $obj->field->setName($this->name . '_' . $name);
             if (in_array(get_class($obj->field), array('TComboCombined', 'Adianti\\Widget\\Form\\TComboCombined'))) {
                 $aux_name = $obj->field->getTextName();
                 $aux_full_name = $this->name . '_' . $aux_name;
                 $mandatories[] = 0;
                 $obj->field->setTextName($aux_full_name);
                 $fields[] = $aux_name;
                 $post_fields[$aux_name] = 1;
                 // invert sizes
                 $sizes[$aux_name] = $obj->size;
                 $sizes[$name] = 20;
                 $i++;
             }
             $i++;
         }
         $wrapper->add($table);
     }
     // check whether the widget is non-editable
     if (parent::getEditable()) {
         // create three buttons to control the MultiField
         $add = new TButton("{$this->name}btnStore");
         $add->setLabel(AdiantiCoreTranslator::translate('Register'));
         $add->setImage('fa:angle-double-down');
         $add->addFunction("multifields['{$this->name}'].addRowFromFormFields()");
         $del = new TButton("{$this->name}btnDelete");
         $del->setLabel(AdiantiCoreTranslator::translate('Delete'));
         $del->setImage('fa:trash');
         $can = new TButton("{$this->name}btnCancel");
         $can->setLabel(AdiantiCoreTranslator::translate('Cancel'));
         $can->setImage('fa:times-circle');
         $hbox_buttons = new THBox();
         $hbox_buttons->{'style'} = 'margin-top:3px;margin-bottom:3px';
         $hbox_buttons->add($add);
         $hbox_buttons->add($del);
         $hbox_buttons->add($can);
         $wrapper->add($hbox_buttons);
     }
     // create the MultiField Panel
     $panel = new TElement('div');
     $panel->{'class'} = "multifieldDiv";
     $input = new THidden($this->name);
     $panel->add($input);
     // create the MultiField DataGrid Header
     $table = new TTable();
     $table->{'class'} = 'multifield';
     $table->{'id'} = "{$this->name}mfTable";
     $head = new TElement('thead');
     $table->add($head);
     $row = new TTableRow();
     $head->add($row);
     // fill the MultiField DataGrid
     if ($this->fields) {
         foreach ($this->fields as $obj) {
             $c = $obj->text;
             if (in_array(get_class($obj->field), array('TComboCombined', 'Adianti\\Widget\\Form\\TComboCombined'))) {
                 $cell = $row->addCell('ID');
                 $cell->{'width'} = '20px';
                 $cell->{'class'} = 'multifield_header';
             }
             $cell = $row->addCell($c);
             $cell->{'width'} = $obj->size . 'px';
             $cell->{'class'} = 'multifield_header';
         }
     }
     $body_height = $this->height - 34;
     $body = new TElement('tbody');
     $body->{'style'} = "height: {$body_height}px";
     $body->{'class'} = 'tmultifield_scrolling';
     $table->add($body);
     if ($this->objects) {
         foreach ($this->objects as $obj) {
             if (isset($obj->id)) {
                 $row = new TTableRow();
                 $row->dbId = $obj->id;
                 $body->add($row);
             } else {
                 $row = new TTableRow();
                 $body->add($row);
             }
             if ($fields) {
                 foreach ($fields as $name) {
                     $cellValue = is_null($obj->{$name}) ? '' : $obj->{$name};
                     $original = $cellValue;
                     if (is_array(json_decode($cellValue))) {
                         $content = json_decode($cellValue);
                         $rows = array();
                         foreach ($content as $_row) {
                             $rows[] = implode(':', array_values(get_object_vars($_row)));
                         }
                         $cellValue = implode(',', $rows);
                         $cell = $row->addCell($cellValue);
                         $cell->{'data'} = htmlspecialchars($original);
                     } else {
                         $cell = $row->addCell($cellValue);
                         $cell->{'data'} = $cellValue;
                     }
                     if (isset($sizes[$name])) {
                         $cell->style = 'width:' . $sizes[$name] . 'px;';
                     }
                 }
             }
         }
     }
     $panel->add($table);
     $wrapper->add($panel);
     $wrapper->show();
     $fields_json = json_encode($fields);
     $mandatories_json = json_encode($mandatories);
     TScript::create(" tmultifield_start( '{$this->name}', {$fields_json}, {$mandatories_json}, {$this->width},{$this->height} ) ");
 }
예제 #17
0
 /**
  * Class constructor
  * Creates the page and the registration form
  */
 function __construct()
 {
     parent::__construct();
     // creates the form
     $this->form = new TForm('form_Campus');
     $this->form->class = 'tform';
     // CSS class
     //$this->form->style = 'width: 500px';
     // add a table inside form
     $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('Cadastro de Câmpus'))->colspan = 2;
     // create the form fields
     $id = new TEntry('id');
     $nome = new TEntry('nome');
     $uasg = new TEntry('uasg');
     $sigla = new TEntry('sigla');
     $id->setEditable(FALSE);
     // define the sizes
     $id->setSize(50);
     $nome->setSize(400);
     $uasg->setSize(150);
     $sigla->setSize(100);
     // validations
     $nome->addValidation('Nome', new TRequiredValidator());
     $uasg->addValidation('UASG', new TRequiredValidator());
     $sigla->addValidation('Sigla', new TRequiredValidator());
     $nome->addValidation('Nome', new TMaxLengthValidator(), array(50));
     $uasg->addValidation('UASG', new TMaxLengthValidator(), array(10));
     $sigla->addValidation('Sigla', new TMaxLengthValidator(), array(3));
     // add one row for each form field
     $table->addRowSet(new TLabel('ID:'), $id);
     $table->addRowSet($label_nome = new TLabel('Nome:'), $nome);
     //$label_nome->setFontColor('#FF0000');
     $table->addRowSet($label_uasg = new TLabel('UASG:'), $uasg);
     //$label_uasg->setFontColor('#FF0000');
     $table->addRowSet($label_sigla = new TLabel('Sigla:'), $sigla);
     //$label_sigla->setFontColor('#FF0000');
     $this->form->setFields(array($id, $nome, $uasg, $sigla));
     // create the form actions
     $save_button = TButton::create('save', array($this, 'onSave'), 'Salvar', 'ico_save.png');
     $new_button = TButton::create('new', array($this, 'onEdit'), 'Novo', 'ico_new.png');
     $back_button = TButton::create('back', array('CampusList', 'onReload'), 'Voltar para a listagem', 'ico_datagrid.png');
     $this->form->addField($save_button);
     $this->form->addField($new_button);
     $this->form->addField($back_button);
     $buttons_box = new THBox();
     $buttons_box->add($save_button);
     $buttons_box->add($new_button);
     $buttons_box->add($back_button);
     // add a row for the form action
     $row = $table->addRow();
     $row->class = 'tformaction';
     // CSS class
     $row->addCell($buttons_box)->colspan = 2;
     $container = new TTable();
     //$container->style = 'width: 80%';
     $container->addRow()->addCell(new TXMLBreadCrumb('menu.xml', 'CampusList'));
     $container->addRow()->addCell($this->form);
     parent::add($container);
 }