コード例 #1
0
 /**
  * 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');
     }
 }
コード例 #2
0
 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());
             }
         }
     }
 }
コード例 #3
0
 /**
  * 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
     }
 }
コード例 #4
0
 /**
  * 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
     }
 }
コード例 #5
0
 /**
  * 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);
 }