diff --git a/src/main/java/br/ufpr/c3sl/estacaojuventude/Municipio.java b/src/main/java/br/ufpr/c3sl/estacaojuventude/Municipio.java index 0b99bc1de819330bdd3c200f9377798acd28f4ae..288645803a363dc806ff12981548d428770f6dd4 100644 --- a/src/main/java/br/ufpr/c3sl/estacaojuventude/Municipio.java +++ b/src/main/java/br/ufpr/c3sl/estacaojuventude/Municipio.java @@ -29,4 +29,8 @@ public class Municipio { public static List<Municipio> findAllMunicipios() { return entityManager().createQuery("SELECT o FROM Municipio o ORDER BY nome", Municipio.class).getResultList(); } + + public static List<Municipio> findAllMunicipiosByUf(String uf) { + return entityManager().createQuery("SELECT o FROM Municipio o WHERE UF="+uf+" ORDER BY nome", Municipio.class).getResultList(); + } } 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 bf1ed34409842bf278626262ccb92969a6cf4b9a..0c86f99965b61b8ba4c1fce63f06ba1d8497b679 100644 --- a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/OrgaoExecutorController.java +++ b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/OrgaoExecutorController.java @@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; +import br.ufpr.c3sl.estacaojuventude.Estado; import br.ufpr.c3sl.estacaojuventude.Municipio; import br.ufpr.c3sl.estacaojuventude.OrgaoExecutor; @@ -63,10 +64,28 @@ public class OrgaoExecutorController { return "redirect:/orgaoexecutores"; } + @RequestMapping(method = RequestMethod.GET, produces = "text/html") + public String get(@RequestParam(value = "uf") String uf, @Valid OrgaoExecutor orgaoExecutor, BindingResult bindingResult, Model uiModel, HttpServletRequest httpServletRequest) { + System.out.println("GET_MUNICIPIO COM A ID: "+uf); + repopulateMunicipios(uf, uiModel, orgaoExecutor); + return "orgaoexecutores/create"; + } + + void repopulateMunicipios(String uf, Model uiModel, OrgaoExecutor orgaoExecutor) { + uiModel.addAttribute("municipios", Municipio.findAllMunicipiosByUf(uf)); + System.out.println("__AKI__"); + } + void populateEditForm(Model uiModel, OrgaoExecutor orgaoExecutor) { uiModel.addAttribute("orgaoExecutor", orgaoExecutor); addDateTimeFormatPatterns(uiModel); + List<Estado> le = Estado.findAllEstadoes(); + Estado e = new Estado(); + e.setNome(""); + le.add(0, e); + uiModel.addAttribute("estadoes", le); + List<Municipio> lm = Municipio.findAllMunicipios(); Municipio m = new Municipio(); m.setId((long) 0); diff --git a/src/main/webapp/WEB-INF/i18n/application.properties b/src/main/webapp/WEB-INF/i18n/application.properties index dc49d2752472420321a898984ecd920ddbf194b9..26ebf9307f01b9ff7127be371ae6d975ef6b581e 100644 --- a/src/main/webapp/WEB-INF/i18n/application.properties +++ b/src/main/webapp/WEB-INF/i18n/application.properties @@ -69,6 +69,8 @@ label_br_ufpr_c3sl_estacaojuventude_orgaoexecutor_sigla=Sigla label_br_ufpr_c3sl_estacaojuventude_orgaoexecutor_site=Site label_br_ufpr_c3sl_estacaojuventude_orgaoexecutor_telefonecontato=Telefone do contato label_br_ufpr_c3sl_estacaojuventude_orgaoexecutor_version=Versão +label_br_ufpr_c3sl_estacaojuventude_orgaoexecutor_municipio.uf=UF +label_br_ufpr_c3sl_estacaojuventude_orgaoexecutor_estado=Estado label_br_ufpr_c3sl_estacaojuventude_programa=Programa label_br_ufpr_c3sl_estacaojuventude_programa_beneficios=Benefícios Associados diff --git a/src/main/webapp/WEB-INF/views/orgaoexecutores/create.jspx b/src/main/webapp/WEB-INF/views/orgaoexecutores/create.jspx index d337c41cd01342448967b24745614b789b69812f..b7b1bce54885e76b16f4947c5ce1c7723df63196 100644 --- a/src/main/webapp/WEB-INF/views/orgaoexecutores/create.jspx +++ b/src/main/webapp/WEB-INF/views/orgaoexecutores/create.jspx @@ -10,11 +10,45 @@ <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:datetime dateTimePattern="${orgaoExecutor_ultimaalteracao_date_format}" field="ultimaAlteracao" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_ultimaAlteracao" render="false" z="user-managed"/> <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"/> </form:create> <form:dependency dependencies="${dependencies}" id="d_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor" render="${not empty dependencies}" z="AAjeOEHmudaMpa7oWwH71C1aVn0="/> + + <script type="text/javascript"> + + Spring.addDecoration(new Spring.ElementDecoration({ + elementId : '_uf_id', + widgetType : "dijit.form.FilteringSelect", + widgetAttrs : { + onChange : function() { + uf=document.getElementsByName("uf")[0].value; + console.log("REPOPULANDO A PARTIR DE UF(ID) = "+uf); + +// var element = document.getElementsByName("_municipio_id_popup"); +// console.log(element); + + xmlhttp = new XMLHttpRequest(); + xmlhttp.open("GET", "orgaoexecutores?uf="+uf ,true); + xmlhttp.send(); + + + } + } + })); + + + </script> + </div>