r1642 - trunk/wao-business/src/main/java/fr/ifremer/wao/service
Author: bleny Date: 2013-03-01 15:24:27 +0100 (Fri, 01 Mar 2013) New Revision: 1642 Url: http://forge.codelutin.com/projects/wao/repository/revisions/1642 Log: fixes #1163: contenu du mail auto vers Allegro Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2013-03-01 13:51:47 UTC (rev 1641) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2013-03-01 14:24:27 UTC (rev 1642) @@ -24,6 +24,7 @@ package fr.ifremer.wao.service; +import com.google.common.collect.ImmutableSet; import fr.ifremer.wao.WaoBusinessException; import fr.ifremer.wao.WaoContext; import fr.ifremer.wao.WaoDAOHelper; @@ -1135,12 +1136,20 @@ public boolean executeSendContactDoneEmail(TopiaContext transaction, Contact contact) throws WaoBusinessException, TopiaException { + ContactState contactState = contact.getContactState(); + ObsProgram obsProgram = contact.getObsProgram(); + boolean result = false; - boolean addBoatToObserversAllegroWallet = contact.getObsProgram() == ObsProgram.OBSMER - && (contact.getContactState().equals(ContactState.OBSERVATION_DONE) || - contact.getContactState().equals(ContactState.OBSERVATION_EXPECTED)); + boolean addBoatToObserversAllegroWallet = false; + if (obsProgram == ObsProgram.OBSMER) { + addBoatToObserversAllegroWallet = + ImmutableSet.of( + ContactState.OBSERVATION_DONE, + ContactState.OBSERVATION_EXPECTED).contains(contactState); + } + if (addBoatToObserversAllegroWallet) { ContactDAO contactDAO = WaoDAOHelper.getContactDAO(transaction); @@ -1153,6 +1162,21 @@ String boatId = boat.getTopiaId(); + String info; + + if (contactState == ContactState.OBSERVATION_EXPECTED) { + info = String.format( + "Cette demande émane de l'observation prévue le %s.", + WaoUtils.formatDate(contactReloaded.getObservationBeginDate())); + } else if (contactState == ContactState.OBSERVATION_DONE) { + info = String.format( + "Cette demande émane de l'observation réalisée entre le %s et le %s", + WaoUtils.formatDate(contactReloaded.getObservationBeginDate()), + WaoUtils.formatDate(contactReloaded.getObservationEndDate())); + } else { + throw new IllegalStateException(contactState + " should not lead to a mail sent"); + } + for (WaoUser observer : contactReloaded.getAllObservers()) { boolean boatAlreadyInWallet = observer.getAllegroWalletByTopiaId(boatId) != null; @@ -1173,20 +1197,21 @@ String subject = String.format( "%s : ajout navire \"%d\" sur portefeuille ALLEGRO de %s", - contact.getObsProgram().toString(), + obsProgram.toString(), boat.getImmatriculation(), observerEmail ); String content = String.format( "Bonjour,\n\n" + - "Merci d'ajouter le navire \"%d\" au portefeuille ALLEGRO de " + - "l'observateur %s %s %s.\n\n" + - "Cordialement,\n" + + "Merci d'ajouter le navire \"%d\" au portefeuille ALLEGRO de l'observateur %s %s %s.\n\n" + + "%s.\n\n" + + "Cordialement,\n\n" + "L'équipe Obsmer", boat.getImmatriculation(), observer.getFullName(), observer.getCompany().getName(), + info, observerEmail ); @@ -1213,10 +1238,8 @@ " Vérifiez le serveur smtp et l'adresse email de l'observateur.", eee); } - } } - } return result;
participants (1)
-
bleny@users.forge.codelutin.com