Problema TMultiFile não carrega imagens apos salvar. Galera os arquivos chegam aparecer ate apos salvar mas quando sai e entra novamente os anexos somem alguem poderia me dar uma luz o codigo abaixo: ...
RR
Problema TMultiFile não carrega imagens apos salvar.  
Galera os arquivos chegam aparecer ate apos salvar mas quando sai e entra novamente os anexos somem alguem poderia me dar uma luz o codigo abaixo:

 
  1. <?php
  2. /**
  3. * CustomerFormView
  4. *
  5. * @version 1.0
  6. * @package samples
  7. * @subpackage tutor
  8. * @author Pablo Dall'Oglio
  9. * @copyright Copyright (c) 2006 Adianti Solutions Ltd. (http://www.adianti.com.br)
  10. * @license http://www.adianti.com.br/framework-license
  11. */
  12. class EquipamentoFormView extends TPage
  13. {
  14. private $form; // form
  15. private $contacts;
  16. /**
  17. * Class constructor
  18. * Creates the page and the registration form
  19. */
  20. function __construct()
  21. {
  22. parent::__construct();
  23. // creates the form
  24. $this->form = new BootstrapFormBuilder('form_equipamento');
  25. $this->form->setFormTitle('Prontuário Técnico de Equipamento');
  26. // create the form fields
  27. $id_equipamento = new THidden('id_equipamento');
  28. $n_patrimonio = new TEntry('n_patrimonio');
  29. $tipo_equipamento = new TCombo('tipo_equipamento');
  30. $fabricante = new TDBCombo('fabricante', 'sistema', 'Fabricante', 'id_fabricante', 'descricao');
  31. $modelo = new TEntry('modelo');
  32. $n_serie = new TEntry('n_serie');
  33. $v_compra = new TEntry('v_compra');
  34. $n_nota = new TEntry('n_nota');
  35. $dt_nota = new TDate('dt_nota');
  36. $ativo = new TCombo('ativo');
  37. $localizacao = new TDBCombo('localizacao', 'sistema', 'Localizacao', 'descricao', 'descricao');
  38. $p_manual = new TCombo('p_manual');
  39. $voltagem = new TCombo('voltagem');
  40. $p_contrato = new TCombo('p_contrato');
  41. $empresa = new TEntry('empresa');
  42. $cpf_cnpj = new TEntry('cpf_cnpj');
  43. $for_classificado = new TCombo('for_classificado');
  44. $contato = new TEntry('contato');
  45. $ins_estadual = new TEntry('ins_estadual');
  46. $doc_dias = new TCombo('doc_dias');
  47. $telefone = new TEntry('telefone');
  48. $inicio_contrato = new TDate('inicio_contrato');
  49. $fim_contrato = new TDate('fim_contrato');
  50. $vigencia = new TCombo('vigencia');
  51. $r_automatica = new TCombo('r_automatica');
  52. $v_contratual = new TEntry('v_contratual');
  53. $componetes_equipamento = new TText('componetes_equipamento');
  54. $dt_ultima_preventiva = new TDate('dt_ultima_preventiva');
  55. $dt_proxima_preventiva = new TDate('dt_proxima_preventiva');
  56. $eq_restricoes = new TCombo('eq_restricoes');
  57. $obs = new TText('obs');
  58. $dt_cadastro = new TDate('dt_cadastro');
  59. $mp = new TMultiFile('mp');
  60. $mc = new TMultiFile('mc');
  61. //$mp->setAllowedExtensions(['png', 'jpg', 'pdf']);
  62. $mp->enableFileHandling();
  63. $mc->enableFileHandling();
  64. // add the combo options
  65. $tipo_equipamento->addItems( [ 'US' => 'US', 'RX' => 'RX', 'CT' => 'CT', 'RM' => 'RM', 'MG' => 'MG', 'DO' => 'DO', 'INJ' => 'INJ', 'CR' => 'CR', 'IMP' => 'IMP', 'DRY' => 'DRY' ] );
  66. $ativo->addItems(['SIM' => 'SIM', 'NÃO' => 'NÃO']);
  67. $voltagem->addItems(['110' => '110', '220' => '220', '380' => '380']);
  68. $p_manual->addItems(['SIM' => 'SIM', 'NÃO' => 'NÃO']);
  69. $p_contrato->addItems(['SIM' => 'SIM', 'NÃO' => 'NÃO']);
  70. $for_classificado->addItems(['SIM' => 'SIM', 'NÃO' => 'NÃO']);
  71. $doc_dias->addItems(['SIM' => 'SIM', 'NÃO' => 'NÃO']);
  72. $vigencia->addItems(['6 Meses' => '6 Meses', '12 Meses' => '12 Meses']);
  73. $r_automatica->addItems(['SIM' => 'SIM', 'NÃO' => 'NÃO']);
  74. $eq_restricoes->addItems(['SIM' => 'SIM', 'NÃO' => 'NÃO']);
  75. // define some properties for the form fields
  76. $n_patrimonio->setSize('30%');
  77. $tipo_equipamento->setSize('30%');
  78. $fabricante->setSize('100%');
  79. $modelo->setSize('100%');
  80. $n_serie->setSize('60%');
  81. $v_compra->setSize('60%');
  82. $n_nota->setSize('60%');
  83. $ativo->setSize('30%');
  84. $voltagem->setSize('30%');
  85. $p_manual->setSize('30%');
  86. $p_contrato->setSize('10%');
  87. $empresa->setSize('60%');
  88. $cpf_cnpj->setSize('60%');
  89. $for_classificado->setSize('20%');
  90. $contato->setSize('100%');
  91. $ins_estadual->setSize('60%');
  92. $doc_dias->setSize('20%');
  93. $telefone->setSize('60%');
  94. $inicio_contrato->setSize('40%');
  95. $fim_contrato->setSize('40%');
  96. $vigencia->setSize('60%');
  97. $r_automatica->setSize('50%');
  98. $v_contratual->setSize('60%');
  99. $componetes_equipamento->setSize('80%');
  100. $dt_ultima_preventiva->setSize('80%');
  101. $dt_proxima_preventiva->setSize('80%');
  102. $eq_restricoes->setSize('60%');
  103. $obs->setSize('100%');
  104. $dt_cadastro->setSize('100%');
  105. $mp->setSize('50%');
  106. $mc->setSize('50%');
  107. $this->form->appendPage('Descrição do equipamento');
  108. $this->form->addFields( [$id_equipamento] )->style = 'display:none';
  109. $this->form->addFields( [ new TLabel('Numero do patrimônio:') ], [ $n_patrimonio ], [ new TLabel('Tipo de equipamento:') ], [ $tipo_equipamento ] );
  110. $this->form->addFields( [ new TLabel('Fabricante:') ], [ $fabricante ], [ new TLabel('Modelo:') ], [ $modelo ] );
  111. $this->form->addFields( [ new TLabel('Numero de série:') ], [ $n_serie ], [ new TLabel('Valor de compra:') ], [ $v_compra ] );
  112. $this->form->addFields( [ new TLabel('Numero da nota:') ], [ $n_nota ], [ new TLabel('Data da nota:') ], [ $dt_nota ]);
  113. $this->form->addFields( [ new TLabel('Ativo:') ], [ $ativo ], [ new TLabel('Voltagem:') ], [ $voltagem ]);
  114. $this->form->addFields( [ new TLabel('Localização:') ], [ $localizacao ], [ new TLabel('Possui Manual:') ], [ $p_manual ]);
  115. $this->form->appendPage('Informações Contratuais');
  116. $this->form->addFields( [ new TLabel('Possui contrato:') ], [ $p_contrato ] );
  117. $this->form->addFields( [ new TLabel('Empresa:') ], [ $empresa ] );
  118. $this->form->addFields( [ new TLabel('CNPJ/CPF:') ], [ $cpf_cnpj ], [ new TLabel('Inscrição Estadual:') ], [ $ins_estadual ] );
  119. $this->form->addFields( [ new TLabel('Fornecedor classificado:') ], [ $for_classificado ], [ new TLabel('Documentação em dias:') ], [ $doc_dias ] );
  120. $this->form->addFields( [ new TLabel('Contato:') ], [ $contato ], [ new TLabel('Telefone:') ], [ $telefone ] );
  121. $this->form->addFields( [ new TLabel('Data de inicio de contrato:') ], [ $inicio_contrato ], [ new TLabel('Data de termino de contrato:') ], [ $fim_contrato ] );
  122. $this->form->addFields( [ new TLabel('Renovação automatica:') ], [ $r_automatica ], [ new TLabel('Tempo de vigncia:') ], [ $vigencia ], [ new TLabel('Valor do contrato:') ], [ $v_contratual ] );
  123. $this->form->appendPage('Componetes do equipamento');
  124. $this->form->addFields( [ new TLabel('Descrição de componetes:') ], [ $componetes_equipamento ] );
  125. $this->form->appendPage('Informações Técnicas');
  126. $this->form->addFields( [ new TLabel('Data ultima preventiva:') ], [ $dt_ultima_preventiva ], [ new TLabel('Data proxima preventiva:') ], [ $dt_proxima_preventiva ], [ new TLabel('Equipamento com retrições:') ], [ $eq_restricoes ] );
  127. $this->form->addFields( [ new TLabel('Observações:') ], [ $obs ] );
  128. $this->form->appendPage('Manutenções preventivas');
  129. $this->form->addFields( [ new TLabel('Manutenções preventivas:') ], [ $mp ] );
  130. $this->form->appendPage('Manutenções corretivas');
  131. $this->form->addFields( [ new TLabel('Manutenções corretivas:') ], [ $mc ] );
  132. $this->form->addAction( 'Salvar', new TAction([$this, 'onSave']), 'fa:save green' );
  133. $this->form->addAction( 'Limpar', new TAction([$this, 'onClear']), 'fa:eraser red' );
  134. $this->form->addActionLink( 'Listar', new TAction(['EquipamentoDataGridView', 'onReload']), 'fa:table blue' );
  135. // wrap the page content
  136. $vbox = new TVBox;
  137. $vbox->style = 'width: 100%';
  138. //$vbox->add(new TXMLBreadCrumb('menu.xml', 'CustomerDataGridView'));
  139. $vbox->add($this->form);
  140. // add the form inside the page
  141. parent::add($vbox);
  142. }
  143. /**
  144. * method onSave
  145. * Executed whenever the user clicks at the save button
  146. */
  147. public function onSave()
  148. {
  149. try
  150. {
  151. TTransaction::open('sistema'); // open a transaction
  152. $this->form->validate(); // validate form data
  153. $object = new Equipamento; // create an empty object
  154. $data = $this->form->getData(); // get form data as array
  155. $object->fromArray( (array) $data); // load the object with data
  156. $object->store(); // save the object
  157. TTransaction::close();
  158. new TMessage('info', 'Dados gravados com sucesso!');
  159. }
  160. catch (Exception $e) // in case of exception
  161. {
  162. new TMessage('error', $e->getMessage()); // shows the exception error message
  163. $this->form->setData( $this->form->getData() ); // keep form data
  164. TTransaction::rollback(); // undo all pending operations
  165. }
  166. }
  167. /**
  168. * method onEdit
  169. * Edit a record data
  170. */
  171. public function onEdit($param){
  172. $key = $param['key']; // obt�m o par�metro $key
  173. TTransaction::open('sistema'); // abre a transa��o
  174. $data = new Equipamento($key); // instancia o Active Record
  175. $this->form->setData($data); // preenche o form
  176. TTransaction::close(); // fecha a transa��o
  177. }
  178. /**
  179. * Clear form
  180. */
  181. public function onClear($param)
  182. {
  183. $this->form->clear();
  184. }
  185. }

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (4)


RR


# Nome Tipo Agrupamento (Collation) Atributos Nulo Predefinido Comentários Extra Acções
1 id_equipamentoPrimária int(11) Não None AUTO_INCREMENT Muda Muda Elimina Elimina
Mais Mais
2 n_patrimonio varchar(100) utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
3 tipo_equipamento varchar(50) utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
4 fabricante varchar(100) utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
5 modelo varchar(150) utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
6 n_serie varchar(100) utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
7 v_compra decimal(10,0) Sim NULL Muda Muda Elimina Elimina
Mais Mais
8 n_nota varchar(100) utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
9 dt_nota date Sim NULL Muda Muda Elimina Elimina
Mais Mais
10 ativo varchar(50) utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
11 localizacao varchar(100) utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
12 p_manual varchar(50) utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
13 voltagem varchar(50) utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
14 p_contrato varchar(50) utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
15 empresa varchar(100) utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
16 cpf_cnpj varchar(21) utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
17 for_classificado varchar(20) utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
18 contato varchar(100) utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
19 ins_estadual varchar(50) utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
20 doc_dias varchar(20) utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
21 telefone varchar(20) utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
22 inicio_contrato date Sim NULL Muda Muda Elimina Elimina
Mais Mais
23 fim_contrato date Sim NULL Muda Muda Elimina Elimina
Mais Mais
24 vigencia varchar(20) utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
25 r_automatica varchar(25) utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
26 v_contratual decimal(10,0) Sim NULL Muda Muda Elimina Elimina
Mais Mais
27 componetes_equipamento text utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
28 dt_ultima_preventiva date Sim NULL Muda Muda Elimina Elimina
Mais Mais
29 dt_proxima_preventiva date Sim NULL Muda Muda Elimina Elimina
Mais Mais
30 eq_restricoes varchar(25) utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
31 obs text utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
32 dt_cadastro datetime Sim NULL Muda Muda Elimina Elimina
Mais Mais
33 mp text utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
34 mc text utf8_general_ci Sim NULL Muda Muda Elimina Elimina
Mais Mais
MA

Não entendi qual o seu real problema, Pois sempre quando salva os arquivos saem msm mas ja foram armazenados no banco de dados, você deve mover eles para sua pasta que você deseja e pode mostrar eles depois criando um painel de imagens.
NR

O TFile e TMultifile fazem o upload temporário para a pasta tmp do sistema. Dentro da função onSave tem que adicionar os comandos para mover os arquivos para outro diretório e salvar esse caminho no banco de dados.

Veja esse exemplo do tutor:
adianti.com.br/framework_files/tutor/index.php?class=ProductForm&

Para facilitar o tratamento dos arquivos temos as funções saveFile e saveFiles da trait AdiantiFileSaveTrait. A primeira função é usada com o TFile e a segunda com o TMultifile.
MA

Heather Rosado, use rest services to give you a freedom in design. Or you can create a new template, but it will be more laborious