/** * Executed when user leaves the fields */ public static function onEnableAction($data) { if (isset($data['animal']) and isset($data['color'])) { if ($data['animal'] == 'elephant' and $data['color'] == 'blue') { TButton::enableField('cond_form', 'save'); } else { TButton::disableField('cond_form', 'save'); } } else { TButton::disableField('cond_form', 'save'); } }
public static function onChangeDataAction($param) { $string = new StringsUtil(); $data1 = date('Y-m-d'); $data2 = $string->formatDate($param['data_ponto']); if (strtotime($data2) > strtotime($data1)) { new TMessage('error', 'Data do ponto maior que a data atual!'); TButton::disableField('form_Ponto', 'salvar'); } else { $dataLimite = date('Y-m-d', strtotime("-5 days")); if (strtotime($dataLimite) > strtotime($data2)) { new TMessage('error', 'Data do ponto menor que data limite permitida [' . $string->formatDateBR($dataLimite) . ']'); TButton::disableField('form_Ponto', 'salvar'); } else { try { TTransaction::open('atividade'); $ultimoPonto = Ponto::retornaUltimoPonto($param['colaborador_id']); $ponto = new Ponto($ultimoPonto); if (strtotime($ponto->data_ponto) >= strtotime($data2)) { new TMessage('error', 'Existe data posterior ou igual cadastrada!'); TButton::disableField('form_Ponto', 'salvar'); } else { //verificar se a data ta fechada if ($ponto->hora_saida) { TButton::enableField('form_Ponto', 'salvar'); } else { new TMessage('error', 'Ponto anterior não encerrado!'); TButton::disableField('form_Ponto', 'salvar'); } } TTransaction::close(); } catch (Exception $e) { new TMessage('error', '<b>Error</b> ' . $e->getMessage()); } } } }
/** * 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 } }
/** * 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 if (isset($param['key'])) { $key = $param['key']; // get the parameter $key $object = new Ticket($key); // instantiates the Active Record $dtrs = $object->getRequisitoDesenvolvimentos(); foreach ($dtrs as $dtr) { $object->nome_dtr = $dtr->titulo; } if ($object->nome_dtr) { TButton::disableField('form_Ticket', 'gerar_dr'); TButton::enableField('form_Ticket', 'link_dtr'); } if ($object->tipo_ticket_id == 4 or $object->tipo_ticket_id == 5 or $object->tipo_ticket_id == 6) { if (!$object->nome_dtr) { TButton::enableField('form_Ticket', 'gerar_dr'); } } TButton::disableField('form_Ticket', 'delete'); if ($object->status_ticket_id == 2 and !$object->data_aprovacao and !$object->getAtividades()) { 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'); } $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_inicio ? $object->data_inicio_oculta = $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; $saldo = $object->valor_total - $object->valor_total_pago; $saldo ? $object->valor_saldo = number_format($saldo, 2, ',', '.') : 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; $object->orcamento_horas ? $object->orcamento_horas = strstr($object->orcamento_horas, ':', true) : null; if ($object->solicitante_id) { $pessoa = new Pessoa($object->solicitante_id); $vars['tipo_origens'] = $pessoa->origem; $vars['codigo_cadastro_origem'] = $pessoa->codigo_cadastro_origem; $vars['solicitante_id'] = $pessoa->pessoa_codigo; $this->onChangeOrigem($vars); $this->onChangeTipoOrigem($vars); } $this->form->setData($object); // fill the form $this->onSetarValoresCombo($vars); } else { $object = new Ticket(); $object->data_cadastro = date('d/m/Y'); $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 } }
/** * Class constructor * Creates the page and the registration form */ function __construct() { parent::__construct(); // creates the form $this->form = new TForm('form_RequisitoDesenvolvimento'); $this->form->class = 'tform'; // CSS class $this->form->style = 'width: 500px'; $this->string = new StringsUtil(); // add a table inside form $table = new TTable(); $table->width = '100%'; $this->form->add($table); // add a row for the form title $row = $table->addRow(); $row->class = 'tformtitle'; // CSS class $row->addCell(new TLabel('Cadastro de DTr'))->colspan = 2; // create the form fields $id = new THidden('id'); $titulo = new TEntry('titulo'); $data_cadastro = new TEntry('data_cadastro'); $data_cadastro->setEditable(FALSE); $data_cadastro->setMask('dd/mm/yyyy'); $data_cadastro->setValue(date('d/m/Y')); $rotina = new TEntry('rotina'); $objetivo = new TText('objetivo'); $entrada = new TText('entrada'); $processamento = new TText('processamento'); $saida = new TText('saida'); $ticket_id = new TEntry('ticket_id'); $ticket_id->setEditable(FALSE); $ticket_titulo = new TEntry('ticket_titulo'); $ticket_titulo->setEditable(FALSE); // define the sizes $id->setSize(100); $titulo->setSize(300); $data_cadastro->setSize(100); $rotina->setSize(300); $objetivo->setSize(300, 60); $entrada->setSize(300, 60); $processamento->setSize(300, 60); $saida->setSize(300, 60); $ticket_id->setSize(45); $ticket_titulo->setSize(250); // validations $titulo->addValidation('Título', new TRequiredValidator()); $objetivo->addValidation('Objetivo', new TRequiredValidator()); $ticket_id->addValidation('Ticket', new TRequiredValidator()); // add one row for each form field $table->addRowSet($label_titulo = new TLabel('Título:'), $titulo); $label_titulo->setFontColor('#FF0000'); $table->addRowSet($label_ticket_id = new TLabel('Ticket:'), array($ticket_id, $ticket_titulo)); $label_ticket_id->setFontColor('#FF0000'); $table->addRowSet(new TLabel('Data de Cadastro:'), $data_cadastro); $table->addRowSet(new TLabel('Rotina:'), $rotina); $table->addRowSet($label_objetivo = new TLabel('Objetivo:'), $objetivo); $label_objetivo->setFontColor('#FF0000'); $table->addRowSet(new TLabel('Entrada:'), $entrada); $table->addRowSet(new TLabel('Processamento:'), $processamento); $table->addRowSet(new TLabel('Saida:'), $saida); $table->addRowSet(new TLabel(''), $id); $this->form->setFields(array($id, $titulo, $data_cadastro, $rotina, $objetivo, $entrada, $processamento, $saida, $ticket_id, $ticket_titulo)); // create the form actions $save_button = TButton::create('save', array($this, 'onSave'), _t('Save'), 'fa:floppy-o'); $list_button = TButton::create('list', array('RequisitoDesenvolvimentoList', 'onReload'), _t('List'), 'fa:table blue'); $gerar_dtr = TButton::create('gerar_dtr', array($this, 'onGenerate'), 'Gerar DTr', 'fa:floppy-o'); $gerar_kanban = TButton::create('gerar_kanban', array($this, 'onGenerateKanban'), 'Gerar Kanban', 'fa:floppy-o'); TButton::disableField('form_RequisitoDesenvolvimento', 'save'); TButton::disableField('form_RequisitoDesenvolvimento', 'gerar_dtr'); TButton::disableField('form_RequisitoDesenvolvimento', 'gerar_kanban'); $this->form->addField($save_button); $this->form->addField($list_button); $this->form->addField($gerar_dtr); $this->form->addField($gerar_kanban); $buttons_box = new THBox(); $buttons_box->add($save_button); $buttons_box->add($list_button); $buttons_box->add($gerar_dtr); $buttons_box->add($gerar_kanban); // add a row for the form action $row = $table->addRow(); $row->class = 'tformaction'; // CSS class $row->addCell($buttons_box)->colspan = 2; parent::add($this->form); }