/** * method onEdit() * Executed whenever the user clicks at the edit button da datagrid */ function onEdit($param) { $string = new StringsUtil(); try { TTransaction::open('atividade'); // open a transaction $logado = Pessoa::retornaUsuario(); if (isset($param['key'])) { $key = $param['key']; // get the parameter $key $atividade = new Atividade($key); $criteria = new TCriteria(); $newparam['order'] = 'id'; $newparam['direction'] = 'asc'; $criteria->setProperties($newparam); // order, offset $this->onComboTicket($criteria); $this->onSetarValoresCombo($atividade->ticket_id); // criar metodo de preenchimento de horas $HoraEntrada = new DateTime($atividade->hora_inicio); $HoraSaida = new DateTime($atividade->hora_fim); $diffHoras = $HoraSaida->diff($HoraEntrada)->format('%H:%I:%S'); $horas = explode(':', $atividade->hora_fim); $atividade->qtde_horas = $horas[0]; $atividade->qtde_minutos = $horas[1]; TCombo::disableField('form_Atividade', 'qtde_horas'); TCombo::disableField('form_Atividade', 'qtde_minutos'); $atividade->tempo_atividade = $diffHoras; $ultimaAtividade = Atividade::retornaUltimaAtividade($atividade->colaborador_id); if (!$ultimaAtividade) { $action = new TAction(array('AtividadeList', 'onReload')); new TMessage('info', 'Nenhuma atividade cadastrada!', $action); // success message } if ($key != $ultimaAtividade) { TButton::disableField('form_Atividade', 'delete'); } $atividade->data_atividade ? $atividade->data_atividade = $string->formatDateBR($atividade->data_atividade) : null; $colaborador = new Pessoa($atividade->colaborador_id); $atividade->colaborador_nome = $colaborador->pessoa_nome; if ($logado->pessoa_codigo != $atividade->colaborador_id) { TButton::disableField('form_Atividade', 'save'); TButton::disableField('form_Atividade', 'delete'); } TButton::disableField('form_Atividade', 'atividade'); $this->form->setData($atividade); // fill the form } else { $object = new Atividade(); $object->colaborador_id = $logado->pessoa_codigo; $object->colaborador_nome = $logado->pessoa_nome; $this->form->setData($object); } TTransaction::close(); // close the transaction } catch (Exception $e) { new TMessage('error', '<b>Error</b> ' . $e->getMessage()); // shows the exception error message TTransaction::rollback(); // undo all pending operations } }