Advertisement
lordjackson

FuncionarioForm

Jul 11th, 2015
345
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 10.34 KB | None | 0 0
  1. <?php
  2.  
  3. /**
  4.  * FuncionarioForm Registration
  5.  * @author  Jackson Meires
  6.  */
  7. class FuncionarioForm extends TPage {
  8.  
  9.     protected $form; // form
  10.  
  11.     /**
  12.      * Class constructor
  13.      * Creates the page and the registration form
  14.      */
  15.  
  16.     function __construct() {
  17.         parent::__construct();
  18.  
  19.         // creates the table container
  20.         $table = new TTable;
  21.         $table->style = 'width:100%';
  22.  
  23.         $frame_programs = new TFrame;
  24.         $frame_programs->setLegend("Formação");
  25.  
  26.         // creates the form
  27.         $this->form = new TForm('form_Funcionario');
  28.         $this->form->class = 'tform';
  29.  
  30.  
  31.         // add the notebook inside the form
  32.         $this->form->add($table);
  33.         $table->addRowSet(new TLabel('Funcionario'), '')->class = 'tformtitle';
  34.  
  35.         // create the form fields principal
  36.         $id = new TEntry('id');
  37.         $nome = new TEntry('nome');
  38.         $funcao = new TEntry('funcao');
  39.         $datanascimento = new TDate('datanascimento');
  40.         $dataadmissao = new TDate('dataadmissao');
  41.  
  42.         $usuarioalteracao = new THidden('usuarioalteracao');
  43.         $dataalteracao = new THidden('dataalteracao');
  44.  
  45.         //salvar usuario e data da insercao
  46.         $usuarioalteracao->setValue(TSession::getValue('username'));
  47.         $dataalteracao->setValue(date("d/m/Y H:i:s"));
  48.  
  49.         //multfields
  50.         $formacoes = new TMultiField('formacoes');
  51.         $formacoes->setOrientation('horizontal');
  52.         $formacao_escolaridade = new TComboCombined('escolaridade_id', 'escolaridade_nome');
  53.         $formacao_cargo = new TComboCombined('cargo_id', 'cargo_nome');
  54.         $formacao_instituicao = new TEntry('instituicao');
  55.         $formacao_ano = new TEntry('ano');
  56.         $formacao_usuarioalteracao = new THidden('usuarioalteracao');
  57.         $formacao_dataalteracao = new THidden('dataalteracao');
  58.  
  59.         //salvar usuario e data
  60.         $formacao_usuarioalteracao->setValue(TSession::getValue('username'));
  61.         $formacao_dataalteracao->setValue(date("d/m/Y H:i:s"));
  62.  
  63.         $formacoes->setHeight(140);
  64.         $formacoes->setClass('Formacao');
  65.  
  66.         //cria a colecao da tabela estrangeira
  67.         // inicia transacao com o banco 'db_avaliacao'
  68.         TTransaction::open('db_avaliacao');
  69.         // instancia objeto da Classe Record
  70.         $repository = new TRepository('Cargo');
  71.         // cria um criterio de selecao, ordenado pelo id
  72.         $criteria = new TCriteria;
  73.         $criteria->setProperty('order', 'nome');
  74.         // carrega os objetos de acordo com o criterio
  75.         $cadastros = $repository->load($criteria);
  76.  
  77.         //adiciona os objetos no combo
  78.         foreach ($cadastros as $object) {
  79.             $items9[$object->id] = $object->nome;
  80.         }
  81.         // adiciona as opcoes na combo
  82.         $formacao_cargo->addItems($items9);
  83.         // finaliza a transacao
  84.         TTransaction::close();
  85.  
  86.         //cria a colecao da tabela estrangeira
  87.         // inicia transacao com o banco 'db_avaliacao'
  88.         TTransaction::open('db_avaliacao');
  89.         // instancia objeto da Classe Record
  90.         $repository = new TRepository('Escolaridade');
  91.         // cria um criterio de selecao, ordenado pelo id
  92.         $criteria = new TCriteria;
  93.         $criteria->setProperty('order', 'ordem');
  94.         // carrega os objetos de acordo com o criterio
  95.         $cadastros = $repository->load($criteria);
  96.  
  97.         //adiciona os objetos no combo
  98.         foreach ($cadastros as $object) {
  99.             $items3[$object->id] = $object->nome;
  100.         }
  101.         // adiciona as opcoes na combo
  102.         $formacao_escolaridade->addItems($items3);
  103.         // finaliza a transacao
  104.         TTransaction::close();
  105.  
  106.         // define the sizes
  107.         // $program_id->setSize(70);
  108.         $id->setSize(100);
  109.         $nome->setSize(200);
  110.         $formacao_ano->setSize(50);
  111.         $formacao_cargo->setSize(200);
  112.         $formacao_escolaridade->setSize(200);
  113.  
  114.         $formacoes->addField('escolaridade_id', "Escolaridade", $formacao_escolaridade, 140);
  115.         $formacoes->addField('cargo_id', "Curso", $formacao_cargo, 250);
  116.         $formacoes->addField('instituicao', "Instituição", $formacao_instituicao, 200);
  117.         $formacoes->addField('ano', "Ano", $formacao_ano, 30);
  118.         $frame_programs->add($formacoes);
  119.  
  120.         // validations
  121.         $nome->addValidation('nome', new TRequiredValidator);
  122.  
  123. //        $datanascimento->setMask("99/99/9999");
  124. //        $dataadmissao->setMask("99/99/9999");
  125.         // outras propriedades
  126.         $id->setEditable(false);
  127.         // $funcao->setEditable(false);
  128.         // add a row for the field id
  129.         $table->addRowSet('', $usuarioalteracao);
  130.         $table->addRowSet('', $dataalteracao);
  131.         $table->addRowSet(new TLabel('ID:'), $id);
  132.         $table->addRowSet(new TLabel("Nome: "), $nome);
  133.         $table->addRowSet(new TLabel("Data Nascimento: "), $datanascimento);
  134.         $table->addRowSet(new TLabel("Função: "), $funcao);
  135.         $table->addRowSet(new TLabel("Data Admissão: "), $dataadmissao);
  136.  
  137.         // add a row for the field name
  138.         $row = $table->addRow();
  139.         $cell = $row->addCell($frame_programs);
  140.         $cell->colspan = 2;
  141.  
  142.         // create an action button (save)
  143.         $save_button = new TButton('save');
  144.         $save_button->setAction(new TAction(array($this, 'onSave')), _t('Save'));
  145.         $save_button->setImage('ico_save.png');
  146.  
  147.         // create an new button (edit with no parameters)
  148.         $new_button = new TButton('new');
  149.         $new_button->setAction(new TAction(array($this, 'onEdit')), _t('New'));
  150.         $new_button->setImage('ico_new.png');
  151.  
  152.         $list_button = new TButton('list');
  153.         $list_button->setAction(new TAction(array('FuncionarioList', 'onReload')), _t('Back to the listing'));
  154.         $list_button->setImage('ico_datagrid.png');
  155.  
  156.         // define the form fields
  157.         $this->form->setFields(array($id, $nome, $datanascimento, $funcao,
  158.             $dataadmissao, /* $usuarioalteracao, $dataalteracao, */ $formacoes,
  159.             $save_button, $new_button, $list_button));
  160.  
  161.         $buttons = new THBox;
  162.         $buttons->add($save_button);
  163.         $buttons->add($new_button);
  164.         $buttons->add($list_button);
  165.  
  166.         $container = new TTable;
  167.         $container->width = '80%';
  168.         $container->addRow()->addCell(new TXMLBreadCrumb('menu.xml', 'FuncionarioList'));
  169.         $container->addRow()->addCell($this->form);
  170.  
  171.         $row = $table->addRow();
  172.         $row->class = 'tformaction';
  173.         $cell = $row->addCell($buttons);
  174.         $cell->colspan = 2;
  175.  
  176.         // add the form to the page
  177.         parent::add($container);
  178.     }
  179.  
  180.     /**
  181.      * method onSave()
  182.      * Executed whenever the user clicks at the save button
  183.      */
  184.     function onSave() {
  185.         try {
  186.             // open a transaction with database 'permission'
  187.             TTransaction::open('db_avaliacao');
  188.  
  189.             // get the form data into an active record System_group
  190.             $object = $this->form->getData("Funcionario");
  191.  
  192.             //salvar form multfields
  193.             if ($object->formacoes) {
  194.                 foreach ($object->formacoes as $item) {
  195.                     $object->addFormacao($item);
  196.                 }
  197.             }
  198.  
  199.             $this->form->validate(); // form validation
  200.             $object->store(); // stores the object
  201.  
  202.             $this->form->setData($object); // fill the form with the active record data
  203.             $this->onSendEmail();
  204.             TTransaction::close(); // close the transaction
  205.             new TMessage('info', _t('Record saved')); // shows the success message
  206.         } catch (Exception $e) { // in case of exception
  207.             // shows the exception error message
  208.             new TMessage('error', '<b>Error</b> ' . $e->getMessage());
  209.  
  210.             // undo all pending operations
  211.             TTransaction::rollback();
  212.         }
  213.     }
  214.  
  215.     /**
  216.      * method onEdit()
  217.      * Executed whenever the user clicks at the edit button da datagrid
  218.      */
  219.     function onEdit($param) {
  220.         try {
  221.             if (isset($param['key'])) {
  222.                 // get the parameter $key
  223.                 $key = $param['key'];
  224.  
  225.                 // open a transaction with database 'permission'
  226.                 TTransaction::open('db_avaliacao');
  227.  
  228.                 // instantiates object System_group
  229.                 $object = new Funcionario($key);
  230.                 $object->datanascimento = TDate::date2br($object->datanascimento);
  231.                 $object->dataadmissao = TDate::date2br($object->dataadmissao);
  232.  
  233.                 $object->formacoes = $object->getFormacoes();
  234.  
  235.                 // fill the form with the active record data
  236.                 $this->form->setData($object);
  237.  
  238.                 // close the transaction
  239.                 TTransaction::close();
  240.             } else {
  241.                 $this->form->clear();
  242.             }
  243.         } catch (Exception $e) { // in case of exception
  244.             // shows the exception error message
  245.             new TMessage('error', '<b>Error</b> ' . $e->getMessage());
  246.  
  247.             // undo all pending operations
  248.             TTransaction::rollback();
  249.         }
  250.     }
  251.  
  252.     function onSendEmail() {
  253. //        $mail = new TMail;
  254. //        $mail->setFrom('lordjackson@gmail.com', 'Lord Jackson');
  255. //        $mail->setSubject('Subject');
  256. //        $mail->setHtmlBody('html body');
  257. //        $mail->addAddress('jackson_meires@hotmail.com', 'Jackson');
  258. //        
  259. //        $mail->SetUseSmtp();
  260. //        $mail->SetSmtpHost('smtp.gmail.com', 465);
  261. //        $mail->SetSmtpUser('gmail_user', 'gmail_pass');
  262. //        $mail->send();
  263.  
  264.         try {
  265.             $mail = new TMail;
  266.             $mail->setFrom('lordjackson@gmail.com', 'Jackson');
  267.             $mail->setSubject('Subject');
  268.             $mail->setHtmlBody('html body');
  269.             $mail->addAddress('jackson_meires@hotmail.com', 'Jackson');
  270.             $mail->SetUseSmtp();
  271.             $mail->SetSmtpHost($ini['host'], $ini['port']);
  272.             $mail->SetSmtpUser($ini['user'], $ini['pass']);
  273.             $mail->setReplyTo($ini['repl']);
  274.             $mail->send();
  275.             new TMessage('info', TAdiantiCoreTranslator::translate('Record saved'));
  276.         } catch (Exception $e) { // in case of exception
  277.             new TMessage('error', '<b>Error</b> ' . $e->getMessage());
  278.         }
  279.     }
  280.  
  281. }
  282.  
  283. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement