diff --git a/src/main/java/br/ufpr/c3sl/estacaojuventude/OcorrenciaMunicipal.java b/src/main/java/br/ufpr/c3sl/estacaojuventude/OcorrenciaMunicipal.java index 7591aefb5a8b0e2310b5807c18011ee749d523f6..dbe0b3899d3d047115b36aa0d354d2a3989dbf1a 100644 --- a/src/main/java/br/ufpr/c3sl/estacaojuventude/OcorrenciaMunicipal.java +++ b/src/main/java/br/ufpr/c3sl/estacaojuventude/OcorrenciaMunicipal.java @@ -65,19 +65,19 @@ public class OcorrenciaMunicipal { @DateTimeFormat(style = "S-") private Date ultimaAlteracao; - public static List<Programa> findAllOcorrenciasCandidatos() { + public static List<OcorrenciaMunicipal> findAllOcorrenciasCandidatos() { return entityManager().createNativeQuery("SELECT * FROM Ocorrencia_Municipal WHERE status = 'Candidato'", OcorrenciaMunicipal.class).getResultList(); } - public static List<Programa> findAllOcorrenciasEfetivos() { + public static List<OcorrenciaMunicipal> findAllOcorrenciasEfetivos() { return entityManager().createNativeQuery("SELECT * FROM Ocorrencia_Municipal WHERE status = 'Efetivo'", OcorrenciaMunicipal.class).getResultList(); } - public static List<Programa> findAllOcorrenciasRejeitados() { + public static List<OcorrenciaMunicipal> findAllOcorrenciasRejeitados() { return entityManager().createNativeQuery("SELECT * FROM Ocorrencia_Municipal WHERE status = 'Rejeitado'", OcorrenciaMunicipal.class).getResultList(); } - public static List<Programa> findMinhasOcorrencias() { + public static List<OcorrenciaMunicipal> findMinhasOcorrencias() { String login = SecurityContextHolder.getContext().getAuthentication().getName(); return entityManager().createNativeQuery("SELECT * FROM Ocorrencia_Municipal o, Usuario u WHERE o.usuario = u.id and o.status = 'Candidato' and u.login = '" + login + "'", OcorrenciaMunicipal.class).getResultList(); } diff --git a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/ApplicationConversionServiceFactoryBean.java b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/ApplicationConversionServiceFactoryBean.java index d25f1191f4eb2f73a47648e16046ebf1eced8e1a..770c5edfb7d7f7d6b2e4daef89d06e94fbf5b0f0 100644 --- a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/ApplicationConversionServiceFactoryBean.java +++ b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/ApplicationConversionServiceFactoryBean.java @@ -41,7 +41,7 @@ public class ApplicationConversionServiceFactoryBean extends FormattingConversio return new org.springframework.core.convert.converter.Converter<br.ufpr.c3sl.estacaojuventude.OrgaoExecutor, java.lang.String>() { public String convert(OrgaoExecutor orgaoExecutor) { if (orgaoExecutor.getSigla() == null) - return new StringBuilder().append("").append(" - ").append(orgaoExecutor.getNome()).toString(); + return new StringBuilder().append(orgaoExecutor.getNome()).toString(); return new StringBuilder().append(orgaoExecutor.getSigla()).append(" - ").append(orgaoExecutor.getNome()).toString(); } }; @@ -76,7 +76,7 @@ public class ApplicationConversionServiceFactoryBean extends FormattingConversio public Converter<Localizacao, String> getLocalizacaoToStringConverter() { return new org.springframework.core.convert.converter.Converter<br.ufpr.c3sl.estacaojuventude.Localizacao, java.lang.String>() { public String convert(Localizacao localizacao) { - return new StringBuilder().append(localizacao.getOcorrencia().getProgramaVinculado().getNomeOficial()).append(" - ").append(localizacao.getOcorrencia().getMunicipio().getNome()).append(" - ").append(localizacao.getLocal()).toString(); + return new StringBuilder().append(localizacao.getOcorrencia().getProgramaVinculado().getNomeOficial()).append(" - ").append(localizacao.getOcorrencia().getMunicipio().getNome()).toString(); } }; } @@ -84,6 +84,8 @@ public class ApplicationConversionServiceFactoryBean extends FormattingConversio public Converter<OcorrenciaMunicipal, String> getOcorrenciaMunicipalToStringConverter() { return new org.springframework.core.convert.converter.Converter<br.ufpr.c3sl.estacaojuventude.OcorrenciaMunicipal, java.lang.String>() { public String convert(OcorrenciaMunicipal ocorrenciaMunicipal) { + if (ocorrenciaMunicipal.getProgramaVinculado() == null || ocorrenciaMunicipal.getMunicipio() == null) + return new StringBuilder().append("").toString(); return new StringBuilder().append(ocorrenciaMunicipal.getProgramaVinculado().getNomeOficial()).append(" - ").append(ocorrenciaMunicipal.getMunicipio().getNome()).toString(); } }; diff --git a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/LocalizacaoController.java b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/LocalizacaoController.java index 22eadccb576418b87bca4c587c8124d807b1f77e..5a177963e4d0534cd6ef1e919489e172ebcaeb77 100644 --- a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/LocalizacaoController.java +++ b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/LocalizacaoController.java @@ -2,6 +2,7 @@ package br.ufpr.c3sl.estacaojuventude.web; import java.util.Arrays; import java.util.Calendar; +import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.validation.Valid; @@ -184,7 +185,13 @@ public class LocalizacaoController { void populateEditForm(Model uiModel, Localizacao localizacao) { uiModel.addAttribute("localizacao", localizacao); - uiModel.addAttribute("ocorrenciamunicipais", OcorrenciaMunicipal.findAllOcorrenciaMunicipals()); + + List<OcorrenciaMunicipal> lo = OcorrenciaMunicipal.findAllOcorrenciasEfetivos(); + OcorrenciaMunicipal o = new OcorrenciaMunicipal(); + o.setId((long) 0); + lo.add(0, o); + uiModel.addAttribute("ocorrenciamunicipais", lo); + uiModel.addAttribute("usuarios", Usuario.findAllUsuarios()); uiModel.addAttribute("tipostatuses", Arrays.asList(TipoStatus.values())); uiModel.addAttribute("situacaos", Arrays.asList(Situacao.values())); diff --git a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/MunicipioController.java b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/MunicipioController.java index 9aa60e444ca38bc69ab9dce90d1da660b6513427..c3769882139bc9b049c6d3df2ab440e2c57dd7d5 100644 --- a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/MunicipioController.java +++ b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/MunicipioController.java @@ -66,9 +66,14 @@ public class MunicipioController { void populateEditForm(Model uiModel, Municipio municipio) { uiModel.addAttribute("municipio", municipio); addDateTimeFormatPatterns(uiModel); - uiModel.addAttribute("estadoes", Estado.findAllEstadoes()); - uiModel.addAttribute("municipios", Municipio.findAllMunicipios()); + List<Estado> le = Estado.findAllEstadoes(); + Estado e = new Estado(); + e.setNome(""); + le.add(0, e); + uiModel.addAttribute("estadoes", le); + + //uiModel.addAttribute("municipios", Municipio.findAllMunicipios()); List<Municipio> lm = Municipio.findAllMunicipios(); Municipio m = new Municipio(); m.setNome(""); 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 32f446bfabdcb55ff38a111dd108660d6ddc1aed..1260c8236ee51fd1af306a193020526b13d24122 100644 --- a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/OcorrenciaMunicipalController.java +++ b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/OcorrenciaMunicipalController.java @@ -188,9 +188,22 @@ public class OcorrenciaMunicipalController { void populateEditForm(Model uiModel, OcorrenciaMunicipal ocorrenciaMunicipal) { uiModel.addAttribute("ocorrenciaMunicipal", ocorrenciaMunicipal); uiModel.addAttribute("localizacaos", Localizacao.findAllLocalizacaos()); - uiModel.addAttribute("municipios", Municipio.findAllMunicipios()); + + List<Municipio> lm = Municipio.findAllMunicipios(); + Municipio m = new Municipio(); + m.setId((long) 0); + m.setNome(""); + lm.add(0, m); + uiModel.addAttribute("municipios", lm); + uiModel.addAttribute("orgaoexecutores", OrgaoExecutor.findAllOrgaoExecutors()); - uiModel.addAttribute("programas", Programa.findAllProgramasEfetivos()); + + List<Programa> lp = Programa.findAllProgramasEfetivos(); + Programa p = new Programa(); + p.setId((long) 0); + lp.add(0, p); + uiModel.addAttribute("programas", lp); + uiModel.addAttribute("tipostatuses", Arrays.asList(TipoStatus.values())); uiModel.addAttribute("situacaos", Arrays.asList(Situacao.values())); uiModel.addAttribute("usuarios", Usuario.findAllUsuarios()); diff --git a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/UsuarioController.java b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/UsuarioController.java index e782c775b5bb78d91682ce0abe2a035e598b437c..af5872d5534afc05cde193501aa4c4c2c76d9122 100644 --- a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/UsuarioController.java +++ b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/UsuarioController.java @@ -75,7 +75,7 @@ public class UsuarioController { void populateEditForm(Model uiModel, Usuario usuario) { uiModel.addAttribute("usuario", usuario); - uiModel.addAttribute("tipousuarios", Arrays.asList(TipoUsuario.Usuario, TipoUsuario.Administrador/*TipoUsuario.values()*/)); + uiModel.addAttribute("tipousuarios", Arrays.asList(" ", TipoUsuario.Usuario, TipoUsuario.Administrador/*TipoUsuario.values()*/)); } @RequestMapping(value = "changepassword", method = RequestMethod.GET) diff --git a/src/main/webapp/WEB-INF/tags/form/fields/datetime.tagx b/src/main/webapp/WEB-INF/tags/form/fields/datetime.tagx index 93466128385cd57471f53fa134c9234cb1a18a10..0f0efba309342643b69a649df258029fed2f65cd 100644 --- a/src/main/webapp/WEB-INF/tags/form/fields/datetime.tagx +++ b/src/main/webapp/WEB-INF/tags/form/fields/datetime.tagx @@ -33,9 +33,12 @@ </c:if> <script type="text/javascript">dojo.require('dijit.form.DateTextBox')</script> - <div id="_${sec_id}_id"> + <div id="_${sec_id}_id" onmouseover="dijit.Tooltip.defaultPosition=['after']" style="margin-right: 25%;"> <label for="_${sec_field}_id"> <c:out value="${label}" /> + <c:if test="${required}"> + * + </c:if> : </label> <c:choose> @@ -68,7 +71,12 @@ <c:set var="sec_dateTimePattern"> <spring:escapeBody javaScriptEscape="true">${dateTimePattern}</spring:escapeBody> </c:set> - Spring.addDecoration(new Spring.ElementDecoration({elementId : '_${sec_field}_id', widgetType : 'dijit.form.DateTextBox', widgetAttrs : {promptMessage: '${sec_field_validation}', invalidMessage: '${sec_field_invalid}', required: ${required}, constraints: {datePattern : '${sec_dateTimePattern}', required : ${required}}, datePattern : '${sec_dateTimePattern}'}})); </script> + Spring.addDecoration(new Spring.ElementDecoration({elementId : '_${sec_field}_id', widgetType : 'dijit.form.DateTextBox', widgetAttrs : {invalidMessage: '${sec_field_invalid}', required: ${required}, constraints: {datePattern : '${sec_dateTimePattern}', required : ${required}}, datePattern : '${sec_dateTimePattern}'}})); + new dijit.Tooltip({ + connectId: ["_${sec_id}_id"], + label: "${sec_field_validation}", + }); + </script> </div> <br /> </c:if> diff --git a/src/main/webapp/WEB-INF/tags/form/fields/editor.tagx b/src/main/webapp/WEB-INF/tags/form/fields/editor.tagx index c4c61928593df60f167b646670a973e673c28670..a9b3d0c15411dc9c2df0e410e6c58f1900b40a39 100644 --- a/src/main/webapp/WEB-INF/tags/form/fields/editor.tagx +++ b/src/main/webapp/WEB-INF/tags/form/fields/editor.tagx @@ -34,6 +34,9 @@ <div id="_${fn:escapeXml(id)}_id"> <label for="_${sec_field}_id"> <c:out value="${fn:escapeXml(label)}" /> + <c:if test="${required}"> + * + </c:if> : </label> <form:hidden id="_${sec_field}_id" path="${sec_field}" /> diff --git a/src/main/webapp/WEB-INF/tags/form/fields/input.tagx b/src/main/webapp/WEB-INF/tags/form/fields/input.tagx index b675439783da8fa05fd49bc6f460288d3147dd9d..bd0fa4546bae44f2d0d0f5a70648a7be7e8a6cab 100644 --- a/src/main/webapp/WEB-INF/tags/form/fields/input.tagx +++ b/src/main/webapp/WEB-INF/tags/form/fields/input.tagx @@ -57,22 +57,26 @@ <spring:escapeBody javaScriptEscape="true" >${field}</spring:escapeBody> </c:set> - <div id="_${fn:escapeXml(id)}_id"> + <div id="_${fn:escapeXml(id)}_id" onmouseover="dijit.Tooltip.defaultPosition=['after']" style="margin-right: 25%;"> + <!-- style="margin-right: auto;" --> <label for="_${sec_field}_id"> <c:out value="${fn:escapeXml(label)}" /> + <c:if test="${required}"> + * + </c:if> : </label> <c:choose> <c:when test="${disableFormBinding}"> - <input id="_${sec_field}_id" name="${sec_field}" type="${fn:escapeXml(type)}" /> + <input id="_${sec_field}_id" name="${sec_field}" type="${fn:escapeXml(type)}"/> </c:when> <c:otherwise> <c:choose> <c:when test="${type eq 'password'}"> - <form:password id="_${sec_field}_id" path="${sec_field}" disabled="${disabled}" /> + <form:password id="_${sec_field}_id" path="${sec_field}" disabled="${disabled}"/> </c:when> <c:otherwise> - <form:input id="_${sec_field}_id" path="${sec_field}" disabled="${disabled}" /> + <form:input id="_${sec_field}_id" path="${sec_field}" disabled="${disabled}"/> </c:otherwise> </c:choose> <br /> @@ -108,8 +112,14 @@ <c:if test="${!empty validationRegex}"> <c:set var="sec_validation_regex" value="regExp : '${validationRegex}', " /> </c:if> + <script type="text/javascript"> - Spring.addDecoration(new Spring.ElementDecoration({elementId : '_${sec_field}_id', widgetType : 'dijit.form.ValidationTextBox', widgetAttrs : {promptMessage: '${sec_field_validation}', invalidMessage: '${sec_field_invalid}', required : ${required}, ${sec_validation_regex} missingMessage : '${sec_field_required}' }})); + //promptMessage: '${sec_field_validation}', + Spring.addDecoration(new Spring.ElementDecoration({elementId : '_${sec_field}_id', widgetType : 'dijit.form.ValidationTextBox', widgetAttrs : { invalidMessage: '${sec_field_invalid}', required : ${required}, ${sec_validation_regex} missingMessage : '${sec_field_required}'}})); + new dijit.Tooltip({ + connectId: ["_${fn:escapeXml(id)}_id"], + label: "${sec_field_validation}", + }); </script> </div> <br /> diff --git a/src/main/webapp/WEB-INF/tags/form/fields/reference.tagx b/src/main/webapp/WEB-INF/tags/form/fields/reference.tagx index a99eb1ca307387a05646b5a148e1b4ba6faf4e15..0a4e5b72b84da8da2c7550086d82559b7c8f1a1e 100644 --- a/src/main/webapp/WEB-INF/tags/form/fields/reference.tagx +++ b/src/main/webapp/WEB-INF/tags/form/fields/reference.tagx @@ -18,6 +18,9 @@ <div id="_${fn:escapeXml(id)}_id"> <label for="_${fn:escapeXml(field)}_id"> <c:out value="${fn:escapeXml(label)}" /> + <c:if test="${required}"> + * + </c:if> : </label> <spring:url value="${path}" var="create_url"> diff --git a/src/main/webapp/WEB-INF/tags/form/fields/select.tagx b/src/main/webapp/WEB-INF/tags/form/fields/select.tagx index e1f136e804bd1eb9122a5d45199591b5f7bb27bd..ee30df01a8b6953755fc86b4a8d4d90a8ad7968f 100644 --- a/src/main/webapp/WEB-INF/tags/form/fields/select.tagx +++ b/src/main/webapp/WEB-INF/tags/form/fields/select.tagx @@ -56,11 +56,14 @@ <spring:escapeBody htmlEscape="true" >${itemLabel}</spring:escapeBody> </c:set> - <div id="_${fn:escapeXml(id)}_id"> + <div id="_${fn:escapeXml(id)}_id" onmouseover="dijit.Tooltip.defaultPosition=['after']" style="margin-right: 25%;"> <c:choose> <c:when test="${not empty items}"> <label for="_${sec_field}_id"> <c:out value="${fn:escapeXml(label)}" /> + <c:if test="${required}"> + * + </c:if> : </label> <c:choose> @@ -200,10 +203,10 @@ <c:choose> <c:when test="${empty hintValue}"> - <spring:message argumentSeparator="," arguments="${label}, " code="field_simple_validation" var="field_validation" htmlEscape="false" /> + <spring:message argumentSeparator="," arguments="${label}, " code="field_simple_validation" var="sec_field_validation" htmlEscape="false" /> </c:when> <c:otherwise> - <spring:message code="${hintValue}" var="field_validation" htmlEscape="false" /> + <spring:message code="${hintValue}" var="sec_field_validation" htmlEscape="false" /> </c:otherwise> </c:choose> @@ -220,7 +223,7 @@ </c:when> <c:when test="${multiple == false}"> - <script type="text/javascript">Spring.addDecoration(new Spring.ElementDecoration({elementId : '_${sec_field}_id', widgetType: 'dijit.form.FilteringSelect', widgetAttrs : {promptMessage: '${sec_field_validation}', hasDownArrow : true}})); </script> + <script type="text/javascript">Spring.addDecoration(new Spring.ElementDecoration({elementId : '_${sec_field}_id', widgetType: 'dijit.form.FilteringSelect', widgetAttrs : {hasDownArrow : true}})); </script> </c:when> <!-- disabled due to http://jira.springframework.org/browse/ROO-909 dijit.form.MultiSelect dojox.form.CheckedMultiSelect <c:otherwise> <script type="text/javascript">Spring.addDecoration(new Spring.ElementDecoration({elementId : '_${field}_id', widgetType: 'dojox.form.CheckedMultiSelect', widgetAttrs : {multiple: true}})); </script> </c:otherwise> --> @@ -260,6 +263,13 @@ <field:reference field="${label}" id="${id}" path="${path}" required="${required}" /> </c:otherwise> </c:choose> + + <script type="text/javascript"> + new dijit.Tooltip({ + connectId: ["_${fn:escapeXml(id)}_id"], + label: "${sec_field_validation}", + }); + </script> </div> <br /> </c:if> diff --git a/src/main/webapp/WEB-INF/tags/form/fields/textarea.tagx b/src/main/webapp/WEB-INF/tags/form/fields/textarea.tagx index c950714eb0a8826e60d0cd659e2b4ab0ab8fe337..aba57a8b00a422ad26d6a9e17eaa89e38fc2faf4 100644 --- a/src/main/webapp/WEB-INF/tags/form/fields/textarea.tagx +++ b/src/main/webapp/WEB-INF/tags/form/fields/textarea.tagx @@ -34,23 +34,32 @@ <c:choose> <c:when test="${empty hintValue}"> - <spring:message argumentSeparator="," arguments="${label}, " code="field_simple_validation" var="field_validation" htmlEscape="false" /> + <spring:message argumentSeparator="," arguments="${label}, " code="field_simple_validation" var="sec_field_validation" htmlEscape="false" /> </c:when> <c:otherwise> - <spring:message code="${hintValue}" var="field_validation" htmlEscape="false" /> + <spring:message code="${hintValue}" var="sec_field_validation" htmlEscape="false" /> </c:otherwise> </c:choose> <script type="text/javascript">dojo.require("dijit.form.SimpleTextarea");</script> - <div id="_${fn:escapeXml(id)}_id"> + <div id="_${fn:escapeXml(id)}_id" onmouseover="dijit.Tooltip.defaultPosition=['after']" style="margin-right: 25%;"> <label for="_${sec_field}_id"> <c:out value="${fn:escapeXml(label)}" /> + <c:if test="${required}"> + * + </c:if> : </label> <form:textarea id="_${sec_field}_id" path="${sec_field}" disabled="${disabled}" /> <br /> <form:errors cssClass="errors" id="_${sec_field}_error_id" path="${sec_field}" /> - <script type="text/javascript">Spring.addDecoration(new Spring.ElementDecoration({elementId : '_${sec_field}_id', widgetType : 'dijit.form.SimpleTextarea', widgetAttrs : {promptMessage: '${sec_field_validation}', disabled : ${disabled}}})); </script> + <script type="text/javascript"> + Spring.addDecoration(new Spring.ElementDecoration({elementId : '_${sec_field}_id', widgetType : 'dijit.form.SimpleTextarea', widgetAttrs : {disabled : ${disabled}}})); + new dijit.Tooltip({ + connectId: ["_${fn:escapeXml(id)}_id"], + label: "${sec_field_validation}", + }); + </script> </div> <br />