/** * Class constructor * Creates the page */ function __construct() { parent::__construct(); // create the form using TQuickForm class $this->form = new TQuickForm('form_seek_sample'); $this->form->setFormTitle('Seek button'); $this->form->class = 'tform'; // create the form fields $city_id1 = new TSeekButton('city_id1'); $city_name1 = new TEntry('city_name1'); $criteria = new TCriteria(); $criteria->add(new TFilter('id', '>', 1)); $criteria->add(new TFilter('id', '<', 5)); $criteria->setProperty('order', 'name'); // define the action for city_id1 $obj = new TestCitySeek(); $action = new TAction(array($obj, 'onReload')); $city_id1->setAction($action); $city_id1->setSize(100); $city_name1->setEditable(FALSE); $this->form->addQuickFields('Manual SeekButton', array($city_id1, $city_name1)); $this->form->addQuickAction('Save', new TAction(array($this, 'onSave')), 'fa:floppy-o'); // wrap the page content using vertical box $vbox = new TVBox(); $vbox->add($this->form); parent::add($vbox); }
/** * Class constructor * Creates the page */ function __construct() { parent::__construct(); // create the form using TQuickForm class $this->form = new TQuickForm('form_seek_sample'); $this->form->setFormTitle('Seek button'); $this->form->class = 'tform'; // create the form fields $city_id1 = new TSeekButton('city_id1'); $city_name1 = new TEntry('city_name1'); $city_id2 = new TDBSeekButton('city_id2', 'samples', 'form_seek_sample', 'City', 'name', 'city_id2', 'city_name2'); $city_name2 = new TEntry('city_name2'); $criteria = new TCriteria(); $criteria->add(new TFilter('id', '>', 1)); $criteria->add(new TFilter('id', '<', 5)); $criteria->setProperty('order', 'name'); $city_id3 = new TDBSeekButton('city_id3', 'samples', 'form_seek_sample', 'City', 'name', 'city_id3', 'city_name3', $criteria); $city_name3 = new TEntry('city_name3'); // define the action for city_id1 $obj = new TestCitySeek(); $action = new TAction(array($obj, 'onReload')); $city_id1->setAction($action); $city_id1->setSize(100); $city_id2->setSize(100); $city_id3->setSize(100); $city_name1->setEditable(FALSE); $city_name2->setEditable(FALSE); $city_name3->setEditable(FALSE); $this->form->addQuickFields('Manual SeekButton', array($city_id1, $city_name1)); $this->form->addQuickFields('Standard SeekButton', array($city_id2, $city_name2)); $this->form->addQuickFields('Standard with filter', array($city_id3, $city_name3)); $this->form->addQuickAction('Save', new TAction(array($this, 'onSave')), 'ico_save.png'); // wrap the page content using vertical box $vbox = new TVBox(); $vbox->add(new TXMLBreadCrumb('menu.xml', __CLASS__)); $vbox->add($this->form); parent::add($vbox); }
/** * Class constructor * Creates the page and the registration form */ function __construct() { parent::__construct(); // security check if (TSession::getValue('logged') !== TRUE) { throw new Exception(_t('Not logged')); } // security check TTransaction::open('library'); if (User::newFromLogin(TSession::getValue('login'))->role->mnemonic !== 'LIBRARIAN') { throw new Exception(_t('Permission denied')); } TTransaction::close(); // creates the form $this->form = new TForm('form_Book'); // creates a table $table1 = new TTable(); $table2 = new TTable(); $table3 = new TTable(); $notebook = new TNotebook(550, 400); $notebook->appendPage(_t('Basic data'), $table1); $notebook->appendPage(_t('Secundary data'), $table2); $notebook->appendPage(_t('Items'), $table3); // add the table inside the form $this->form->add($notebook); // create the form fields $id = new TEntry('id'); $title = new TEntry('title'); $isbn = new TEntry('isbn'); $call_number = new TEntry('call_number'); $author_id = new TSeekButton('author_id'); $author_name = new TEntry('author_name'); $edition = new TEntry('edition'); $volume = new TEntry('volume'); $collection_id = new TDBCombo('collection_id', 'library', 'Collection', 'id', 'description'); $classification_id = new TDBCombo('classification_id', 'library', 'Classification', 'id', 'description'); $publisher_id = new TSeekButton('publisher_id'); $publisher_name = new TEntry('publisher_name'); $publish_place = new TEntry('publish_place'); $publish_date = new TDate('publish_date'); $abstract = new TText('abstract'); $notes = new TText('notes'); $obj = new TStandardSeek(); $action = new TAction(array($obj, 'onSetup')); $action->setParameter('database', 'library'); $action->setParameter('parent', 'form_Book'); $action->setParameter('model', 'Publisher'); $action->setParameter('display_field', 'name'); $action->setParameter('receive_key', 'publisher_id'); $action->setParameter('receive_field', 'publisher_name'); $publisher_id->setAction($action); $obj = new TStandardSeek(); $action = new TAction(array($obj, 'onSetup')); $action->setParameter('database', 'library'); $action->setParameter('parent', 'form_Book'); $action->setParameter('model', 'Author'); $action->setParameter('display_field', 'name'); $action->setParameter('receive_key', 'author_id'); $action->setParameter('receive_field', 'author_name'); $author_id->setAction($action); // define the sizes $id->setSize(100); $title->setSize(340); $isbn->setSize(120); $call_number->setSize(120); $author_id->setSize(100); $edition->setSize(120); $volume->setSize(120); $collection_id->setSize(100); $classification_id->setSize(100); $publisher_id->setSize(100); $publish_place->setSize(140); $publish_date->setSize(100); $abstract->setSize(400, 40); $notes->setSize(400, 40); $id->setEditable(FALSE); $publisher_name->setEditable(FALSE); $author_name->setEditable(FALSE); // add a row for the field id $row = $table1->addRow(); $row->addCell(new TLabel(_t('Code'))); $cell = $row->addCell($id); $cell->colspan = 3; // add a row for the field title $row = $table1->addRow(); $row->addCell(new TLabel(_t('Title'))); $cell = $row->addCell($title); $cell->colspan = 3; // add a row for the field isbn/call_nuber $row = $table1->addRow(); $row->addCell(new TLabel('ISBN' . ': ')); $row->addCell($isbn); $row->addCell(new TLabel(_t('Call'))); $row->addCell($call_number); // add a row for the field author_id $row = $table1->addRow(); $row->addCell(new TLabel(_t('Author') . ': ')); $row->addCell($author_id); $row->addCell(new TLabel(_t('Name') . ': ')); $row->addCell($author_name); // add a row for the field edition/volume $row = $table1->addRow(); $row->addCell(new TLabel(_t('Edition') . ': ')); $row->addCell($edition); $row->addCell(new TLabel(_t('Volume') . ': ')); $row->addCell($volume); // add a row for the field collection_id/classification_id $row = $table1->addRow(); $row->addCell(new TLabel(_t('Collection') . ': ')); $row->addCell($collection_id); $row->addCell(new TLabel(_t('Classification') . ': ')); $row->addCell($classification_id); // add a row for the field publisher_id $row = $table1->addRow(); $row->addCell(new TLabel(_t('Publisher') . ': ')); $row->addCell($publisher_id); $row->addCell(new TLabel(_t('Name') . ': ')); $row->addCell($publisher_name); // add a row for the field publish_place $row = $table1->addRow(); $row->addCell(new TLabel(_t('Place') . ': ')); $row->addCell($publish_place); $row->addCell(new TLabel(_t('Date') . ': ')); $row->addCell($publish_date); // add a row for the field abstract $row = $table1->addRow(); $row->addCell(new TLabel(_t('Abstract') . ': ')); $cell = $row->addCell($abstract); $cell->colspan = 3; // add a row for the field notes $row = $table1->addRow(); $row->addCell(new TLabel(_t('Notes') . ': ')); $cell = $row->addCell($notes); $cell->colspan = 3; // secundary authors $authors = new TMultiField('author_list'); $sub_author_id = new TSeekButton('id'); $sub_author_name = new TEntry('name'); $sub_author_name->setEditable(FALSE); $sub_author_id->setSize(50); $sub_author_name->setSize(300); $obj = new TStandardSeek(); $action = new TAction(array($obj, 'onSetup')); $action->setParameter('database', 'library'); $action->setParameter('parent', 'form_Book'); $action->setParameter('model', 'Author'); $action->setParameter('display_field', 'name'); $action->setParameter('receive_key', 'author_list_id'); $action->setParameter('receive_field', 'author_list_name'); $sub_author_id->setAction($action); $authors->setHeight(80); $authors->setClass('Author'); $authors->addField('id', _t('Author'), $sub_author_id, 50); $authors->addField('name', _t('Name'), $sub_author_name, 300); $row = $table2->addRow(); $row->addCell($l = new TLabel(_t('Authors'))); $l->setFontStyle('b'); $row = $table2->addRow(); $row->addCell($authors); // secundary subjects $subjects = new TMultiField('subject_list'); $sub_subject_id = new TSeekButton('id'); $sub_subject_name = new TEntry('name'); $sub_subject_name->setEditable(FALSE); $sub_subject_id->setSize(50); $sub_subject_name->setSize(300); $obj = new TStandardSeek(); $action = new TAction(array($obj, 'onSetup')); $action->setParameter('database', 'library'); $action->setParameter('parent', 'form_Book'); $action->setParameter('model', 'Subject'); $action->setParameter('display_field', 'name'); $action->setParameter('receive_key', 'subject_list_id'); $action->setParameter('receive_field', 'subject_list_name'); $sub_subject_id->setAction($action); $subjects->setHeight(80); $subjects->setClass('Subject'); $subjects->addField('id', _t('Subject'), $sub_subject_id, 50); $subjects->addField('name', _t('Name'), $sub_subject_name, 300); $row = $table2->addRow(); $row->addCell($l = new TLabel(_t('Subjects'))); $l->setFontStyle('b'); $row = $table2->addRow(); $row->addCell($subjects); // items $items = new TMultiField('item_list'); $item_barcode = new TEntry('barcode'); $item_status_id = new TComboCombined('status_id', 'status_description'); $item_cost = new TEntry('cost'); $item_acquire_date = new TDate('acquire_date'); $item_notes = new TEntry('notes'); $item_status_id->setSize(150); $item_cost->setSize(100); $item_acquire_date->setSize(100); TTransaction::open('library'); $rep = new TRepository('Status'); $objects = $rep->load(new TCriteria()); $options = array(); if ($objects) { foreach ($objects as $object) { $options[$object->id] = $object->description; } } $item_status_id->addItems($options); TTransaction::close(); $items->setHeight(140); $items->setClass('Item'); $items->addField('barcode', _t('Barcode'), $item_barcode, 80); $items->addField('status_id', _t('Status'), $item_status_id, 100); $items->addField('cost', _t('Cost'), $item_cost, 80); $items->addField('acquire_date', _t('Acquire date'), $item_acquire_date, 80); $items->addField('notes', _t('Notes'), $item_notes, 150); $row = $table3->addRow(); $row->addCell($l = new TLabel(_t('Items'))); $l->setFontStyle('b'); $row = $table3->addRow(); $row->addCell($items); // create an action button (save) $save_button = new TButton('save'); // define the button action $save_button->setAction(new TAction(array($this, 'onSave')), _t('Save')); $save_button->setImage('ico_save.png'); // add a row for the form action $row = $table1->addRow(); $row->addCell($save_button); // define wich are the form fields $this->form->setFields(array($id, $title, $isbn, $call_number, $author_id, $author_name, $edition, $volume, $collection_id, $classification_id, $publisher_id, $publisher_name, $publish_place, $publish_date, $abstract, $notes, $authors, $subjects, $items, $save_button)); // add the form to the page parent::add($this->form); }
/** * */ public function makeTSeekButton($properties) { $widget = new TSeekButton((string) $properties->{'name'}); $widget->setSize((int) $properties->{'width'}); if ($properties->{'database'} and $properties->{'model'}) { $obj = new TStandardSeek(); $action = new TAction(array($obj, 'onSetup')); $action->setParameter('database', (string) $properties->{'database'}); if (isset($this->form)) { if ($this->form instanceof TForm) { $action->setParameter('parent', $this->form->getName()); } } $action->setParameter('model', (string) $properties->{'model'}); $action->setParameter('display_field', (string) $properties->{'display'}); $action->setParameter('receive_key', (string) $properties->{'name'}); $action->setParameter('receive_field', (string) $properties->{'receiver'}); $widget->setAction($action); } $this->fields[] = $widget; $this->fieldsByName[(string) $properties->{'name'}] = $widget; return $widget; }
/** * Class constructor * Creates the page, the form and the listing */ public function __construct() { parent::__construct(); // security check if (TSession::getValue('logged') !== TRUE) { throw new Exception(_t('Not logged')); } // security check TTransaction::open('library'); if (User::newFromLogin(TSession::getValue('login'))->role->mnemonic !== 'LIBRARIAN') { throw new Exception(_t('Permission denied')); } TTransaction::close(); // creates the form $this->form = new TForm('form_search_Book'); $this->form->class = 'tform'; // creates a table $table = new TTable(); $table->width = '100%'; $table->addRowSet(new TLabel(_t('Books')), '')->class = 'tformtitle'; // add the table inside the form $this->form->add($table); // create the form fields $title = new TEntry('title'); $author_id = new TSeekButton('author_id'); $author_name = new TEntry('author_name'); $collection_id = new TDBCombo('collection_id', 'library', 'Collection', 'id', 'description'); $classification_id = new TDBCombo('classification_id', 'library', 'Classification', 'id', 'description'); $title->setValue(TSession::getValue('Book_title')); $author_id->setValue(TSession::getValue('Book_author_id')); $author_name->setValue(TSession::getValue('Book_author_name')); $collection_id->setValue(TSession::getValue('Book_collection_id')); $classification_id->setValue(TSession::getValue('Book_classification_id')); $author_name->setEditable(FALSE); $title->setSize(320); $author_id->setSize(100); $obj = new TStandardSeek(); $action = new TAction(array($obj, 'onSetup')); $action->setParameter('database', 'library'); $action->setParameter('parent', 'form_search_Book'); $action->setParameter('model', 'Author'); $action->setParameter('display_field', 'name'); $action->setParameter('receive_key', 'author_id'); $action->setParameter('receive_field', 'author_name'); $author_id->setAction($action); // add a row for the title field $row = $table->addRow(); $row->addCell(new TLabel(_t('Title') . ': ')); $cell = $row->addCell($title); // add a row for the title field $row = $table->addRow(); $row->addCell(new TLabel(_t('Author') . ': ')); $row->addMultiCell($author_id, $author_name); // add a row for the title field $row = $table->addRow(); $row->addCell(new TLabel(_t('Collection') . ': ')); $cell = $row->addCell($collection_id); // add a row for the title field $row = $table->addRow(); $row->addCell(new TLabel(_t('Classification') . ': ')); $cell = $row->addCell($classification_id); // create two action buttons to the form $find_button = new TButton('find'); $new_button = new TButton('new'); // define the button actions $find_button->setAction(new TAction(array($this, 'onSearch')), _t('Find')); $find_button->setImage('ico_find.png'); $new_button->setAction(new TAction(array('BookForm', 'onEdit')), _t('New')); $new_button->setImage('ico_new.png'); $table->addRowSet('', array($find_button, $new_button))->class = 'tformaction'; // define wich are the form fields $this->form->setFields(array($title, $author_id, $author_name, $collection_id, $classification_id, $find_button, $new_button)); // creates a DataGrid $this->datagrid = new TDataGrid(); $this->datagrid->setHeight(280); // creates the datagrid columns $id = new TDataGridColumn('id', _t('Code'), 'right', 50); $title = new TDataGridColumn('title', _t('Title'), 'left', 200); $main_author = new TDataGridColumn('author_name', _t('Author'), 'left', 160); $edition = new TDataGridColumn('edition', _t('Edition'), 'left', 50); $call = new TDataGridColumn('call_number', _t('Call'), 'left', 80); // creates the datagrid actions $order1 = new TAction(array($this, 'onReload')); $order2 = new TAction(array($this, 'onReload')); // define the ordering parameters $order1->setParameter('order', 'id'); $order2->setParameter('order', 'title'); // assign the ordering actions $id->setAction($order1); $title->setAction($order2); // add the columns to the DataGrid $this->datagrid->addColumn($id); $this->datagrid->addColumn($title); $this->datagrid->addColumn($main_author); $this->datagrid->addColumn($edition); $this->datagrid->addColumn($call); // creates two datagrid actions $action1 = new TDataGridAction(array('BookForm', '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()); // creates the page structure using a vbox $container = new TVBox(); $container->add($this->form); $container->add($this->datagrid); $container->add($this->pageNavigation); // add the vbox inside the page parent::add($container); }
/** * Class constructor * Creates the page and the registration form */ function __construct() { parent::__construct(); // creates the form $this->form = new TForm('form_clienteRegistro Detalhe'); // creates a table $table = new TTable(); $panel = new TPanel(480, 260); $notebook = new TNotebook(500, 250); // add the notebook inside the form $this->form->add($notebook); // add the notebook inside the form $this->form->add($table); // create the form fields $city_id2 = new TSeekButton('city_id2'); $city_name2 = new TEntry('city_name2'); $city_id2->setSize(100); $city_name2->setEditable(FALSE); //dados do cliente CRM TTransaction::open('db_crmbf'); $criteria = new TCriteria(); $criteria->add(new TFilter('cliente_id', '=', $_GET['key'])); // $repository = new TRepository('CRM'); $CRM = $repository->load($criteria); foreach ($CRM as $crms) { $codigoCRM = $crms->id; $tituloCRM = $crms->titulo; $projetoCRM = $crms->projeto_nome; $dataCRM = $crms->data_crm; $tempoCRM = $crms->tempo; $porcentagemCRM = $crms->porcentagem; $descricaoCRM = $crms->descricao; $solicitanteCRM = $crms->solicitante; $usuarioalteracaoCRM = $crms->usuarioalteracao; $responsavel_nomeCRM = $crms->responsavel_nome; $tipo_nomeCRM = $crms->tipo_nome; $cliente_nomeCRM = $crms->cliente_nome; $prioridade_nomeCRM = $crms->prioridade_nome; $status_nomeCRM = $crms->status_nome; } TTransaction::close(); $notebook->appendPage('Registros CRMs', $table); $code = new TEntry('id'); $crm_id = new TDBCombo('crm_id', 'db_crmbf', 'CRM', 'id', 'titulo'); $tiporegistro_id = new TDBCombo('tiporegistro_id', 'db_crmbf', 'RegistroTipo', 'id', 'nome'); $registro = new TText('registro'); $temporegistro = new TEntry('tempo_registro'); // $temporegistro->setEditable(false); $dataregistro = new TDate('data_registro'); $hora_registro = new TEntry('hora_registro'); $numero_registro = new TEntry('numero_registro'); // define some properties for the form fields $code->setEditable(FALSE); $code->setSize(100); $crm_id->setSize(320); $crm_id->setEditable(FALSE); $registro->setSize(320); $temporegistro->setSize(160); //$temporegistro->setValue(date("d/m/Y H:i:s")); $tiporegistro_id->setSize(160); //$dataregistro->setRange(0,1000,1); $dataregistro->setSize(90); // $hora_registro->setRange(0,100,1); $hora_registro->setSize(150); $hora_registro->setTip('Horario EX: 8:14'); $numero_registro->setSize(320); $row = $table->addRow(); $row->addCell(new TLabel('Code:')); $row->addCell($code); // add a row for the field name $row = $table->addRow(); $row->addCell(new TLabel('CRM Titulo:')); $cell = $row->addCell($crm_id); // add a row for the field Telefone $row = $table->addRow(); $row->addCell(new TLabel('Tipo Registro:')); $cell = $row->addCell($tiporegistro_id); // add a row for the field Email $row = $table->addRow(); $row->addCell(new TLabel('Tempo:')); $cell = $row->addCell($temporegistro); // add a row for the field celular $row = $table->addRow(); $row->addCell(new TLabel('Data:')); $cell = $row->addCell($dataregistro); // add a row for the field skype $row = $table->addRow(); $row->addCell(new TLabel('Hora:')); $cell = $row->addCell($hora_registro); // add a row for the field endereco $row = $table->addRow(); $row->addCell(new TLabel('Numero Registro:')); $row->addCell($numero_registro); // add a row for the field name $row = $table->addRow(); $row->addCell(new TLabel('Registro:')); $cell = $row->addCell($registro); // $notebook->appendPage('Cidade', $table_contact); // $notebook->appendPage('Skill (aggregation)', $table_skill); // create the form fields // $code = new TEntry('id'); // $nome = new TEntry('nome'); // $email = new TEntry('email'); // $telefone = new TEntry('telefone'); // $celular = new TEntry('celular'); // $skype = new TEntry('skype'); // $endereco = new TEntry('endereco'); //// $cidade_id = new TSeekButton('cidade_id'); // $cidade_id = new TDBCombo('cidade_id', 'db_crmbf', 'Cidade', 'id', 'nome'); // $birthdate = new TDate('birthdate'); // $email = new TEntry('email'); // $gender = new TRadioGroup('gender'); // $status = new TCombo('status'); // $contacts_list = new TMultiField('contacts_list'); // add field validators // $nome->addValidation('Nome', new TRequiredValidator); // $cidade_id->addValidation('Cidade', new TRequiredValidator); // $birthdate->addValidation('Birthdate', new TRequiredValidator); // $cidade_id->addValidation('Category', new TRequiredValidator); //$obj = new CidadeFormList; //$cidade_id->setAction(new TAction(array($obj, 'onReload'))); // $itemGender = array(); // $itemGender['M'] = 'Male'; // $itemGender['F'] = 'Female'; // // add the combo options // $gender->addItems($itemGender); // $gender->setLayout('horizontal'); // // $itemStatus = array(); // $itemStatus['S'] = 'Single'; // $itemStatus['C'] = 'Committed'; // $itemStatus['M'] = 'Married'; // $status->addItems($itemStatus); // define some properties for the form fields // $code->setEditable(FALSE); // $code->setSize(100); // $nome->setSize(320); // $email->setSize(160); // $telefone->setSize(160); // $celular->setSize(160); // $skype->setSize(160); // $endereco->setSize(320); // $cidade_id->setSize(150); //$cidade_id->setEditable(FALSE); // add a row for the field code $panel->put("CRM: ", $codigoCRM, 10, 5); $panel->put($tituloCRM, 10, 20); $panel->put($projetoCRM, 10, 40); $panel->put("Data de Criação: " . $dataCRM, 10, 75); $panel->put("Aberto por: " . $usuarioalteracaoCRM, 10, 95); $panel->put("Cliente: " . $cliente_nomeCRM, 10, 55); $panel->put("Responsavel: " . $responsavel_nomeCRM, 10, 110); $panel->put("Tipo: " . $tipo_nomeCRM, 10, 130); $panel->put("Percentual Conclusão: " . $porcentagemCRM, 10, 140); $panel->put("Tempo Gasto: " . $tempoCRM, 10, 160); $panel->put("Situação: " . $status_nomeCRM, 10, 180); $panel->put("Descrição: " . $descricaoCRM, 10, 200); // $row = $table->addRow(); // $row->addCell(new TLabel('Titulo:')); // $row->addCell($tituloCRM); // // // add a row for the field name // $row = $table->addRow(); // $row->addCell(new TLabel('Projeto:')); // $cell = $row->addCell($projetoCRM); // $cell->colspan = 3; // // // add a row for the field Email // $row = $table->addRow(); // $row->addCell(new TLabel('DATA:')); // $cell = $row->addCell($dataCRM); // $cell->colspan = 3; // // // add a row for the field Telefone // $row = $table->addRow(); // $row->addCell(new TLabel('Tempo:')); // $cell = $row->addCell($tempoCRM); // $cell->colspan = 3; // // // add a row for the field celular // $row = $table->addRow(); // $row->addCell(new TLabel('Porcentagem:')); // $cell = $row->addCell($porcentagemCRM); // // // add a row for the field skype // $row = $table->addRow(); // $row->addCell(new TLabel('Solicitação:')); // $cell = $row->addCell($solicitanteCRM); // // add a row for the field endereco // $row = $table_data->addRow(); // $row->addCell(new TLabel('Endereço:')); // $row->addCell($endereco); // // // add a row for the field endereco // $row = $table_data->addRow(); // $row->addCell(new TLabel('Cidade:')); // $row->addCell($cidade_id); // add a row for the field Category // $row = $table_data->addRow(); // $row->addCell(new TLabel('Cidade:')); // $cell = $row->addCell($cidade_id); // add a row for the field city // $row=$table_data->addRow(); // $row->addCell(new TLabel('Cidade:')); // $cell = $row->addCell($cidade_id); /* // add a row for the field Phone $row = $table_data->addRow(); $row->addCell(new TLabel('Phone:')); $row->addCell($phone); // add a row for the field BirthDate $row->addCell(new TLabel('BirthDate:')); $row->addCell($birthdate); // add a row for the field status $row = $table_data->addRow(); $row->addCell(new TLabel('Status:')); $cell = $row->addCell($status); // add a row for the field Email $row->addCell(new TLabel('Email:')); $cell = $row->addCell($email); // add a row for the field gender $row->addCell(new TLabel('Gender:')); $row->addCell($gender); $row = $table_contact->addRow(); $cell = $row->addCell(new TLabel('<b>Contact</b>')); $cell->valign = 'top'; // add two fields inside the multifield in the second sheet $contacts_list->setHeight(100); $contacts_list->setClass('Contact'); // define the returning class $contacts_list->addField('type', 'Contact Type: ', new TEntry('type'), 200); $contacts_list->addField('value', 'Contact Value: ', new TEntry('value'), 200); $row = $table_contact->addRow(); $row->addCell($contacts_list); // create the radio button for the skills list $skill_list = new TDBCheckGroup('skill_list', 'samples', 'Skill', 'id', 'name'); $table_skill->addRow()->addCell($lbl = new TLabel('Skills')); $table_skill->addRow()->addCell($skill_list); $lbl->setFontStyle('b'); * */ // create an action button $button1 = new TButton('action1'); $button1->setAction(new TAction(array($this, 'onSave')), 'Save'); $button1->setImage('ico_save.png'); // create an action button (go to list) $button2 = new TButton('list'); $button2->setAction(new TAction(array('ClienteList', 'onReload')), 'Ir para Listagem'); $button2->setImage('ico_datagrid.gif'); // create an action button $button3 = new TButton('action3'); $action3 = new TAction(array('RegistroForm', 'onEdit')); $action3->setParameter('fk', $codigoCRM); $button3->setImage('ico_save.png'); $button3->setAction($action3, 'Inserir Registro'); // define wich are the form fields $this->form->setFields(array($code, $crm_id, $registro, $temporegistro, $tiporegistro_id, $dataregistro, $hora_registro, $numero_registro, $button1, $button2, $button3)); $subtable = new TTable(); $row = $subtable->addRow(); $row->addCell($button1); $row->addCell($button2); $row->addCell($button3); $table_layout = new TTable(); $table_layout->addRow()->addCell($this->form); $table_layout->addRow()->addCell($subtable); // // add a row for the field gender // $row->addCell(new TLabel('Gender:')); // $row->addCell($registroREG); // // // add a row for the field Category // $row = $table->addRow(); // $row->addCell(new TLabel('Cidade:')); // $cell = $row->addCell($registroREG); // add the form inside the page parent::add($panel); parent::add($table_layout); // creates the form $this->form2 = new TForm('form_clienteRegistro Detalhe'); //dados do cliente CRM TTransaction::open('db_crmbf'); $criteria2 = new TCriteria(); // $criteria->add(new TFilter('crm_id', '=', $_GET['key'])); $criteria2->setProperty('order', 'id desc'); $repository2 = new TRepository('Registro'); $reg = $repository2->load($criteria2); foreach ($reg as $regs) { $row = $table->addRow(); $row->addCell(new TLabel('ID:')); $cell = $row->addCell($regs->id); $row = $table->addRow(); $row->addCell(new TLabel('CRM:')); $cell = $row->addCell($regs->crm_id); $row = $table->addRow(); $row->addCell(new TLabel('CRM:')); $cell = $row->addCell($regs->tiporegistro_id); $row = $table->addRow(); $row->addCell(new TLabel('Tempo:')); $cell = $row->addCell($regs->tempo_registro); $row = $table->addRow(); $row->addCell(new TLabel('Data:')); $cell = $row->addCell($regs->data_registro); $row = $table->addRow(); $row->addCell(new TLabel('Horario:')); $cell = $row->addCell($regs->hora_registro); $row = $table->addRow(); $row->addCell(new TLabel('Numero Registro:')); $cell = $row->addCell($regs->numero_registro); $row = $table->addRow(); $row->addCell(new TLabel('Registro:')); $cell = $row->addCell($regs->registro); $row = $table->addRow(); $row->addCell(new TLabel(' ')); $cell = $row->addCell(' '); // $idREG = $regs->id; // $crm_idREG = $regs->crm_id; // $tiporegistro_idREG = $regs->tiporegistro_id; // $tempoREG = $regs->tempo_registro; // $dataREG = $regs->data_registro; // $horaREG = $regs->hora_registro; // $numRegistroREG = $regs->numero_registro; // $registroREG = $regs->registro; } TTransaction::close(); }
/** * Class constructor * Creates the page and the registration form */ function __construct() { parent::__construct(); // security check if (TSession::getValue('logged') !== TRUE) { throw new Exception(_t('Not logged')); } // security check TTransaction::open('library'); if (User::newFromLogin(TSession::getValue('login'))->role->mnemonic !== 'OPERATOR' and User::newFromLogin(TSession::getValue('login'))->role->mnemonic !== 'LIBRARIAN') { throw new Exception(_t('Permission denied')); } TTransaction::close(); // creates the form $this->form = new TForm('form_Member_Report'); $this->form->class = 'tform'; $this->form->style = 'width: 600px'; $table = new TTable(); $table->width = '100%'; $this->form->add($table); $table->addRowSet(new TLabel(_t('Report filters')), '')->class = 'tformtitle'; // create the form fields $name = new TEntry('name'); $city_id = new TSeekButton('city_id'); $city_name = new TEntry('city_name'); $category_id = new TDBCombo('category_id', 'library', 'Category', 'id', 'description'); $output_type = new TRadioGroup('output_type'); $options = array(); $options['pdf'] = 'PDF'; $options['rtf'] = 'RTF'; $output_type->addItems($options); $output_type->setValue('pdf'); $output_type->setLayout('horizontal'); $obj = new TStandardSeek(); $action = new TAction(array($obj, 'onSetup')); $action->setParameter('database', 'library'); $action->setParameter('parent', 'form_Member_Report'); $action->setParameter('model', 'City'); $action->setParameter('display_field', 'name'); $action->setParameter('receive_key', 'city_id'); $action->setParameter('receive_field', 'city_name'); $city_id->setAction($action); // define the sizes $name->setSize(200); $city_id->setSize(100); $category_id->setSize(100); $city_name->setEditable(FALSE); // add a row for the field name $row = $table->addRow(); $row->addCell(new TLabel(_t('Name') . ': ')); $cell = $row->addCell($name); // add a row for the field city_id $row = $table->addRow(); $row->addCell(new TLabel(_t('City') . ': ')); $row->addMultiCell($city_id, $city_name); // add a row for the field category_id $row = $table->addRow(); $row->addCell(new TLabel(_t('Category') . ': ')); $cell = $row->addCell($category_id); // add a row for the field category_id $row = $table->addRow(); $row->addCell(new TLabel(_t('Output') . ': ')); $cell = $row->addCell($output_type); // create an action button (save) $save_button = new TButton('generate'); // define the button action $save_button->setAction(new TAction(array($this, 'onGenerate')), _t('Generate')); $save_button->setImage('ico_save.png'); $table->addRowSet($save_button, '')->class = 'tformaction'; // define wich are the form fields $this->form->setFields(array($name, $city_id, $city_name, $category_id, $output_type, $save_button)); $vbox = new TVBox(); $vbox->add($this->form); // add the form to the page parent::add($vbox); }
/** * Class constructor * Creates the page */ function __construct() { parent::__construct(); // create the notebook $notebook = new TNotebook(530, 200); // create the form $this->form = new TForm('form_seek_sample'); // creates the notebook page $table = new TTable(); // add the notebook inside the form $this->form->add($table); // adds the notebook page $notebook->appendPage('Seek Button component', $this->form); // create the form fields $city_id1 = new TSeekButton('city_id1'); $city_name1 = new TEntry('city_name1'); $city_id2 = new TSeekButton('city_id2'); $city_name2 = new TEntry('city_name2'); $city_id1->setSize(100); $city_id2->setSize(100); $city_name1->setEditable(FALSE); $city_name2->setEditable(FALSE); $obj = new TestCitySeek(); $action = new TAction(array($obj, 'onReload')); $city_id1->setAction($action); $obj = new TStandardSeek(); $action = new TAction(array($obj, 'onSetup')); $action->setParameter('database', 'samples'); $action->setParameter('parent', 'form_seek_sample'); $action->setParameter('model', 'City'); $action->setParameter('display_field', 'name'); $action->setParameter('receive_key', 'city_id2'); $action->setParameter('receive_field', 'city_name2'); $city_id2->setAction($action); // add a row for one field $row = $table->addRow(); $row->addCell(new TLabel('Manual SeekButton:')); $cell = $row->addCell($city_id1); // add a row for one field $row = $table->addRow(); $row->addCell(new TLabel('City name:')); $cell = $row->addCell($city_name1); // add a row for one field $row = $table->addRow(); $row->addCell(new TLabel('Standard SeekButton:')); $cell = $row->addCell($city_id2); // add a row for one field $row = $table->addRow(); $row->addCell(new TLabel('City name:')); $cell = $row->addCell($city_name2); // creates the action button $button1 = new TButton('action1'); // define the button action $button1->setAction(new TAction(array($this, 'onSave')), 'Save'); $button1->setImage('ico_save.png'); // add a row for the button $row = $table->addRow(); $row->addCell($button1); // define wich are the form fields $this->form->setFields(array($city_id1, $city_name1, $city_id2, $city_name2, $button1)); // add the form inside the page parent::add($notebook); }
/** * 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); }
/** * Class constructor * Creates the page and the registration form */ function __construct() { parent::__construct(); // creates the form $this->form = new TForm('form_customer'); // creates a table $table_data = new TTable(); $table_contact = new TTable(); $table_skill = new TTable(); $notebook = new TNotebook(500, 250); // add the notebook inside the form $this->form->add($notebook); $notebook->appendPage('Registration Data', $table_data); $notebook->appendPage('Contact (composition)', $table_contact); $notebook->appendPage('Skill (aggregation)', $table_skill); // create the form fields $code = new TEntry('id'); $name = new TEntry('name'); $address = new TEntry('address'); $phone = new TEntry('phone'); $city_id = new TSeekButton('city_id'); $city_name = new TEntry('city_name'); $birthdate = new TDate('birthdate'); $email = new TEntry('email'); $gender = new TRadioGroup('gender'); $status = new TCombo('status'); $contacts_list = new TMultiField('contacts_list'); $category_id = new TDBCombo('category_id', 'samples', 'Category', 'id', 'name'); // add field validators $name->addValidation('Name', new TRequiredValidator()); $city_id->addValidation('City', new TRequiredValidator()); $birthdate->addValidation('Birthdate', new TRequiredValidator()); $category_id->addValidation('Category', new TRequiredValidator()); $obj = new CitySeek(); $city_id->setAction(new TAction(array($obj, 'onReload'))); $itemGender = array(); $itemGender['M'] = 'Male'; $itemGender['F'] = 'Female'; // add the combo options $gender->addItems($itemGender); $gender->setLayout('horizontal'); $itemStatus = array(); $itemStatus['S'] = 'Single'; $itemStatus['C'] = 'Committed'; $itemStatus['M'] = 'Married'; $status->addItems($itemStatus); // define some properties for the form fields $code->setEditable(FALSE); $code->setSize(100); $city_id->setSize(100); $city_name->setSize(150); $city_name->setEditable(FALSE); $name->setSize(320); $address->setSize(320); $phone->setSize(120); $email->setSize(160); $birthdate->setSize(90); $status->setSize(120); $category_id->setSize(120); // add a row for the field code $table_data->addRowSet(new TLabel('Code:'), $code); $table_data->addRowSet(new TLabel('Name:'), $name); $table_data->addRowSet(new TLabel('Address:'), $address); $table_data->addRowSet(new TLabel('City:'), array($city_id, new TLabel('Name:'), $city_name)); $table_data->addRowSet(new TLabel('Phone:'), array($phone, new TLabel('BirthDate:'), $birthdate)); $table_data->addRowSet(new TLabel('Status:'), array($status, new TLabel('Email:'), $email)); $table_data->addRowSet(new TLabel('Category:'), array($category_id, new TLabel('Gender:'), $gender)); $row = $table_contact->addRow(); $cell = $row->addCell(new TLabel('<b>Contact</b>')); $cell->valign = 'top'; // add two fields inside the multifield in the second sheet $contacts_list->setHeight(100); $contacts_list->setClass('Contact'); // define the returning class $contacts_list->addField('type', 'Contact Type: ', new TEntry('type'), 200); $contacts_list->addField('value', 'Contact Value: ', new TEntry('value'), 200); $row = $table_contact->addRow(); $row->addCell($contacts_list); // create the radio button for the skills list $skill_list = new TDBCheckGroup('skill_list', 'samples', 'Skill', 'id', 'name'); $table_skill->addRow()->addCell($lbl = new TLabel('Skills')); $table_skill->addRow()->addCell($skill_list); $lbl->setFontStyle('b'); // create an action button $button1 = new TButton('action1'); $button1->setAction(new TAction(array($this, 'onSave')), 'Save'); $button1->setImage('ico_save.png'); // create an action button (go to list) $button2 = new TButton('list'); $button2->setAction(new TAction(array('CustomerDataGridView', 'onReload')), 'Go to Listing'); $button2->setImage('ico_datagrid.gif'); // define wich are the form fields $this->form->setFields(array($code, $name, $address, $phone, $city_id, $city_name, $birthdate, $email, $gender, $status, $category_id, $contacts_list, $skill_list, $button1, $button2)); $subtable = new TTable(); $row = $subtable->addRow(); $row->addCell($button1); $row->addCell($button2); // wrap the page content $vbox = new TVBox(); $vbox->add(new TXMLBreadCrumb('menu.xml', 'CustomerDataGridView')); $vbox->add($this->form); $vbox->add($subtable); // add the form inside the page parent::add($vbox); }
/** * Class constructor * Creates the page and the registration form */ function __construct() { parent::__construct(); // security check if (TSession::getValue('logged') !== TRUE) { throw new Exception(_t('Not logged')); } // security check TTransaction::open('library'); if (User::newFromLogin(TSession::getValue('login'))->role->mnemonic !== 'OPERATOR' and User::newFromLogin(TSession::getValue('login'))->role->mnemonic !== 'LIBRARIAN') { throw new Exception(_t('Permission denied')); } TTransaction::close(); $this->notebook = new TNotebook(); $this->notebook->setSize(500, 190); // creates the form $this->form = new TForm('form_Book_Report'); $this->notebook->appendPage(_t('Data'), $this->form); // creates a table $table = new TTable(); // add the table inside the form $this->form->add($table); // create the form fields $title = new TEntry('title'); $author_id = new TSeekButton('author_id'); $author_name = new TEntry('author_name'); $collection_id = new TDBCombo('collection_id', 'library', 'Collection', 'id', 'description'); $output_type = new TRadioGroup('output_type'); $options = array(); $options['pdf'] = 'PDF'; $options['rtf'] = 'RTF'; $output_type->addItems($options); $output_type->setValue('pdf'); $output_type->setLayout('horizontal'); $obj = new TStandardSeek(); $action = new TAction(array($obj, 'onSetup')); $action->setParameter('database', 'library'); $action->setParameter('parent', 'form_Book_Report'); $action->setParameter('model', 'Author'); $action->setParameter('display_field', 'name'); $action->setParameter('receive_key', 'author_id'); $action->setParameter('receive_field', 'author_name'); $author_id->setAction($action); // define the sizes $title->setSize(200); $author_id->setSize(100); $collection_id->setSize(100); $author_name->setEditable(FALSE); // add a row for the field $row = $table->addRow(); $row->addCell($l = new TLabel(_t('Report filters'))); $l->setFontStyle('b'); // add a row for the field title $row = $table->addRow(); $row->addCell(new TLabel(_t('Title') . ': ')); $cell = $row->addCell($title); $cell->colspan = 2; // add a row for the field author_id $row = $table->addRow(); $row->addCell(new TLabel(_t('Author') . ': ')); $row->addCell($author_id); $row->addCell($author_name); // add a row for the field collection_id $row = $table->addRow(); $row->addCell(new TLabel(_t('Collection') . ': ')); $cell = $row->addCell($collection_id); $cell->colspan = 2; // add a row for the field collection_id $row = $table->addRow(); $row->addCell(new TLabel(_t('Output') . ': ')); $cell = $row->addCell($output_type); $cell->colspan = 2; // create an action button (save) $save_button = new TButton('generate'); // define the button action $save_button->setAction(new TAction(array($this, 'onGenerate')), _t('Generate')); $save_button->setImage('ico_save.png'); // add a row for the form action $row = $table->addRow(); $row->addCell($save_button); // define wich are the form fields $this->form->setFields(array($title, $author_id, $author_name, $collection_id, $output_type, $save_button)); // add the form to the page parent::add($this->notebook); }