/** * method onSave() * Executed whenever the user clicks at the save button */ function onSave() { $string = new StringsUtil(); try { TTransaction::open('atividade'); // open a transaction // get the form data into an active record Ticket $object = $this->form->getData('Ticket'); $validador = new TUltiPgtoValidator(); $validador->validate('Ultimo pagamento', '', array($object->valor_pagamento, $object->data_pagamento)); !$object->data_cadastro ? $object->data_cadastro = date('Y-m-d') : ($object->data_cadastro = $string->formatDate($object->data_cadastro)); $object->data_prevista ? $object->data_prevista = $string->formatDate($object->data_prevista) : null; if ($object->status_ticket_id == 5) { $object->data_inicio = $object->data_inicio_oculta; } $object->data_inicio ? $object->data_inicio = $string->formatDate($object->data_inicio) : null; $object->data_encerramento ? $object->data_encerramento = $string->formatDate($object->data_encerramento) : null; $object->data_cancelamento ? $object->data_cancelamento = $string->formatDate($object->data_cancelamento) : null; $object->data_aprovacao ? $object->data_aprovacao = $string->formatDate($object->data_aprovacao) : null; $object->data_ultimo_pgto ? $object->data_ultimo_pgto = $string->formatDate($object->data_ultimo_pgto) : null; $object->data_pagamento ? $object->data_ultimo_pgto = $string->formatDate($object->data_pagamento) : null; $object->orcamento_horas ? $object->orcamento_horas = $object->orcamento_horas . ':00:00' : null; $object->orcamento_valor_hora ? $object->orcamento_valor_hora = $string->desconverteReais($object->orcamento_valor_hora) : null; $object->valor_desconto ? $object->valor_desconto = $string->desconverteReais($object->valor_desconto) : null; $object->valor_total ? $object->valor_total = $string->desconverteReais($object->valor_total) : null; $object->valor_ultimo_pgto ? $object->valor_ultimo_pgto = $string->desconverteReais($object->valor_ultimo_pgto) : null; $object->valor_total_pago ? $object->valor_total_pago = $string->desconverteReais($object->valor_total_pago) : null; if ($object->valor_pagamento) { $object->valor_ultimo_pgto = $string->desconverteReais($object->valor_pagamento); $object->valor_total_pago += $string->desconverteReais($object->valor_pagamento); } $vars['tipo_origens'] = $object->tipo_origens; $vars['codigo_cadastro_origem'] = $object->codigo_cadastro_origem; $vars['solicitante_id'] = $object->solicitante_id; $this->onChangeOrigem($vars); $this->onChangeTipoOrigem($vars); $this->onSetarValoresCombo($vars); $this->form->validate(); // form validation $object->store(); // stores the object $saldo = $object->valor_total - $object->valor_total_pago; $object->valor_saldo = number_format($saldo, 2, ',', '.'); $object->data_cadastro ? $object->data_cadastro = $string->formatDateBR($object->data_cadastro) : null; $object->data_prevista ? $object->data_prevista = $string->formatDateBR($object->data_prevista) : null; $object->data_inicio ? $object->data_inicio = $string->formatDateBR($object->data_inicio) : null; $object->data_encerramento ? $object->data_encerramento = $string->formatDateBR($object->data_encerramento) : null; $object->data_cancelamento ? $object->data_cancelamento = $string->formatDateBR($object->data_cancelamento) : null; $object->data_aprovacao ? $object->data_aprovacao = $string->formatDateBR($object->data_aprovacao) : null; $object->data_ultimo_pgto ? $object->data_ultimo_pgto = $string->formatDateBR($object->data_ultimo_pgto) : null; $object->orcamento_horas ? $object->orcamento_horas = strstr($object->orcamento_horas, ':', true) : null; $object->orcamento_valor_hora ? $object->orcamento_valor_hora = number_format($object->orcamento_valor_hora, 2, ',', '.') : null; $object->valor_desconto ? $object->valor_desconto = number_format($object->valor_desconto, 2, ',', '.') : null; $object->valor_total ? $object->valor_total = number_format($object->valor_total, 2, ',', '.') : null; $object->valor_ultimo_pgto ? $object->valor_ultimo_pgto = number_format($object->valor_ultimo_pgto, 2, ',', '.') : null; $object->valor_total_pago ? $object->valor_total_pago = number_format($object->valor_total_pago, 2, ',', '.') : null; $ticket = new Ticket($object->id); $dtrs = $ticket->getRequisitoDesenvolvimentos(); foreach ($dtrs as $dtr) { $titulo = $dtr->titulo; } if (!$titulo) { if ($object->tipo_ticket_id == 4 or $object->tipo_ticket_id == 5 or $object->tipo_ticket_id == 6) { TButton::enableField('form_Ticket', 'gerar_dr'); } } else { TButton::enableField('form_Ticket', 'link_dtr'); } TButton::disableField('form_Ticket', 'delete'); if ($object->status_ticket_id == 2 and !$object->data_aprovacao and !$object->getAtividades() and !$object->data_ultimo_pgto) { TButton::enableField('form_Ticket', 'delete'); } if ($object->status_ticket_id == 5) { TDate::disableField('form_Ticket', 'data_inicio'); TDate::disableField('form_Ticket', 'data_encerramento'); TDate::disableField('form_Ticket', 'data_cancelamento'); } $this->form->setData($object); // keep form data TTransaction::close(); // close the transaction // shows the success message new TMessage('info', TAdiantiCoreTranslator::translate('Record saved')); } catch (Exception $e) { new TMessage('error', '<b>Error</b> ' . $e->getMessage()); // shows the exception error message $this->form->setData($this->form->getData()); // keep form data TTransaction::rollback(); // undo all pending operations } }