Advertisement
Guest User

Untitled

a guest
May 22nd, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.54 KB | None | 0 0
  1. <?php
  2.  
  3. class AcaoEtapaDetalhe extends TPage {
  4.  
  5. private $form;
  6. private $datagrid;
  7.  
  8. public function __construct() {
  9.  
  10. parent::__construct();
  11.  
  12. $this->form = new BootstrapFormBuilder('detalhe_acaoetapa');
  13. $this->form->setFormTitle('Detalhe de Etapa da Ação');
  14. $this->form->class = 'detalhe_acaoetapa';
  15.  
  16. $id = new THidden('id');
  17. $situacaoacao_id = new TDBCombo('situacaoacao_id', 'database', 'SituacaoAcaoRecord', 'id', 'nomesituacao');
  18. $situacaoacao_id->setDefaultOption('..::SELECIONE::..');
  19. $acao_id = new THidden('acao_id');
  20. $acao_id->setValue(filter_input(INPUT_GET, 'fk'));
  21.  
  22. TTransaction::open('database');
  23. $nomeAcao = new AcaoRecord(filter_input(INPUT_GET, 'fk'));
  24. TTransaction::close();
  25.  
  26. $nomeAcao = new TLabel('<b>' . $nomeAcao->nomeacao . '</b>');
  27.  
  28.  
  29.  
  30. $nomeetapa = new TEntry('nomeetapa');
  31. $datainicioetapa = new TDate('datainicioetapa');
  32. $previsaofinaletapa = new TDate('previsaofinaletapa');
  33. $dataconclusaoetapa = new TDate('dataconclusaoetapa');
  34. $previsaoorcamentariaetapa = new TEntry('previsaoorcamentariaetapa');
  35. $recursospropriosetapa = new TEntry('recursospropriosetapa');
  36. $recursosfederaisetapa = new TEntry('recursosfederaisetapa');
  37. $recursosmunicipaisetapa = new TEntry('recursosmunicipaisetapa');
  38. $recursosprivadosetapa = new TEntry('recursosprivadosetapa');
  39. $latitude = new TEntry('latitude');
  40. $longitude = new TEntry('longitude');
  41.  
  42. $latitude->setMaxLength(20);
  43. $longitude->setMaxLength(20);
  44.  
  45. $nomeetapa->{'placeholder'} = 'NOME DA ETAPA';
  46. $datainicioetapa->{'placeholder'} = '01/01/2018';
  47. $previsaofinaletapa->{'placeholder'} = '01/01/2018';
  48. $dataconclusaoetapa->{'placeholder'} = '01/01/2018';
  49. $previsaoorcamentariaetapa->{'placeholder'} = '0,00';
  50. $recursospropriosetapa->{'placeholder'} = '0,00';
  51. $recursosfederaisetapa->{'placeholder'} = '0,00';
  52. $recursosmunicipaisetapa->{'placeholder'} = '0,00';
  53. $recursosprivadosetapa->{'placeholder'} = '0,00';
  54. $latitude->{'placeholder'} = '-00.000000000';
  55. $longitude->{'placeholder'} = '00.000000000';
  56.  
  57. $datainicioetapa->setSize(200);
  58. $previsaofinaletapa->setSize(200);
  59. $dataconclusaoetapa->setSize(200);
  60. $previsaoorcamentariaetapa->setSize(200);
  61. $recursospropriosetapa->setSize(200);
  62. $recursosfederaisetapa->setSize(200);
  63. $recursosmunicipaisetapa->setSize(200);
  64. $recursosprivadosetapa->setSize(200);
  65. $latitude->setSize(200);
  66. $longitude->setSize(200);
  67. $situacaoacao_id->setSize(200);
  68.  
  69. $previsaoorcamentariaetapa->setNumericMask(2, ',', '.', true);
  70. $recursospropriosetapa->setNumericMask(2, ',', '.', true);
  71. $recursosfederaisetapa->setNumericMask(2, ',', '.', true);
  72. $recursosmunicipaisetapa->setNumericMask(2, ',', '.', true);
  73. $recursosprivadosetapa->setNumericMask(2, ',', '.', true);
  74.  
  75. $situacaoacao_id->addValidation('Situacaoacao', new TRequiredValidator);
  76. $acao_id->addValidation('Acao', new TRequiredValidator);
  77. $nomeetapa->addValidation('Nomeetapa', new TRequiredValidator);
  78.  
  79. $action1 = new TAction([$this, 'onSave']);
  80. $action1->setParameter('key', '' . filter_input(INPUT_GET, 'key') . '');
  81. $action1->setParameter('fk', '' . filter_input(INPUT_GET, 'fk') . '');
  82.  
  83. $this->form->addFields([$id]);
  84. $this->form->addFields([$acao_id]);
  85.  
  86. $this->form->addFields([new TLabel('Ação')], [$nomeAcao]);
  87.  
  88. $this->form->addFields([new TLabel('Nome da Etapa <i>*</i>')], [$nomeetapa]);
  89. $this->form->addFields([new TLabel('Situação <i>*</i>')], [$situacaoacao_id]);
  90. $this->form->addFields([new TLabel('Data de Ínicio')], [$datainicioetapa]);
  91. $this->form->addFields([new TLabel('Previsão do Final')], [$previsaofinaletapa]);
  92. $this->form->addFields([new TLabel('Data de Conclusão')], [$dataconclusaoetapa]);
  93. $this->form->addFields([new TLabel('Previsão Orçamentaria')], [$previsaoorcamentariaetapa]);
  94. $this->form->addFields([new TLabel('Recursos Próprios')], [$recursospropriosetapa]);
  95. $this->form->addFields([new TLabel('Recursos Federais')], [$recursosfederaisetapa]);
  96. $this->form->addFields([new TLabel('Recursos Municipais')], [$recursosmunicipaisetapa]);
  97. $this->form->addFields([new TLabel('Recursos Privados')], [$recursosprivadosetapa]);
  98. $this->form->addFields([new TLabel('Latitude')], [$latitude]);
  99. $this->form->addFields([new TLabel('Longitude')], [$longitude]);
  100.  
  101. $this->form->addFields([new TLabel('')], [TElement::tag('label', '<i>* Campos obrigatórios</i>')]);
  102.  
  103. $this->form->addAction('Salvar', $action1, 'fa:save')->class = 'btn btn-sm btn-primary';
  104. $this->form->addAction('Voltar', new TAction(['AcaoList', 'onReload']), 'fa:arrow-left')->class = 'btn btn-sm btn-primary';
  105.  
  106. $this->datagrid = new TDatagridTables;
  107.  
  108. $dgsituacaoacao_id = new TDataGridColumn('nomesituacao', 'Nome da Situação', 'left', 200);
  109. $dgacao_id = new TDataGridColumn('nomeacao', 'Nome da Ação', 'left', 200);
  110. $dgnomeetapa = new TDataGridColumn('nomeetapa', 'Nome da Etapa', 'left', 200);
  111. $dgdatainicioetapa = new TDataGridColumn('datainicioetapa', 'Data inicio da Etapa', 'left', 200);
  112. $dgprevisaofinaletapa = new TDataGridColumn('previsaofinaletapa', 'Previsão Final da Etapa', 'left', 200);
  113. $dgdataconclusaoetapa = new TDataGridColumn('dataconclusaoetapa', 'Data Conclusao da Etapa', 'left', 200);
  114.  
  115. $this->datagrid->addColumn($dgsituacaoacao_id);
  116. $this->datagrid->addColumn($dgacao_id);
  117. $this->datagrid->addColumn($dgnomeetapa);
  118. $this->datagrid->addColumn($dgdatainicioetapa);
  119. $this->datagrid->addColumn($dgprevisaofinaletapa);
  120. $this->datagrid->addColumn($dgdataconclusaoetapa);
  121.  
  122. $actionEdit = new TDataGridAction([$this, 'onEdit']);
  123. $actionEdit->setButtonClass("btn btn-default");
  124. $actionEdit->setLabel('Editar');
  125. $actionEdit->setImage("fa:pencil-square-o blue fa-lg");
  126. $actionEdit->setField('id');
  127. $actionEdit->setFk('acao_id');
  128. $actionEdit->setDisplayCondition([$this, 'editColumnDisplay']);
  129.  
  130. $actionDelete = new TDataGridAction([$this, 'onDelete']);
  131. $actionDelete->setButtonClass("btn btn-default");
  132. $actionDelete->setLabel('Deletar');
  133. $actionDelete->setImage("fa:trash-o red fa-lg");
  134. $actionDelete->setField('id');
  135. $actionDelete->setFk('acao_id');
  136. $actionDelete->setDisplayCondition([$this, 'deleteColumnDisplay']);
  137.  
  138. $actionEtapaFotos = new TDataGridAction(['AcaoEtapaFotosDetalhe', 'onReload']);
  139. $actionEtapaFotos->setButtonClass("btn btn-default");
  140. $actionEtapaFotos->setLabel('Fotos da Etapa');
  141. $actionEtapaFotos->setImage("fa:file-image-o red fa-lg");
  142. $actionEtapaFotos->setField('id');
  143. $actionEtapaFotos->setFk('id');
  144. $actionEtapaFotos->setDid('acao_id');
  145.  
  146. $actionEtapaMunicipios = new TDataGridAction(['EtapaMunicipioDetalhe', 'onReload']);
  147. $actionEtapaMunicipios->setButtonClass("btn btn-default");
  148. $actionEtapaMunicipios->setLabel('Municípios da Etapa');
  149. $actionEtapaMunicipios->setImage("fa:map-marker black fa-lg");
  150. $actionEtapaMunicipios->setField('id');
  151. $actionEtapaMunicipios->setFk('id');
  152. $actionEtapaMunicipios->setDid('acao_id');
  153.  
  154. $this->datagrid->addAction($actionEdit);
  155. if (TSession::getValue('userid') == 1)
  156. $this->datagrid->addAction($actionDelete);
  157. $this->datagrid->addAction($actionEtapaFotos);
  158. $this->datagrid->addAction($actionEtapaMunicipios);
  159.  
  160. $this->datagrid->createModel();
  161.  
  162. $container = new TVBox();
  163. $container->style = "width: 100%";
  164.  
  165. $container->add($this->form);
  166. $container->add(TPanelGroup::pack(null, $this->datagrid));
  167.  
  168. parent::add($container);
  169. }
  170.  
  171. public function editColumnDisplay($object)
  172. {
  173.  
  174. TTransaction::open('database');
  175. $repository = new TRepository('vw_AcaoEtapaRecord');
  176.  
  177. $repository = new vw_AcaoEtapaRecord($object->id);
  178.  
  179. TTransaction::close();
  180.  
  181. if (TSession::getValue('userid') == 1)
  182. return true;
  183. else if ($repository->podeeditar == 1)
  184. return true;
  185. return false;
  186.  
  187. }
  188.  
  189. public function deleteColumnDisplay() {
  190. if (TSession::getValue('userid') == 1)
  191. return true;
  192. return false;
  193. }
  194.  
  195. function onReload() {
  196. TTransaction::open('database');
  197.  
  198. $repository = new TRepository('vw_AcaoEtapaRecord');
  199.  
  200. $criteria = new TCriteria;
  201.  
  202. $criteria->add(new TFilter('acao_id', '=', filter_input(INPUT_GET, 'fk')));
  203. $objects = $repository->load($criteria, false);
  204.  
  205. $this->datagrid->clear();
  206.  
  207. if (!empty($objects)) {
  208. foreach ($objects as $object) {
  209. $object->datainicioetapa = TDate::date2br($object->datainicioetapa);
  210. $object->previsaofinaletapa = TDate::date2br($object->previsaofinaletapa);
  211. $object->dataconclusaoetapa = TDate::date2br($object->dataconclusaoetapa);
  212.  
  213. $this->datagrid->addItem($object);
  214. }
  215. }
  216.  
  217. TTransaction::close();
  218.  
  219. $this->loaded = true;
  220. }
  221.  
  222. function onDelete($param = null) {
  223. if (isset($param["key"])) {
  224. $param = ["key" => $param["key"], "fk" => $param["fk"]];
  225.  
  226. $action_ok = new TAction([$this, "Delete"]);
  227. $action_cancel = new TAction([$this, "onReload"]);
  228.  
  229. $action_ok->setParameters($param);
  230. $action_cancel->setParameters($param);
  231.  
  232. $this->onReload($param);
  233.  
  234. new TQuestion("Deseja remover o registro?", $action_ok, $action_cancel);
  235. }
  236. }
  237.  
  238. function Delete($param = null) {
  239. $key = $param['key'];
  240.  
  241. try {
  242. TTransaction::open('database');
  243.  
  244. $object = new AcaoEtapaRecord($key);
  245. $object->delete();
  246.  
  247. $this->onReload($param);
  248.  
  249. new TMessage("info", "Registro deletado com sucesso!");
  250.  
  251. TTransaction::close();
  252. } catch (Exception $ex) {
  253. new TMessage('error', $ex->getMessage());
  254.  
  255. TTransaction::rollback();
  256. }
  257.  
  258. $this->onReload();
  259. }
  260.  
  261.  
  262. function onSave($param = null) {
  263. try {
  264. TTransaction::open('database');
  265.  
  266. $this->form->validate();
  267.  
  268. $object = $this->form->getData('AcaoEtapaRecord');
  269.  
  270. $object->usuarioalteracao = TSession::getValue('userid');
  271. $object->dataalteracao = TDate::date2us(date('d/m/Y'));
  272.  
  273. $object->datainicioetapa = TDate::date2us($object->datainicioetapa);
  274. $object->previsaofinaletapa = TDate::date2us($object->previsaofinaletapa);
  275. $object->dataconclusaoetapa = TDate::date2us($object->dataconclusaoetapa);
  276.  
  277. $object->store();
  278.  
  279. TTransaction::close();
  280.  
  281. $action = new TAction(["AcaoEtapaDetalhe", "onReload"]);
  282. $action->setParameter("fk", $param["fk"]);
  283.  
  284. new TMessage("info", "Registro salvo com sucesso!", $action);
  285. } catch (Exception $ex) {
  286. new TMessage('error', $ex->getMessage());
  287. TTransaction::rollback();
  288. }
  289.  
  290. }
  291.  
  292. function onEdit($param = null) {
  293. try {
  294. if (isset($param['key'])) {
  295. $key = $param['key'];
  296.  
  297. TTransaction::open('database');
  298.  
  299. $object = new AcaoEtapaRecord($key);
  300.  
  301. $object->datainicioetapa = TDate::date2br($object->datainicioetapa);
  302. $object->previsaofinaletapa = TDate::date2br($object->previsaofinaletapa);
  303. $object->dataconclusaoetapa = TDate::date2br($object->dataconclusaoetapa);
  304.  
  305. $this->form->setData($object);
  306.  
  307. TTransaction::close();
  308. }
  309. } catch (Exception $ex) {
  310. new TMessage("Error", "Ocorreu um erro ao tentar carregar o registro para edição!<br><br>" . $ex->getMessage());
  311.  
  312. TTransaction::rollback();
  313. }
  314. }
  315.  
  316. function show() {
  317. $this->onReload();
  318.  
  319. parent::show();
  320. }
  321.  
  322. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement