/**
  * method onGenerate()
  * Executed whenever the user clicks at the generate button
  */
 function onGenerate()
 {
     try {
         $data = $this->form->getData();
         $this->form->validate();
         $designer = new TPDFDesigner();
         $designer->fromXml('app/reports/forms.pdf.xml');
         $designer->replace('{name}', $data->name);
         $designer->generate();
         $designer->gotoAnchorXY('anchor1');
         $designer->SetFontColorRGB('#FF0000');
         $designer->SetFont('Arial', 'B', 18);
         $designer->Write(20, 'Dynamic text !');
         $file = 'app/output/pdf_shapes.pdf';
         if (!file_exists($file) or is_writable($file)) {
             $designer->save($file);
             parent::openFile($file);
         } else {
             throw new Exception(_t('Permission denied') . ': ' . $file);
         }
         new TMessage('info', 'Report generated. Please, enable popups in the browser (just in the web).');
     } catch (Exception $e) {
         new TMessage('error', '<b>Error</b> ' . $e->getMessage());
     }
 }
 public function onGenerateKambam()
 {
     try {
         TTransaction::open('atividade');
         $object = $this->form->getData();
         $desenvolvimento = new RequisitoDesenvolvimento(1);
         $cliente_id = $desenvolvimento->ticket->solicitante_id;
         $responsavel_id = $desenvolvimento->ticket->responsavel_id;
         $pessoa = new Pessoa($cliente_id);
         $cliente = $pessoa->pessoa_nome;
         $pessoa = new Pessoa($responsavel_id);
         $responsavel = $pessoa->pessoa_nome;
         $string = new StringsUtil();
         $data = $desenvolvimento->data_cadastro;
         $data = explode('-', $data);
         $data_prevista = '___/___/___';
         if ($desenvolvimento->ticket->data_prevista) {
             $data_prevista = $string->formatDateBR($desenvolvimento->ticket->data_prevista);
         }
         $designer = new TPDFDesigner();
         $designer->fromXml('app/reports/kanban.pdf.xml');
         $designer->replace('{ID_DTR}', $desenvolvimento->id . '/' . $data[0]);
         $designer->replace('{CADASTRO}', $string->formatDateBR($desenvolvimento->data_cadastro));
         $designer->replace('{INICIO}', date('d/m/Y'));
         $designer->replace('{PREVISTA}', $data_prevista);
         $designer->replace('{SISTEMA}', $desenvolvimento->ticket->sistema->nome);
         $designer->replace('{TICKET}', $desenvolvimento->ticket_id);
         $designer->replace('{TITULO}', $desenvolvimento->titulo);
         $designer->replace('{SOLICITANTE}', $cliente);
         $designer->replace('{RESPONSAVEL}', $responsavel);
         $designer->generate();
         $file = 'app/output/DTR011-' . $desenvolvimento->id . '-' . $data[0] . '.pdf';
         $designer->save($file);
         parent::openFile($file);
         new TMessage('info', 'Cartão kambam gerado com sucesso!');
         TTransaction::close();
     } catch (Exception $e) {
         new TMessage('error', $e->getMessage);
     }
 }
 public function onGenerateKanban()
 {
     try {
         TTransaction::open('atividade');
         $object = $this->form->getData();
         $desenvolvimento = new RequisitoDesenvolvimento($object->id);
         $cliente_id = $desenvolvimento->ticket->solicitante_id;
         $responsavel_id = $desenvolvimento->ticket->responsavel_id;
         $pessoa = new Pessoa($cliente_id);
         $cliente = $pessoa->pessoa_nome;
         $pessoa = new Pessoa($responsavel_id);
         $responsavel = $pessoa->pessoa_nome;
         $data = $desenvolvimento->data_cadastro;
         $data = explode('-', $data);
         $data_prevista = '___/___/___';
         if ($desenvolvimento->ticket->data_prevista) {
             $data_prevista = $this->string->formatDateBR($desenvolvimento->ticket->data_prevista);
         }
         $designer = new TPDFDesigner();
         $designer->fromXml('app/reports/kanban.pdf.xml');
         $designer->replace('{ID_DTR}', $desenvolvimento->ticket_id . '/' . $data[0]);
         $designer->replace('{CADASTRO}', $this->string->formatDateBR($desenvolvimento->data_cadastro));
         $designer->replace('{INICIO}', date('d/m/Y'));
         $designer->replace('{PREVISTA}', $data_prevista);
         $designer->replace('{SISTEMA}', utf8_decode($desenvolvimento->ticket->sistema->nome));
         $designer->replace('{TICKET}', $desenvolvimento->ticket_id);
         $designer->replace('{TITULO}', utf8_decode($desenvolvimento->titulo));
         $designer->replace('{SOLICITANTE}', utf8_decode($cliente));
         $designer->replace('{RESPONSAVEL}', utf8_decode($responsavel));
         $designer->generate();
         $tipo = array(4 => 'D', 5 => 'A', 6 => 'C');
         $nome = 'DTR011' . $tipo[$desenvolvimento->ticket->tipo_ticket_id] . $desenvolvimento->ticket_id . '-' . $data[0] . ' - ' . $desenvolvimento->titulo;
         $file = 'app/output/' . $nome . '.pdf';
         $designer->save($file);
         parent::openFile($file);
         TButton::enableField('form_RequisitoDesenvolvimento', 'save');
         $this->form->setData($object);
         // define the onEdit action
         $action = new TAction(array($this, 'onEdit'));
         $param['key'] = $object->id;
         $action->setParameters($param);
         // pass the key parameter ahead
         new TMessage('info', 'Cartão kambam gerado com sucesso!', $action);
         TTransaction::close();
     } catch (Exception $e) {
         new TMessage('error', $e->getMessage);
     }
 }