Conheça as melhorias da versão 8.0, 8.1, 8.2!
Clique aqui para saber mais
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