示例#1
0
 /**
  * Class constructor
  * Creates the page and the registration form
  */
 function __construct()
 {
     parent::__construct();
     // creates the form
     $this->form = new TForm('form_Cessao_report');
     $this->form->class = 'tform';
     // CSS class
     $this->form->style = 'width: 500px';
     // creates the table container
     $table = new TTable();
     $table->width = '100%';
     // add the table inside the form
     $this->form->add($table);
     // define the form title
     $row = $table->addRow();
     //Set( new TLabel('Relatório de Cessão'), '', '','', '' )->class = 'tformtitle';
     $row->class = 'tformtitle';
     $row->addCell(new TLabel('Relatório de Cessão'))->colspan = 2;
     // create the form fields
     $numeroCessaoI = new TEntry('numeroCessaoI');
     $numeroCessaoF = new TEntry('numeroCessaoF');
     $emissaoI = new TDate('emissaoI');
     $emissaoF = new TDate('emissaoF');
     $aprovado = new TRadioGroup('aprovado');
     // define the sizes
     $numeroCessaoI->setSize(100);
     $numeroCessaoF->setSize(100);
     $emissaoI->setSize(85);
     $emissaoI->setProperty('style', 'margin-right : 0px');
     $emissaoF->setSize(85);
     $emissaoF->setProperty('style', 'margin-right : 0px');
     //$aprovado->setSize(90);
     //mask
     $emissaoI->setMask('dd/mm/yyyy');
     $emissaoF->setMask('dd/mm/yyyy');
     $emissaoF->setValue(date('d/m/Y'));
     //$emissaoI->setNumericMask(0, '', '');
     // validations
     $aprovado->addValidation('Aprovado', new TRequiredValidator());
     $emissaoF->addValidation('Emissão - Até', new TDateValidator(), array('dd/mm/yyyy'));
     // add one row for each form field
     $table->addRowSet(new TLabel('Nº Cessão'), array($numeroCessaoI, new TLabel('Até'), $numeroCessaoF));
     $table->addRowSet(new TLabel('Emissão'), array($emissaoI, new TLabel('Até'), $emissaoF));
     $row = $table->addRow();
     //Set( new TLabel('Aprovado:'), $aprovado );
     $row->addCell(new TLabel('Aprovado:'));
     $row->addCell($aprovado);
     $this->form->setFields(array($numeroCessaoI, $numeroCessaoF, $emissaoI, $emissaoF, $aprovado));
     $aprovado->addItems(array('1' => 'Sim', '0' => 'Não', '%' => 'Todos'));
     $aprovado->setValue('%');
     $aprovado->setLayout('horizontal');
     $generate_button = TButton::create('generate', array($this, 'onGenerate'), _t('Generate'), 'ico_apply.png');
     $this->form->addField($generate_button);
     // add a row for the form action
     $table->addRowSet($generate_button, '')->class = 'tformaction';
     $container = new TTable();
     $container->addRow()->addCell(new TXMLBreadCrumb('menu.xml', __CLASS__));
     $container->addRow()->addCell($this->form);
     parent::add($container);
 }
 /**
  * Class Constructor
  * @param  $name     widget's name
  * @param  $database database name
  * @param  $model    model class name
  * @param  $key      table field to be used as key in the combo
  * @param  $value    table field to be listed in the combo
  * @param  $ordercolumn column to order the fields (optional)
  * @param  $criteria criteria (TCriteria object) to filter the model (optional)
  */
 public function __construct($name, $database, $model, $key, $value, $ordercolumn = NULL, TCriteria $criteria = NULL)
 {
     // executes the parent class constructor
     parent::__construct($name);
     if (empty($database)) {
         throw new Exception(AdiantiCoreTranslator::translate('The parameter (^1) of ^2 is required', 'database', __CLASS__));
     }
     if (empty($model)) {
         throw new Exception(AdiantiCoreTranslator::translate('The parameter (^1) of ^2 is required', 'model', __CLASS__));
     }
     if (empty($key)) {
         throw new Exception(AdiantiCoreTranslator::translate('The parameter (^1) of ^2 is required', 'key', __CLASS__));
     }
     if (empty($value)) {
         throw new Exception(AdiantiCoreTranslator::translate('The parameter (^1) of ^2 is required', 'value', __CLASS__));
     }
     // carrega objetos do banco de dados
     TTransaction::open($database);
     // instancia um repositório de Estado
     $repository = new TRepository($model);
     if (is_null($criteria)) {
         $criteria = new TCriteria();
     }
     $criteria->setProperty('order', isset($ordercolumn) ? $ordercolumn : $key);
     // carrega todos objetos
     $collection = $repository->load($criteria, FALSE);
     // adiciona objetos na combo
     if ($collection) {
         $items = array();
         foreach ($collection as $object) {
             $items[$object->{$key}] = $object->{$value};
         }
         parent::addItems($items);
     }
     TTransaction::close();
 }
 /**
  * Class constructor
  * Creates the page and the registration form
  */
 function __construct()
 {
     parent::__construct();
     // creates the form
     $this->form = new TForm('form_pessoa');
     // creates a table
     $table_data = new TTable();
     $table_contato = new TTable();
     $notebook = new TNotebook(500, 250);
     // add the notebook inside the form
     $this->form->add($notebook);
     $notebook->appendPage('Dados Principais', $table_data);
     $notebook->appendPage('Contatos', $table_contato);
     // create the form fields
     $idpessoa = new TEntry('idpessoa');
     $nome = new TEntry('nome');
     $dtcadastro = new TDate('dtcadastro');
     $dtnascimento = new TDate('dtnascimento');
     $natureza = new TRadioGroup('natureza');
     $idramoatividade = new TDBCombo('idramoatividade', 'sobcontrole', 'ramoatividade', 'idramoatividade', 'descricao');
     $obs = new TText('obs');
     // add field validators
     $nome->addValidation('Nome', new TRequiredValidator());
     $dtcadastro->addValidation('Data Cadastro', new TRequiredValidator());
     $dtnascimento->addValidation('Data Nascimento', new TRequiredValidator());
     $idramoatividade->addValidation('Ramo de Atividade', new TRequiredValidator());
     $natureza->addValidation('Natureza', new TRequiredValidator());
     $itemNatureza = array();
     $itemNatureza['F'] = 'Física';
     $itemNatureza['J'] = 'Jurídica';
     // add the combo options
     $natureza->addItems($itemNatureza);
     $natureza->setLayout('horizontal');
     // define some properties for the form fields
     $idpessoa->setEditable(FALSE);
     $idpessoa->setSize(100);
     $nome->setSize(320);
     $obs->setSize(320);
     $dtcadastro->setSize(90);
     $dtnascimento->setSize(90);
     $natureza->setSize(70);
     $idramoatividade->setSize(120);
     // add a row for the field code
     $table_data->addRowSet(new TLabel('ID:'), array($idpessoa, new TLabel('Natureza:'), $natureza));
     $table_data->addRowSet(new TLabel('Nome/Fantasia:'), $nome);
     $table_data->addRowSet(new TLabel('Data Cadastro:'), $dtcadastro);
     $table_data->addRowSet(new TLabel('Data Nascimento/Início:'), $dtnascimento);
     $table_data->addRowSet(new TLabel('Ramo de Atividade:'), $idramoatividade);
     $table_data->addRowSet(new TLabel('Observações:'), $obs);
     $row = $table_contato->addRow();
     // adiciona linha
     $cell = $row->addCell(new TLabel('<b>Contatos</b>'));
     // adiciona celular na linha
     $cell->valign = 'top';
     // define alinhamento
     $listacontatos = new TMultiField('listacontatos');
     // cria multifield
     // com TDBSeekButton
     //$idtipocontato= new TDBSeekButton('idtipocontato', 'sobcontrole', $this->form->getName(), 'tipocontato', 'descricao', 'listacontatos_idtipocontato', 'listacontatos_descricaotipocontato');
     // com  TSeekButton
     /*$idtipocontato= new TSeekButton('idtipocontato');
       $auxidtipocontato = new BuscaTipoContato;
       $auxaction= new TAction(array($auxidtipocontato,'onReload'));
       $idtipocontato->setAction($auxaction);*/
     $idtipocontato = new TDBCombo('idtipocontato', 'sobcontrole', 'tipocontato', 'idtipocontato', 'descricao', 'descricao');
     $descricaotipocontato = new \Adianti\Widget\Form\THidden('tipocontato->descricao');
     //$descricaotipocontato->setEditable(false);
     $valorcontato = new TEntry('valorcontato');
     $listacontatos->setClass('contato');
     // define the returning class
     // colunas do multifield
     // coluna do ID do tipo de contato (1->email, 2->telefone, etc...)
     $listacontatos->addField('idtipocontato', 'ID: ', $idtipocontato, 40);
     // coluna da descricao do tipo de contato
     //                        desta forma o grid OK
     $listacontatos->addField('tipocontato->descricao', '', $descricaotipocontato, 200);
     //                        desta forma o TDBSeekButton fica OK.
     //$listacontatos->addField('descricaotipocontato', 'Descrição Tipo Contato: ', $descricaotipocontato, 200);
     // coluna com o valor do contato, número do telefone, celular, etc.
     $listacontatos->addField('descricao', 'Valor Contato: ', $valorcontato, 200);
     $listacontatos->setHeight(250);
     $row = $table_contato->addRow();
     $row->addCell($listacontatos);
     // create an action button
     $button1 = new TButton('action1');
     $button1->setAction(new TAction(array($this, 'onSave')), 'Salvar');
     $button1->setImage('ico_save.png');
     // create an action button (go to list)
     $button2 = new TButton('list');
     $button2->setAction(new TAction(array('PessoaDataGrid', 'onReload')), 'Listar');
     $button2->setImage('ico_datagrid.gif');
     $button0 = new TButton('new');
     $button0->setAction(new TAction(array($this, 'onClear')), 'Novo');
     $button0->setImage('ico_new.png');
     // define wich are the form fields
     $this->form->setFields(array($idpessoa, $nome, $dtcadastro, $dtnascimento, $natureza, $idramoatividade, $obs, $listacontatos, $button0, $button1, $button2));
     $subtable = new TTable();
     $row = $subtable->addRow();
     $row->addCell($button0);
     $row->addCell($button1);
     $row->addCell($button2);
     // wrap the page content
     $vbox = new TVBox();
     $vbox->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
     $vbox->add($this->form);
     $vbox->add($subtable);
     // add the form inside the page
     parent::add($vbox);
 }
示例#4
0
 /**
  * 
  */
 public function makeTRadioGroup($properties)
 {
     $widget = new TRadioGroup((string) $properties->{'name'});
     $widget->setLayout('vertical');
     $pieces = explode("\n", (string) $properties->{'items'});
     $items = array();
     if ($pieces) {
         foreach ($pieces as $line) {
             $part = explode(':', $line);
             $items[$part[0]] = $part[1];
         }
     }
     $widget->addItems($items);
     $widget->setValue((string) $properties->{'value'});
     if (isset($properties->{'tip'})) {
         $widget->setTip((string) $properties->{'tip'});
     }
     $this->fields[] = $widget;
     $this->fieldsByName[(string) $properties->{'name'}] = $widget;
     return $widget;
 }