diff --git a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/OcorrenciaMunicipalController.java b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/OcorrenciaMunicipalController.java index f462353571b97b3702447ccb11c2d69cc0b7fa36..9a38c49cb65fe5645f314207c582713014386f0f 100644 --- a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/OcorrenciaMunicipalController.java +++ b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/OcorrenciaMunicipalController.java @@ -36,7 +36,7 @@ import br.ufpr.c3sl.estacaojuventude.enums.TipoStatus; @RequestMapping("/ocorrenciamunicipais") @Controller -@SessionAttributes( { "ocorrenciaMunicipal" }) +@SessionAttributes( { "ocorrenciaMunicipal", "Itinerante" }) @RooWebScaffold(path = "ocorrenciamunicipais", formBackingObject = OcorrenciaMunicipal.class) public class OcorrenciaMunicipalController { OcorrenciaMunicipal ocorrenciaMunicipalGlobal; @@ -145,6 +145,12 @@ public class OcorrenciaMunicipalController { ocorrenciaMunicipalGlobal = ocorrenciaMunicipal; } + if(uiModel.asMap().containsKey("Itinerante")){ + System.out.println("contem: "+uiModel.asMap().get("Itinerante")); + }else{ + System.out.println("nao contem"); + } + if (op == 0) { uiModel.addAttribute("remover", false); if (type.equals("orgaosExecutores")) { @@ -222,6 +228,59 @@ public class OcorrenciaMunicipalController { return "ocorrenciamunicipais/createitinerante"; } + @RequestMapping(value = "/formItinerante/{ids}", method = {RequestMethod.POST,RequestMethod.PUT}, produces = "text/html") + public String treatSelectedItinerante(@Valid OcorrenciaMunicipal ocorrenciaMunicipal, @PathVariable("ids") String ids, Model uiModel, HttpServletRequest httpServletRequest) { + ocorrenciaMunicipalGlobal = ocorrenciaMunicipal; + refreshRelations(); + for(String idString : ids.split("\\+")){ + Long id = Long.parseLong(idString); + if (OrgaoExecutor.findOrgaoExecutor(id) != null) { + if (ocorrenciaMunicipalGlobal.getOrgaosExecutores() == null) { + Set<OrgaoExecutor> orgaosExecutores = new HashSet<OrgaoExecutor>(); + orgaosExecutores.add(OrgaoExecutor.findOrgaoExecutor(id)); + + ocorrenciaMunicipalGlobal.setOrgaosExecutores(orgaosExecutores); + } + else { + List<OrgaoExecutor> orgaosExecutoresNovo = new ArrayList<OrgaoExecutor>(ocorrenciaMunicipalGlobal.getOrgaosExecutores()); + int index = getIndexOrgao(OrgaoExecutor.findOrgaoExecutor(id), orgaosExecutoresNovo); + if (index != -1) + orgaosExecutoresNovo.remove(index); + else + orgaosExecutoresNovo.add(OrgaoExecutor.findOrgaoExecutor(id)); + ocorrenciaMunicipalGlobal.setOrgaosExecutores(new HashSet<OrgaoExecutor>(orgaosExecutoresNovo)); + } + } + else if (Municipio.findMunicipio(id) != null) { + if (ocorrenciaMunicipalGlobal.getMunicipios() == null) { + Set<Municipio> municipios = new HashSet<Municipio>(); + municipios.add(Municipio.findMunicipio(id)); + + ocorrenciaMunicipalGlobal.setMunicipios(municipios); + } + else { + List<Municipio> municipiosNovo = new ArrayList<Municipio>(ocorrenciaMunicipalGlobal.getMunicipios()); + int index = getIndexMunicipio(Municipio.findMunicipio(id), municipiosNovo); + if (index != -1) + municipiosNovo.remove(index); + else + municipiosNovo.add(Municipio.findMunicipio(id)); + ocorrenciaMunicipalGlobal.setMunicipios(new HashSet<Municipio>(municipiosNovo)); + } + } + } + populateEditFormItinerante(uiModel, ocorrenciaMunicipalGlobal); + if (ocorrenciaMunicipalGlobal.getId() == null) { + ocorrenciaMunicipalGlobal = null; + return "ocorrenciamunicipais/createitinerante"; + } + else { + ocorrenciaMunicipalGlobal = null; + return "ocorrenciamunicipais/update"; + } + } + + @RequestMapping(method = RequestMethod.POST, produces = "text/html") public String create(@Valid OcorrenciaMunicipal ocorrenciaMunicipal, BindingResult bindingResult, Model uiModel, HttpServletRequest httpServletRequest) { if (bindingResult.hasErrors()) { @@ -388,6 +447,7 @@ public class OcorrenciaMunicipalController { void populateEditFormItinerante(Model uiModel, OcorrenciaMunicipal ocorrenciaMunicipal) { uiModel.addAttribute("ocorrenciaMunicipal", ocorrenciaMunicipal); + uiModel.addAttribute("Itinerante", true); addDateTimeFormatPatterns(uiModel); uiModel.addAttribute("localizacaos", Localizacao.findAllLocalizacaos()); @@ -410,6 +470,7 @@ public class OcorrenciaMunicipalController { void populateEditForm(Model uiModel, OcorrenciaMunicipal ocorrenciaMunicipal) { uiModel.addAttribute("ocorrenciaMunicipal", ocorrenciaMunicipal); + uiModel.addAttribute("Itinerante", false); addDateTimeFormatPatterns(uiModel); uiModel.addAttribute("localizacaos", Localizacao.findAllLocalizacaos()); diff --git a/src/main/webapp/WEB-INF/i18n/application.properties b/src/main/webapp/WEB-INF/i18n/application.properties index e3d3b00f020a586821ab1ecdfe427ac302255e1b..5a36e0b6a6941af7d0c6a402199ecf04a772e165 100644 --- a/src/main/webapp/WEB-INF/i18n/application.properties +++ b/src/main/webapp/WEB-INF/i18n/application.properties @@ -35,6 +35,7 @@ label_br_ufpr_c3sl_estacaojuventude_municipio_ultimaalteracao=Última Alteraçã label_br_ufpr_c3sl_estacaojuventude_municipio_version=Versão label_br_ufpr_c3sl_estacaojuventude_ocorrenciamunicipal=Ocorrência Municipal +label_br_ufpr_c3sl_estacaojuventude_estacaoitinerante=Estação Itinerante label_br_ufpr_c3sl_estacaojuventude_ocorrenciamunicipal_beneficioslocais=Benefícios Locais Agregados label_br_ufpr_c3sl_estacaojuventude_ocorrenciamunicipal_comoacessar=Como Acessar label_br_ufpr_c3sl_estacaojuventude_ocorrenciamunicipal_inicioinscricoes=Início das Inscrições @@ -161,6 +162,7 @@ menu_item_municipio_new_label=Município menu_item_ocorrenciamunicipal_list_label=Ocorrências Municipais menu_item_ocorrenciamunicipal_new_label=Ocorrência Municipal +menu_item_estacaoitinerante_new_label=Estação Itinerante menu_item_usuario_list_label=Usuários menu_item_usuario_new_label=Usuário diff --git a/src/main/webapp/WEB-INF/tags/form/fields/table.tagx b/src/main/webapp/WEB-INF/tags/form/fields/table.tagx index 39f9dd22163fb79676518aa6cce298fc74db3a5c..17eab27ed9df046fe51e993e7b8eaf59c45bc3df 100644 --- a/src/main/webapp/WEB-INF/tags/form/fields/table.tagx +++ b/src/main/webapp/WEB-INF/tags/form/fields/table.tagx @@ -295,6 +295,8 @@ } + console.log("${Itinerante}"); + function selectRedirect(){ var radioElements = document.getElementsByName("radioButton"); var selected =""; @@ -306,7 +308,7 @@ } selected = selected.substring(0,selected.lastIndexOf("+")); - var formIndex = window.location.pathname.indexOf("/form"); + var progIndex = window.location.pathname.indexOf("/programas"); if(progIndex == -1){ progIndex = window.location.pathname.indexOf("/ocorrenciamunicipais"); @@ -319,7 +321,13 @@ if(window.location.pathname.indexOf("pesquisa") != -1){ pathHeader += "/pesquisa"; } - return pathHeader+"/form/"+selected; + var form = ""; + if("${Itinerante}"=="true"){ + form = "/formItinerante/"; + }else{ + form = "/form/"; + } + return pathHeader+form+selected; } diff --git a/src/main/webapp/WEB-INF/views/menu.jspx b/src/main/webapp/WEB-INF/views/menu.jspx index fd342230542fdf4d3d5973a7b3a8a1759a943985..9e86e298495e9967c6afe28cd8b392682c93ce77 100644 --- a/src/main/webapp/WEB-INF/views/menu.jspx +++ b/src/main/webapp/WEB-INF/views/menu.jspx @@ -13,7 +13,7 @@ </menu:category> <menu:category id="c_ocorrenciamunicipal" z="NVk8x1ulTq/1N0/zyXMION5KAQA="> <menu:item id="i_ocorrenciamunicipal_new" messageCode="global_menu_new" url="/ocorrenciamunicipais?form" z="user-managed"/> - <menu:item id="i_ocorrenciamunicipal_new" messageCode="global_menu_new" url="/ocorrenciamunicipais?formItinerante" z="user-managed"/> + <menu:item id="i_estacaoitinerante_new" messageCode="global_menu_new" url="/ocorrenciamunicipais?formItinerante" z="user-managed"/> <menu:item id="i_ocorrenciamunicipal_list" messageCode="my_occurrences" url="/ocorrenciamunicipais/minhasocorrencias" z="user-managed"/> <menu:item id="i_ocorrenciamunicipal_list" messageCode="global_menu_list_candidato" url="/ocorrenciamunicipais/listCandidatos" z="user-managed"/> <menu:item id="i_ocorrenciamunicipal_list" messageCode="global_menu_list_efetivo" url="/ocorrenciamunicipais/listEfetivos" z="user-managed"/> diff --git a/src/main/webapp/WEB-INF/views/ocorrenciamunicipais/createitinerante.jspx b/src/main/webapp/WEB-INF/views/ocorrenciamunicipais/createitinerante.jspx index 236f6747f1f04f54fa5ec2553bc2c80b63d6f5b2..1feb696cfb93844654c4b0ac7071b667fec25fc5 100644 --- a/src/main/webapp/WEB-INF/views/ocorrenciamunicipais/createitinerante.jspx +++ b/src/main/webapp/WEB-INF/views/ocorrenciamunicipais/createitinerante.jspx @@ -2,7 +2,7 @@ <div xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:field="urn:jsptagdir:/WEB-INF/tags/form/fields" xmlns:form="urn:jsptagdir:/WEB-INF/tags/form" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:spring="http://www.springframework.org/tags" version="2.0"> <jsp:directive.page contentType="text/html;charset=UTF-8"/> <jsp:output omit-xml-declaration="yes"/> - <form:create id="fc_br_ufpr_c3sl_estacaojuventude_OcorrenciaMunicipal" modelAttribute="ocorrenciaMunicipal" path="/ocorrenciamunicipais" render="${empty dependencies}" z="fo6q8lg/xzZrtO1TWfNK0cjMjdk="> + <form:create id="fc_br_ufpr_c3sl_estacaojuventude_estacaoitinerante" modelAttribute="ocorrenciaMunicipal" path="/ocorrenciamunicipais" render="${empty dependencies}" z="fo6q8lg/xzZrtO1TWfNK0cjMjdk="> <field:select field="programaVinculado" id="c_br_ufpr_c3sl_estacaojuventude_OcorrenciaMunicipal_programaVinculado" itemValue="id" items="${programas}" path="/programas" z="6peHWMq5LFS5h3Dz8xNLNeBW9Rc="/> <field:select field="orgaosExecutores" hintValue="hint_orgaos_executores" id="c_br_ufpr_c3sl_estacaojuventude_OcorrenciaMunicipal_orgaosExecutores" itemValue="id" items="${orgaoexecutores}" multiple="true" path="/ocorrenciamunicipais" z="user-managed"/> <field:textarea field="beneficiosLocais" id="c_br_ufpr_c3sl_estacaojuventude_OcorrenciaMunicipal_beneficiosLocais" z="user-managed"/>