This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository wao. See http://git.codelutin.com/wao.git commit 21ef218a63326a56f330355bf83d195e5afce6fa Author: Brendan Le Ny <bleny@codelutin.com> Date: Fri Jan 23 12:01:58 2015 +0100 Début de gestion des utilisateurs associés au labo dans le formulaire de modification d'un labo --- .../administration/LaboratoriesService.java | 22 +++++++++++++++++++++- .../administration/EditLaboratoryAction.java | 21 +++++++++++++++++++-- 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/LaboratoriesService.java b/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/LaboratoriesService.java index cde507b..a24dbde 100644 --- a/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/LaboratoriesService.java +++ b/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/LaboratoriesService.java @@ -1,13 +1,17 @@ package fr.ifremer.wao.services.service.administration; +import com.google.common.base.Optional; +import com.google.common.collect.ImmutableSortedSet; import fr.ifremer.wao.entity.Company; import fr.ifremer.wao.entity.Laboratory; import fr.ifremer.wao.entity.LaboratoryImpl; import fr.ifremer.wao.entity.LaboratoryTopiaDao; +import fr.ifremer.wao.entity.WaoUser; import fr.ifremer.wao.services.service.IllegalDeletionException; import fr.ifremer.wao.services.service.WaoServiceSupport; import java.util.List; +import java.util.Set; public class LaboratoriesService extends WaoServiceSupport { @@ -44,10 +48,26 @@ public class LaboratoriesService extends WaoServiceSupport { } - public void preValidate(Laboratory laboratory) throws OrganisationNameMustBeUniqueException { + public ImmutableSortedSet<WaoUser> getPossibleMembersForLaboratory(Laboratory laboratory) { + + String companyId = laboratory.getCompany().getTopiaId(); + + ImmutableSortedSet<WaoUser> possibleMembersForLaboratory = + getWaoUsersService().getWaoUsers(Optional.of(companyId)).getWaoUsers(); + + return possibleMembersForLaboratory; + + } + + public void preValidate(Laboratory laboratory, Set<String> laboratoryMemberIds) throws OrganisationNameMustBeUniqueException { getOrganisationsService().preValidate(laboratory); + List<WaoUser> laboratoryMembers = getWaoUserDao().forTopiaIdIn(laboratoryMemberIds).findAll(); + + laboratory.clearWaoUser(); + laboratory.addAllWaoUser(laboratoryMembers); + } public void save(Laboratory laboratory) { diff --git a/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/EditLaboratoryAction.java b/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/EditLaboratoryAction.java index e726e57..be09c05 100644 --- a/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/EditLaboratoryAction.java +++ b/wao-web/src/main/java/fr/ifremer/wao/web/action/administration/EditLaboratoryAction.java @@ -21,15 +21,19 @@ package fr.ifremer.wao.web.action.administration; * #L% */ +import com.google.common.collect.ImmutableSortedSet; import com.opensymphony.xwork2.Preparable; import fr.ifremer.wao.entity.Laboratory; -import fr.ifremer.wao.services.service.administration.OrganisationNameMustBeUniqueException; +import fr.ifremer.wao.entity.WaoUser; import fr.ifremer.wao.services.service.administration.LaboratoriesService; +import fr.ifremer.wao.services.service.administration.OrganisationNameMustBeUniqueException; import fr.ifremer.wao.web.WaoJspActionSupport; import org.apache.commons.lang3.StringUtils; import org.apache.struts2.convention.annotation.Result; import org.apache.struts2.convention.annotation.Results; +import java.util.Set; + @Results({ @Result(name="success", type="redirectAction", params = { "actionName", "laboratories" }) }) @@ -43,6 +47,10 @@ public class EditLaboratoryAction extends WaoJspActionSupport implements Prepara protected Laboratory laboratory; + protected ImmutableSortedSet<WaoUser> possibleMembersForLaboratory; + + protected Set<String> laboratoryMemberIds; + public void setLaboratoryId(String laboratoryId) { this.laboratoryId = laboratoryId; } @@ -62,13 +70,22 @@ public class EditLaboratoryAction extends WaoJspActionSupport implements Prepara } else { laboratory = service.getLaboratory(laboratoryId); } + possibleMembersForLaboratory = service.getPossibleMembersForLaboratory(laboratory); + } + + public ImmutableSortedSet<WaoUser> getPossibleMembersForLaboratory() { + return possibleMembersForLaboratory; + } + + public void setLaboratoryMemberIds(Set<String> laboratoryMemberIds) { + this.laboratoryMemberIds = laboratoryMemberIds; } @Override public void validate() { try { - service.preValidate(laboratory); + service.preValidate(laboratory, laboratoryMemberIds); } catch (OrganisationNameMustBeUniqueException e) { addFieldError("company.name", t("wao.ui.form.Organisation.error.nameMustBeUnique")); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.