Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * FuncionarioForm Registration
- * @author Jackson Meires
- */
- class FuncionarioForm extends TPage {
- protected $form; // form
- /**
- * 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_programs = new TFrame;
- $frame_programs->setLegend("Formação");
- // creates the form
- $this->form = new TForm('form_Funcionario');
- $this->form->class = 'tform';
- // add the notebook inside the form
- $this->form->add($table);
- $table->addRowSet(new TLabel('Funcionario'), '')->class = 'tformtitle';
- // create the form fields principal
- $id = new TEntry('id');
- $nome = new TEntry('nome');
- $funcao = new TEntry('funcao');
- $datanascimento = new TDate('datanascimento');
- $dataadmissao = new TDate('dataadmissao');
- $usuarioalteracao = new THidden('usuarioalteracao');
- $dataalteracao = new THidden('dataalteracao');
- //salvar usuario e data da insercao
- $usuarioalteracao->setValue(TSession::getValue('username'));
- $dataalteracao->setValue(date("d/m/Y H:i:s"));
- //multfields
- $formacoes = new TMultiField('formacoes');
- $formacoes->setOrientation('horizontal');
- $formacao_escolaridade = new TComboCombined('escolaridade_id', 'escolaridade_nome');
- $formacao_cargo = new TComboCombined('cargo_id', 'cargo_nome');
- $formacao_instituicao = new TEntry('instituicao');
- $formacao_ano = new TEntry('ano');
- $formacao_usuarioalteracao = new THidden('usuarioalteracao');
- $formacao_dataalteracao = new THidden('dataalteracao');
- //salvar usuario e data
- $formacao_usuarioalteracao->setValue(TSession::getValue('username'));
- $formacao_dataalteracao->setValue(date("d/m/Y H:i:s"));
- $formacoes->setHeight(140);
- $formacoes->setClass('Formacao');
- //cria a colecao da tabela estrangeira
- // inicia transacao com o banco 'db_avaliacao'
- TTransaction::open('db_avaliacao');
- // instancia objeto da Classe Record
- $repository = new TRepository('Cargo');
- // cria um criterio de selecao, ordenado pelo id
- $criteria = new TCriteria;
- $criteria->setProperty('order', 'nome');
- // carrega os objetos de acordo com o criterio
- $cadastros = $repository->load($criteria);
- //adiciona os objetos no combo
- foreach ($cadastros as $object) {
- $items9[$object->id] = $object->nome;
- }
- // adiciona as opcoes na combo
- $formacao_cargo->addItems($items9);
- // finaliza a transacao
- TTransaction::close();
- //cria a colecao da tabela estrangeira
- // inicia transacao com o banco 'db_avaliacao'
- TTransaction::open('db_avaliacao');
- // instancia objeto da Classe Record
- $repository = new TRepository('Escolaridade');
- // cria um criterio de selecao, ordenado pelo id
- $criteria = new TCriteria;
- $criteria->setProperty('order', 'ordem');
- // carrega os objetos de acordo com o criterio
- $cadastros = $repository->load($criteria);
- //adiciona os objetos no combo
- foreach ($cadastros as $object) {
- $items3[$object->id] = $object->nome;
- }
- // adiciona as opcoes na combo
- $formacao_escolaridade->addItems($items3);
- // finaliza a transacao
- TTransaction::close();
- // define the sizes
- // $program_id->setSize(70);
- $id->setSize(100);
- $nome->setSize(200);
- $formacao_ano->setSize(50);
- $formacao_cargo->setSize(200);
- $formacao_escolaridade->setSize(200);
- $formacoes->addField('escolaridade_id', "Escolaridade", $formacao_escolaridade, 140);
- $formacoes->addField('cargo_id', "Curso", $formacao_cargo, 250);
- $formacoes->addField('instituicao', "Instituição", $formacao_instituicao, 200);
- $formacoes->addField('ano', "Ano", $formacao_ano, 30);
- $frame_programs->add($formacoes);
- // validations
- $nome->addValidation('nome', new TRequiredValidator);
- // $datanascimento->setMask("99/99/9999");
- // $dataadmissao->setMask("99/99/9999");
- // outras propriedades
- $id->setEditable(false);
- // $funcao->setEditable(false);
- // add a row for the field id
- $table->addRowSet('', $usuarioalteracao);
- $table->addRowSet('', $dataalteracao);
- $table->addRowSet(new TLabel('ID:'), $id);
- $table->addRowSet(new TLabel("Nome: "), $nome);
- $table->addRowSet(new TLabel("Data Nascimento: "), $datanascimento);
- $table->addRowSet(new TLabel("Função: "), $funcao);
- $table->addRowSet(new TLabel("Data Admissão: "), $dataadmissao);
- // add a row for the field name
- $row = $table->addRow();
- $cell = $row->addCell($frame_programs);
- $cell->colspan = 2;
- // create an action button (save)
- $save_button = new TButton('save');
- $save_button->setAction(new TAction(array($this, 'onSave')), _t('Save'));
- $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')), _t('New'));
- $new_button->setImage('ico_new.png');
- $list_button = new TButton('list');
- $list_button->setAction(new TAction(array('FuncionarioList', 'onReload')), _t('Back to the listing'));
- $list_button->setImage('ico_datagrid.png');
- // define the form fields
- $this->form->setFields(array($id, $nome, $datanascimento, $funcao,
- $dataadmissao, /* $usuarioalteracao, $dataalteracao, */ $formacoes,
- $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', 'FuncionarioList'));
- $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);
- }
- /**
- * method onSave()
- * Executed whenever the user clicks at the save button
- */
- function onSave() {
- try {
- // open a transaction with database 'permission'
- TTransaction::open('db_avaliacao');
- // get the form data into an active record System_group
- $object = $this->form->getData("Funcionario");
- //salvar form multfields
- if ($object->formacoes) {
- foreach ($object->formacoes as $item) {
- $object->addFormacao($item);
- }
- }
- $this->form->validate(); // form validation
- $object->store(); // stores the object
- $this->form->setData($object); // fill the form with the active record data
- $this->onSendEmail();
- TTransaction::close(); // close the transaction
- new TMessage('info', _t('Record saved')); // shows the success message
- } catch (Exception $e) { // in case of exception
- // shows the exception error message
- new TMessage('error', '<b>Error</b> ' . $e->getMessage());
- // undo all pending operations
- TTransaction::rollback();
- }
- }
- /**
- * method onEdit()
- * Executed whenever the user clicks at the edit button da datagrid
- */
- function onEdit($param) {
- try {
- if (isset($param['key'])) {
- // get the parameter $key
- $key = $param['key'];
- // open a transaction with database 'permission'
- TTransaction::open('db_avaliacao');
- // instantiates object System_group
- $object = new Funcionario($key);
- $object->datanascimento = TDate::date2br($object->datanascimento);
- $object->dataadmissao = TDate::date2br($object->dataadmissao);
- $object->formacoes = $object->getFormacoes();
- // fill the form with the active record data
- $this->form->setData($object);
- // close the transaction
- TTransaction::close();
- } else {
- $this->form->clear();
- }
- } catch (Exception $e) { // in case of exception
- // shows the exception error message
- new TMessage('error', '<b>Error</b> ' . $e->getMessage());
- // undo all pending operations
- TTransaction::rollback();
- }
- }
- function onSendEmail() {
- // $mail = new TMail;
- // $mail->setFrom('lordjackson@gmail.com', 'Lord Jackson');
- // $mail->setSubject('Subject');
- // $mail->setHtmlBody('html body');
- // $mail->addAddress('jackson_meires@hotmail.com', 'Jackson');
- //
- // $mail->SetUseSmtp();
- // $mail->SetSmtpHost('smtp.gmail.com', 465);
- // $mail->SetSmtpUser('gmail_user', 'gmail_pass');
- // $mail->send();
- try {
- $mail = new TMail;
- $mail->setFrom('lordjackson@gmail.com', 'Jackson');
- $mail->setSubject('Subject');
- $mail->setHtmlBody('html body');
- $mail->addAddress('jackson_meires@hotmail.com', 'Jackson');
- $mail->SetUseSmtp();
- $mail->SetSmtpHost($ini['host'], $ini['port']);
- $mail->SetSmtpUser($ini['user'], $ini['pass']);
- $mail->setReplyTo($ini['repl']);
- $mail->send();
- new TMessage('info', TAdiantiCoreTranslator::translate('Record saved'));
- } catch (Exception $e) { // in case of exception
- new TMessage('error', '<b>Error</b> ' . $e->getMessage());
- }
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement