From 614aeb40f3c8193a68fd8f910bfe23652097be45 Mon Sep 17 00:00:00 2001 From: "Israel B. Sant'Anna" <ibsa14@inf.ufpr.br> Date: Thu, 14 Aug 2014 11:05:08 -0300 Subject: [PATCH] Fixed update and show bug on OrgaoExecutor Signed-off-by: Israel B. Sant'Anna <ibsa14@inf.ufpr.br> --- .../web/OrgaoExecutorController.java | 24 ++++++---- .../WEB-INF/views/orgaoexecutores/create.jspx | 6 ++- .../WEB-INF/views/orgaoexecutores/update.jspx | 46 +++++++++++++++++++ 3 files changed, 67 insertions(+), 9 deletions(-) diff --git a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/OrgaoExecutorController.java b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/OrgaoExecutorController.java index 7d781b3..7da52ce 100644 --- a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/OrgaoExecutorController.java +++ b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/OrgaoExecutorController.java @@ -7,6 +7,7 @@ import javax.servlet.http.HttpServletRequest; import javax.validation.Valid; import org.springframework.roo.addon.web.mvc.controller.scaffold.RooWebScaffold; +import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; @@ -19,6 +20,7 @@ import br.ufpr.c3sl.estacaojuventude.Estado; import br.ufpr.c3sl.estacaojuventude.Municipio; import br.ufpr.c3sl.estacaojuventude.OcorrenciaMunicipal; import br.ufpr.c3sl.estacaojuventude.OrgaoExecutor; +import br.ufpr.c3sl.estacaojuventude.enums.TipoStatus; @RequestMapping("/orgaoexecutores") @Controller @@ -65,8 +67,8 @@ public class OrgaoExecutorController { return "redirect:/orgaoexecutores"; } - @RequestMapping(value = "/{id}", method = RequestMethod.GET, produces = "text/html") - public String get(@PathVariable(value = "id") String uf, @Valid OrgaoExecutor orgaoexecutor, BindingResult bindingResult, Model uiModel, HttpServletRequest httpServletRequest) { + @RequestMapping(params = "uf", method = RequestMethod.GET, produces = "text/html") + public String get(@RequestParam(value = "uf", required = false) String uf, @Valid OrgaoExecutor orgaoexecutor, BindingResult bindingResult, Model uiModel, HttpServletRequest httpServletRequest) { repopulateMunicipios(uf, uiModel, orgaoexecutor); return "orgaoexecutores/selectmunicipios"; } @@ -86,12 +88,18 @@ public class OrgaoExecutorController { le.add(0, e); uiModel.addAttribute("estadoes", le); -// List<Municipio> lm = Municipio.findAllMunicipios(); -// Municipio m = new Municipio(); -// m.setId((long) 0); -// m.setNome(""); -// lm.add(0, m); -// uiModel.addAttribute("municipios", lm); + if (orgaoExecutor.getMunicipio() != null){ + long estadoId = orgaoExecutor.getMunicipio().getUf().getId(); + repopulateMunicipios(estadoId+"", uiModel, orgaoExecutor); + uiModel.addAttribute("estadoid", estadoId); + } + + /*List<Municipio> lm = Municipio.findAllMunicipios(); + Municipio m = new Municipio(); + m.setId((long) 0); + m.setNome(""); + lm.add(0, m); + uiModel.addAttribute("municipios", lm);*/ } } diff --git a/src/main/webapp/WEB-INF/views/orgaoexecutores/create.jspx b/src/main/webapp/WEB-INF/views/orgaoexecutores/create.jspx index 980cd2b..c461417 100644 --- a/src/main/webapp/WEB-INF/views/orgaoexecutores/create.jspx +++ b/src/main/webapp/WEB-INF/views/orgaoexecutores/create.jspx @@ -37,10 +37,14 @@ //ID of the chosen "estado" uf=document.getElementsByName("uf")[0].value; + if (!window.location.origin) + window.location.origin = window.location.protocol+"//"+window.location.host; + RequestBaseUrl = window.location.origin + "/participatorio" + "/orgaoexecutores"; + //Create and send to server a request of //the list of "Municipios" that belongs to the "Estado" chosen xmlhttp = new XMLHttpRequest(); - xmlhttp.open("GET", "orgaoexecutores/"+uf ,false); + xmlhttp.open("GET", RequestBaseUrl+"?uf=" + uf ,false); xmlhttp.send(); //Create a temporary html document to store the html code diff --git a/src/main/webapp/WEB-INF/views/orgaoexecutores/update.jspx b/src/main/webapp/WEB-INF/views/orgaoexecutores/update.jspx index 37f5ab8..9e6d653 100644 --- a/src/main/webapp/WEB-INF/views/orgaoexecutores/update.jspx +++ b/src/main/webapp/WEB-INF/views/orgaoexecutores/update.jspx @@ -10,10 +10,56 @@ <field:input field="logradouro" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_logradouro" z="k/1XFT6R2/obR+osepiqSAJabF8="/> <field:input field="bairro" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_bairro" z="C0AhYYllc9NQKj6P/OsWQ/cbgBs="/> <field:input field="cep" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_cep" widthcss="65px" z="user-managed"/> + + <field:select field="uf" + id="c_br_ufpr_c3sl_estacaojuventude_Municipio_uf" + itemValue="id" items="${estadoes}" path="/estados" + z="user-managed" + disableFormBinding="true" /> + <field:select field="municipio" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_municipio" itemValue="id" items="${municipios}" path="/municipios" z="TsmVkI/NlGQHwdhUUjgjQ8bprz4="/> <field:input field="contato" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_contato" z="N464inkZDRkVnlMA8hpmvvyzs7g="/> <field:input field="emailContato" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_emailContato" validationMessageCode="field_invalid_email" validationRegex="[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}" z="user-managed"/> <field:input field="telefoneContato" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_telefoneContato" mask="(##)####-####" max="13" validationMessageCode="field_invalid_integer" validationRegex="[(][0-9]*[)][0-9]*-[0-9]*" widthcss="85px" z="user-managed"/> <field:datetime dateTimePattern="${orgaoExecutor_ultimaalteracao_date_format}" field="ultimaAlteracao" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_ultimaAlteracao" render="false" z="user-managed"/> </form:update> + + <script type="text/javascript"> + if("${estadoid}"!=""){ + document.getElementById('_uf_id').value="${estadoid}"; + } + + Spring.addDecoration(new Spring.ElementDecoration({ + elementId : '_uf_id', + widgetType : "dijit.form.FilteringSelect", + widgetAttrs : { + onChange : function() { + + //ID of the chosen "estado" + uf=document.getElementsByName("uf")[0].value; + + if (!window.location.origin) + window.location.origin = window.location.protocol+"//"+window.location.host; + RequestBaseUrl = window.location.origin + "/participatorio" + "/orgaoexecutores"; + + //Create and send to server a request of + //the list of "Municipios" that belongs to the "Estado" chosen + xmlhttp = new XMLHttpRequest(); + xmlhttp.open("GET", RequestBaseUrl+"?uf=" + uf ,false); + xmlhttp.send(); + + //Create a temporary html document to store the html code + //sent by the server containing the list of "Municipios" + var responseDoc = document.implementation.createHTMLDocument("XMLHttpResponse"); + responseDoc.documentElement.innerHTML = xmlhttp.responseText; + + //Copy the list of the response to the real page + var PageElem = document.getElementById("_c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_municipio_id"); + var RespElem = responseDoc.getElementById("_c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_municipio_id"); + PageElem.innerHTML = RespElem.innerHTML; + } + } + })); + </script> </div> + -- GitLab