branch develop updated (2f360434 -> 5da7a152)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository pollen. See https://gitlab.nuiton.org/chorem/pollen.git from 2f360434 Un point d'entré pour voir l'état du service REST new 49c5d215 Ajouter les detail dans les logs (thread, session, user, permission) + un log a la fin de chacque requête new 3a41ce65 Ajout de la sessionId dans le mail de feedback + plus de log dans l'envoie et la reception des emails new 5da7a152 Correction des permissions pour les actions de fermeture clonage et emails invalids sur un sondage The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 5da7a15292b6a4892b94ee57bd07d2bfcc8ff048 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Fri Nov 17 10:57:50 2017 +0100 Correction des permissions pour les actions de fermeture clonage et emails invalids sur un sondage commit 3a41ce6508417c7fd24d256acf3b9529b9046ae2 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Fri Nov 17 10:55:50 2017 +0100 Ajout de la sessionId dans le mail de feedback + plus de log dans l'envoie et la reception des emails commit 49c5d2150abc28c1c089b9c490deba5b12b587c5 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Fri Nov 17 10:48:57 2017 +0100 Ajouter les detail dans les logs (thread, session, user, permission) + un log a la fin de chacque requête Summary of changes: .../rest/api/PollenRestApiRequestFilter.java | 48 +++++++++++++++++++++- .../org/chorem/pollen/rest/api/v1/FeedbackApi.java | 4 +- .../src/main/resources/log4j.properties | 3 +- pollen-services/pom.xml | 5 --- .../pollen/services/service/FeedbackService.java | 4 +- .../services/service/PollenServiceSupport.java | 2 +- .../pollen/services/service/mail/EmailService.java | 21 +++++++--- .../services/service/mail/FeedbackEmail.java | 13 +++++- .../services/service/mail/MailBoxService.java | 13 +++++- .../services/service/security/SecurityService.java | 21 +--------- .../main/resources/email/FeedbackEmail.mustache | 1 + .../main/resources/email/FeedbackEmail_fr.mustache | 1 + pollen-ui-riot-js/src/main/web/js/PollForm.js | 6 +-- pom.xml | 10 +---- 14 files changed, 102 insertions(+), 50 deletions(-) -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository pollen. See https://gitlab.nuiton.org/chorem/pollen.git commit 49c5d2150abc28c1c089b9c490deba5b12b587c5 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Fri Nov 17 10:48:57 2017 +0100 Ajouter les detail dans les logs (thread, session, user, permission) + un log a la fin de chacque requête --- .../rest/api/PollenRestApiRequestFilter.java | 48 +++++++++++++++++++++- .../src/main/resources/log4j.properties | 3 +- pollen-services/pom.xml | 5 --- .../services/service/PollenServiceSupport.java | 2 +- .../services/service/security/SecurityService.java | 21 +--------- pom.xml | 10 +---- 6 files changed, 53 insertions(+), 36 deletions(-) diff --git a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java index ad2e66b5..3ae84c8d 100644 --- a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java +++ b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/PollenRestApiRequestFilter.java @@ -27,6 +27,7 @@ import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.log4j.MDC; import org.chorem.pollen.persistence.PollenPersistenceContext; import org.chorem.pollen.persistence.entity.PollenPrincipal; import org.chorem.pollen.persistence.entity.PollenUser; @@ -35,7 +36,6 @@ import org.chorem.pollen.services.PollenServiceContext; import org.chorem.pollen.services.PollenUIContext; import org.chorem.pollen.services.service.ChoiceService; import org.chorem.pollen.services.service.CommentService; -import org.chorem.pollen.services.service.TransverseService; import org.chorem.pollen.services.service.FavoriteListService; import org.chorem.pollen.services.service.FeedService; import org.chorem.pollen.services.service.FeedbackService; @@ -47,6 +47,7 @@ import org.chorem.pollen.services.service.PollenUIUrlRenderService; import org.chorem.pollen.services.service.PollenUserService; import org.chorem.pollen.services.service.ReportService; import org.chorem.pollen.services.service.SocialAuthService; +import org.chorem.pollen.services.service.TransverseService; import org.chorem.pollen.services.service.VoteCountingService; import org.chorem.pollen.services.service.VoteCountingTypeService; import org.chorem.pollen.services.service.VoteService; @@ -59,12 +60,15 @@ import org.chorem.pollen.services.service.security.PollenSecurityContext; import org.chorem.pollen.services.service.security.SecurityService; import org.jboss.resteasy.spi.ResteasyProviderFactory; +import javax.servlet.http.HttpServletRequest; import javax.ws.rs.HttpMethod; import javax.ws.rs.container.ContainerRequestContext; import javax.ws.rs.container.ContainerRequestFilter; import javax.ws.rs.container.ContainerResponseContext; import javax.ws.rs.container.ContainerResponseFilter; import javax.ws.rs.container.PreMatching; +import javax.ws.rs.container.ResourceInfo; +import javax.ws.rs.core.Context; import javax.ws.rs.core.Cookie; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.MultivaluedMap; @@ -74,6 +78,7 @@ import javax.ws.rs.ext.Provider; import java.io.IOException; import java.util.List; import java.util.Locale; +import java.util.stream.Collectors; /** @@ -103,6 +108,14 @@ public class PollenRestApiRequestFilter implements ContainerRequestFilter, Conta public static final String COOKIE_POLLEN_AUTH = "pollen-auth"; public static final int COOKIE_MAX_AGE = 60 * 60 * 24 * 365; // 1 year + private static final String START_TIME = "startTime"; + + @Context + protected ResourceInfo resourceInfo; + + @Context + protected HttpServletRequest servletRequest; + public static final ImmutableList<Class<? extends PollenService>> SERVICES = ImmutableList.of( ChoiceService.class, CommentService.class, @@ -133,6 +146,13 @@ public class PollenRestApiRequestFilter implements ContainerRequestFilter, Conta @Override public void filter(ContainerRequestContext containerRequestContext) throws IOException { + MDC.clear(); + + if (! HttpMethod.OPTIONS.equals(containerRequestContext.getMethod())) { + // Start monitoring + long start = System.currentTimeMillis(); + containerRequestContext.setProperty(START_TIME, start); + } try { pushRequestContext(containerRequestContext); } catch (PollenInvalidSessionTokenException | PollenCypherTechnicalException e) { @@ -175,6 +195,27 @@ public class PollenRestApiRequestFilter implements ContainerRequestFilter, Conta headers.add(HEADER_ACCESS_CONTROL_ALLOW_METHODS, "GET, POST, DELETE, PUT, OPTIONS"); } + if (! HttpMethod.OPTIONS.equals(containerRequestContext.getMethod())) { + long start = Long.class.cast(containerRequestContext.getProperty(START_TIME)); + long end = System.currentTimeMillis(); + + String httpMethod = containerRequestContext.getMethod(); + String uri = containerRequestContext.getUriInfo().getPath(); + String query = containerRequestContext.getUriInfo().getQueryParameters() + .entrySet() + .stream() + .map(entry -> entry.getKey() + "=" + entry.getValue().stream().collect(Collectors.joining(","))) + .collect(Collectors.joining("&")); + String classApi = resourceInfo.getResourceClass().getSimpleName(); + String methodApi = resourceInfo.getResourceMethod().getName(); + int httpCode = containerResponseContext.getStatus(); + + log.info(String.format("%s %s?%s ==> %s.%s ==> %d : %dms", + httpMethod, uri, query, + classApi, methodApi, + httpCode, end - start)); + } + } private void pushRequestContext(ContainerRequestContext context) throws PollenInvalidSessionTokenException, PollenCypherTechnicalException { @@ -221,6 +262,9 @@ public class PollenRestApiRequestFilter implements ContainerRequestFilter, Conta SecurityService securityService = serviceContext.newService(SecurityService.class); + String sessionId = servletRequest.getSession(true).getId(); + MDC.put("session", sessionId); + // --- get session token (from request parameters) --- // String sessionTokenHeader = context.getHeaderString(REQUEST_HEADER_SESSION_TOKEN); @@ -239,12 +283,14 @@ public class PollenRestApiRequestFilter implements ContainerRequestFilter, Conta } PollenUser userConnected = securityService.getUserFromToken(sessionTokenHeader); + MDC.put("user", userConnected == null ? "Anonyme" : securityService.getReduceId(userConnected)); // --- get mainPrincipal (from request parameters) --- // String permission = null; List<String> permissions = context.getUriInfo().getQueryParameters().get(REQUEST_PERMISSION_PARAMETER); if (CollectionUtils.isNotEmpty(permissions)) { permission = permissions.get(0); + MDC.put("permission", permission); } PollenPrincipal mainPrincipal = securityService.getPollenPrincipalByPermissionToken(permission); diff --git a/pollen-rest-api/src/main/resources/log4j.properties b/pollen-rest-api/src/main/resources/log4j.properties index 71cea7eb..6ebf2fd7 100644 --- a/pollen-rest-api/src/main/resources/log4j.properties +++ b/pollen-rest-api/src/main/resources/log4j.properties @@ -21,9 +21,8 @@ log4j.rootCategory=WARN, console log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.layout=org.apache.log4j.PatternLayout -log4j.appender.console.layout.ConversionPattern=%d{hh:mm:ss} %5p (%F:%L) %m%n +log4j.appender.console.layout.ConversionPattern=%d %5p [%t] (%F:%L) {%X{session}:%X{user}:%X{permission}} %m%n log4j.logger.org.chorem.pollen=INFO -log4j.logger.org.chorem.pollen.services.service.mail=DEBUG log4j.logger.org.debux=INFO log4j.logger.org.hibernate.orm.deprecation=ERROR log4j.logger.com.zaxxer.hikari.HikariDataSource=ERROR diff --git a/pollen-services/pom.xml b/pollen-services/pom.xml index d8a22db2..2be339c5 100644 --- a/pollen-services/pom.xml +++ b/pollen-services/pom.xml @@ -99,11 +99,6 @@ <artifactId>yamlbeans</artifactId> </dependency> - <dependency> - <groupId>org.bouncycastle</groupId> - <artifactId>bcprov-jdk16</artifactId> - </dependency> - <!--dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenServiceSupport.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenServiceSupport.java index 25dc27ab..d46beb01 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenServiceSupport.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenServiceSupport.java @@ -489,7 +489,7 @@ public abstract class PollenServiceSupport implements PollenService { return pollenEntityId; } - protected <E extends TopiaEntity> String getReduceId(E entity) { + public <E extends TopiaEntity> String getReduceId(E entity) { return PollenEntityId.encode(serviceContext.getTopiaApplicationContext().getTopiaIdFactory(), entity.getTopiaId()); } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/security/SecurityService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/security/SecurityService.java index 9bd9df43..fbf8a98c 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/security/SecurityService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/security/SecurityService.java @@ -30,13 +30,6 @@ import com.google.common.base.Preconditions; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.bouncycastle.crypto.BlockCipher; -import org.bouncycastle.crypto.BufferedBlockCipher; -import org.bouncycastle.crypto.engines.RijndaelEngine; -import org.bouncycastle.crypto.modes.CBCBlockCipher; -import org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher; -import org.bouncycastle.crypto.paddings.ZeroBytePadding; -import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.chorem.pollen.persistence.entity.Choice; import org.chorem.pollen.persistence.entity.Comment; import org.chorem.pollen.persistence.entity.CommentVisibility; @@ -61,7 +54,6 @@ import org.chorem.pollen.services.service.PollenServiceSupport; import org.nuiton.topia.persistence.TopiaNoResultException; import java.io.UnsupportedEncodingException; -import java.security.Security; import java.util.Calendar; import java.util.Date; import java.util.Objects; @@ -78,18 +70,9 @@ public class SecurityService extends PollenServiceSupport { /** Logger. */ private static final Log log = LogFactory.getLog(SecurityService.class); - static { - Security.addProvider(new BouncyCastleProvider()); - } - - private BufferedBlockCipher cipher; - @Override public void setServiceContext(PollenServiceContext serviceContext) { super.setServiceContext(serviceContext); - BlockCipher engine = new RijndaelEngine(256); - cipher = new PaddedBufferedBlockCipher(new CBCBlockCipher(engine), new ZeroBytePadding()); - } @Override @@ -251,11 +234,11 @@ public class SecurityService extends PollenServiceSupport { } catch (JWTVerificationException e) { if (log.isInfoEnabled()) { - log.info("Invalid Token", e); + log.info("Invalid Token : " + e.getMessage() + " - " + token); } } catch (TopiaNoResultException e) { if (log.isErrorEnabled()) { - log.error("Not find Token user", e); + log.error("Not find user from token : " + token); } } } diff --git a/pom.xml b/pom.xml index 385d8590..8e9f02b4 100644 --- a/pom.xml +++ b/pom.xml @@ -190,7 +190,7 @@ <h2Version>1.4.178</h2Version> <postgresqlVersion>9.4.1212.jre7</postgresqlVersion> <shiroVersion>1.2.3</shiroVersion> - <jwtJavaVersion>3.3.0</jwtJavaVersion> + <javaJwtVersion>3.2.0</javaJwtVersion> <slf4jVersion>1.7.22</slf4jVersion> <jettyVersion>9.0.3.v20130506</jettyVersion> <tomcatEmbedVersion>7.0.50</tomcatEmbedVersion> @@ -497,7 +497,7 @@ <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> - <version>${jwtJavaVersion}</version> + <version>${javaJwtVersion}</version> </dependency> <!--dependency> @@ -626,12 +626,6 @@ </dependency> <dependency> - <groupId>org.bouncycastle</groupId> - <artifactId>bcprov-jdk16</artifactId> - <version>1.46</version> - </dependency> - - <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.3.0</version> -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository pollen. See https://gitlab.nuiton.org/chorem/pollen.git commit 3a41ce6508417c7fd24d256acf3b9529b9046ae2 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Fri Nov 17 10:55:50 2017 +0100 Ajout de la sessionId dans le mail de feedback + plus de log dans l'envoie et la reception des emails --- .../org/chorem/pollen/rest/api/v1/FeedbackApi.java | 4 +++- .../pollen/services/service/FeedbackService.java | 4 ++-- .../pollen/services/service/mail/EmailService.java | 21 ++++++++++++++++----- .../pollen/services/service/mail/FeedbackEmail.java | 13 ++++++++++++- .../services/service/mail/MailBoxService.java | 13 +++++++++++-- .../src/main/resources/email/FeedbackEmail.mustache | 1 + .../main/resources/email/FeedbackEmail_fr.mustache | 1 + 7 files changed, 46 insertions(+), 11 deletions(-) diff --git a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/FeedbackApi.java b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/FeedbackApi.java index 9c851e52..e8c0cd58 100644 --- a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/FeedbackApi.java +++ b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/FeedbackApi.java @@ -24,6 +24,7 @@ package org.chorem.pollen.rest.api.v1; import org.chorem.pollen.services.bean.FeedbackBean; import org.chorem.pollen.services.service.FeedbackService; +import javax.servlet.http.HttpServletRequest; import javax.ws.rs.Consumes; import javax.ws.rs.POST; import javax.ws.rs.Path; @@ -43,8 +44,9 @@ public class FeedbackApi { @Path("/feedback") @POST public boolean addFeedBack(@Context FeedbackService feedbackService, + @Context HttpServletRequest servletRequest, FeedbackBean feedbackBean) { - return feedbackService.addFeedback(feedbackBean); + return feedbackService.addFeedback(feedbackBean, servletRequest.getRequestedSessionId()); } } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/FeedbackService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/FeedbackService.java index 9225bd2c..81116829 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/FeedbackService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/FeedbackService.java @@ -35,7 +35,7 @@ import java.util.Locale; */ public class FeedbackService extends PollenServiceSupport { - public boolean addFeedback(FeedbackBean feedbackBean) { + public boolean addFeedback(FeedbackBean feedbackBean, String sessionId) { List<String> mailsFeedbackList = getPollenServiceConfig().getMailsFeedbackList(); Locale locale = getPollenServiceConfig().getFeedbackLocale(); @@ -47,7 +47,7 @@ public class FeedbackService extends PollenServiceSupport { EmailService emailService = getEmailService(); - FeedbackEmail feedbackEMail = emailService.newFeedbackMail(feedbackBean, userBean, locale); + FeedbackEmail feedbackEMail = emailService.newFeedbackMail(feedbackBean, userBean, sessionId, locale); feedbackEMail.getTos().addAll(mailsFeedbackList); emailService.send(feedbackEMail); diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/EmailService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/EmailService.java index cbb7f5f9..8544c523 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/EmailService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/EmailService.java @@ -429,7 +429,8 @@ public class EmailService extends PollenServiceSupport { String[] emailSplit = fromAddress.getAddress().split("@"); String userFrom = emailSplit[0]; String domainFrom = emailSplit[1]; - fromAddress.setAddress(userFrom + "+" + getMailId(mail) + "@" + domainFrom); + String mailId = getMailId(mail); + fromAddress.setAddress(userFrom + "+" + mailId + "@" + domainFrom); String from = fromAddress.toUnicodeString(); Collection<InternetAddress> replyTo = mail.getReplyTo(); @@ -438,10 +439,16 @@ public class EmailService extends PollenServiceSupport { emailToResend.setSubject(subject); emailToResend.setBody(body); emailToResend.setAdrFrom(from); - emailToResend.setReplyTo(replyTo.stream().map(InternetAddress::toUnicodeString).reduce("", (s, s2) -> s + ", " + s2)); + emailToResend.setReplyTo(replyTo.stream() + .map(InternetAddress::toUnicodeString) + .collect(Collectors.joining(", "))); emailToResend.setTos(StringUtils.join(tos, RECIPIENT_SEPARATOR)); emailToResend.setBccs(StringUtils.join(bccs, RECIPIENT_SEPARATOR)); + if (log.isInfoEnabled()) { + log.info("record email after send : " + mailId); + } + } else { if (log.isErrorEnabled()) { log.error("email has no recipient, won't be sent " + mail); @@ -487,6 +494,9 @@ public class EmailService extends PollenServiceSupport { } newEmail.setMsg(body); newEmail.send(); + if (log.isInfoEnabled()) { + log.info("send email to : " + tos.stream().collect(Collectors.joining(", ")) + " - from " + from); + } } } @@ -678,10 +688,11 @@ public class EmailService extends PollenServiceSupport { return value; } - public FeedbackEmail newFeedbackMail(FeedbackBean feedbackBean, PollenUserBean user, Locale locale) { + public FeedbackEmail newFeedbackMail(FeedbackBean feedbackBean, PollenUserBean user, String sessionId, Locale locale) { FeedbackEmail email = new FeedbackEmail(locale, getTimeZone()); email.setUser(user); email.setFeedback(feedbackBean); + email.setSessionId(sessionId); email.setFeedbackDate(getNow()); if (feedbackBean.getScreenShotId() != null) { String screenShotUrl = getPollenUIUrlRenderService().getResourceUrl( @@ -705,10 +716,10 @@ public class EmailService extends PollenServiceSupport { protected String getMailId(PollenMail mail) { PollenMailType pollenEmailType = PollenMailType.valueOfMail(mail); - return pollenEmailType.name() + + return pollenEmailType.name() + MAIL_ID_SEPARATOR + mail.getEntitiesKey().stream() .map(entity -> PollenEmailKeyType.valueOfEntity(entity).name() + getReduceId(entity)) - .reduce("", (s, s2) -> s + MAIL_ID_SEPARATOR + s2); + .collect(Collectors.joining(MAIL_ID_SEPARATOR)); } /** diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/FeedbackEmail.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/FeedbackEmail.java index 3dc6937c..a26b3e74 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/FeedbackEmail.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/FeedbackEmail.java @@ -44,7 +44,10 @@ public class FeedbackEmail extends PollenMail { protected Date feedbackDate; protected String applicationVersion; - private String screenShotUrl; + + protected String screenShotUrl; + + protected String sessionId; public FeedbackEmail(Locale locale, TimeZone timeZone) { super(locale, timeZone); @@ -99,4 +102,12 @@ public class FeedbackEmail extends PollenMail { public List<TopiaEntity> getEntitiesKey() { return Collections.emptyList(); } + + public void setSessionId(String sessionId) { + this.sessionId = sessionId; + } + + public String getSessionId() { + return sessionId; + } } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/MailBoxService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/MailBoxService.java index da2c73e9..dd7f7e49 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/MailBoxService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/mail/MailBoxService.java @@ -112,8 +112,8 @@ public class MailBoxService extends PollenServiceSupport { protected void processMessage(Message message) { try { - if (log.isDebugEnabled()) { - log.debug(String.format("Process message \"%1s\" recevied at %tF ...", message.getSubject(), message.getReceivedDate())); + if (log.isInfoEnabled()) { + log.info(String.format("Process message \"%1s\" recevied at %tF ...", message.getSubject(), message.getReceivedDate())); } String[] tos = message.getHeader("To"); @@ -121,6 +121,9 @@ public class MailBoxService extends PollenServiceSupport { if (ArrayUtils.isNotEmpty(tos)) { String mailId = getMailId(tos[0]); if (StringUtils.isNotBlank(mailId)) { + if (log.isInfoEnabled()) { + log.info("Found mail id : " + mailId); + } PollenMailReturnContext context = extractMessageContext(message, mailId); context.getMailType().getAction().accept(this, context); } @@ -186,6 +189,9 @@ public class MailBoxService extends PollenServiceSupport { protected void forwardToCreatorAction(Poll poll, Message message) { String email = poll.getCreator().getEmail(); if (StringUtils.isNotBlank(email)) { + if (log.isInfoEnabled()) { + log.info("Forward to " + email); + } try { getEmailService().forward(message, Collections.singleton(email), @@ -209,6 +215,9 @@ public class MailBoxService extends PollenServiceSupport { protected void undeliveredFlagPollenPrincipal(PollenPrincipal pollenPrincipal, Message message) { if (isUndeliveredMessage(message)) { + if (log.isInfoEnabled()) { + log.info("Set undelivered flag to " + pollenPrincipal.getTopiaId()); + } pollenPrincipal.setInvalid(true); commit(); } diff --git a/pollen-services/src/main/resources/email/FeedbackEmail.mustache b/pollen-services/src/main/resources/email/FeedbackEmail.mustache index fad17908..89efeb53 100644 --- a/pollen-services/src/main/resources/email/FeedbackEmail.mustache +++ b/pollen-services/src/main/resources/email/FeedbackEmail.mustache @@ -17,6 +17,7 @@ Operating System : {{feedback.operatingSystem}} Platform : {{feedback.platform}} Screen resolution : {{feedback.screenResolution.width}} x {{feedback.screenResolution.height}} (L x H) window resolution : {{feedback.windowDimension.width}} x {{feedback.windowDimension.height}} (L x H) +Session : {{sessionId}} User : {{#user}}{{user.name}} ({{user.email}}){{/user}}{{^user}}Anonymous{{/user}} Locale : {{feedback.locale}} Services version : {{applicationVersion}} diff --git a/pollen-services/src/main/resources/email/FeedbackEmail_fr.mustache b/pollen-services/src/main/resources/email/FeedbackEmail_fr.mustache index 5b9a8de8..315d4b87 100644 --- a/pollen-services/src/main/resources/email/FeedbackEmail_fr.mustache +++ b/pollen-services/src/main/resources/email/FeedbackEmail_fr.mustache @@ -18,6 +18,7 @@ Plateforme : {{feedback.platform}} Résolution : {{feedback.screenResolution.width}} x {{feedback.screenResolution.height}} (L x H) Taille d'affichage : {{feedback.windowDimension.width}} x {{feedback.windowDimension.height}} (L x H) Langue : {{feedback.locale}} +Session : {{sessionId}} Utilisateur : {{#user}}{{user.name}} ({{user.email}}){{/user}}{{^user}}Anonyme{{/user}} Version services : {{applicationVersion}} {{#screenShotUrl}} -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository pollen. See https://gitlab.nuiton.org/chorem/pollen.git commit 5da7a15292b6a4892b94ee57bd07d2bfcc8ff048 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Fri Nov 17 10:57:50 2017 +0100 Correction des permissions pour les actions de fermeture clonage et emails invalids sur un sondage --- pollen-ui-riot-js/src/main/web/js/PollForm.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pollen-ui-riot-js/src/main/web/js/PollForm.js b/pollen-ui-riot-js/src/main/web/js/PollForm.js index 9530c05b..eabc28aa 100644 --- a/pollen-ui-riot-js/src/main/web/js/PollForm.js +++ b/pollen-ui-riot-js/src/main/web/js/PollForm.js @@ -304,7 +304,7 @@ class PollForm { close() { if (this.model.id) { - return pollService.closePoll(this.model.id, this.permission).then((result) => { + return pollService.closePoll(this.model.id, this.model.permission).then((result) => { this.model.closed = true; this.model.canVote = false; this.model.endDate = result; @@ -316,7 +316,7 @@ class PollForm { reopen() { if (this.model.id) { - return pollService.reopenPoll(this.model.id, this.permission).then(() => { + return pollService.reopenPoll(this.model.id, this.model.permission).then(() => { this.model.closed = false; this.model.canVote = true; this.model.endDate = null; @@ -328,7 +328,7 @@ class PollForm { getInvalidEmails() { if (this.model.id) { - return pollService.getInvalidEmails(this.model.id, this.permission); + return pollService.getInvalidEmails(this.model.id, this.model.permission); } return Promise.reject("Init poll after get invalid emails"); } -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.
participants (1)
-
chorem.org scm