From 16e231b5c839d5d16b6796b9d4b0d1a133f4dcd0 Mon Sep 17 00:00:00 2001 From: Kenji Tanaka Date: Mon, 22 Apr 2024 16:41:09 -0500 Subject: [PATCH] :wrench: chore(Partner request): Update json structure request and api parameters --- .../action/projects/PartnersSaveAction.java | 38 +++++++++++++++---- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/marlo-web/src/main/java/org/cgiar/ccafs/marlo/action/projects/PartnersSaveAction.java b/marlo-web/src/main/java/org/cgiar/ccafs/marlo/action/projects/PartnersSaveAction.java index 70064b4525..cda07de1c0 100644 --- a/marlo-web/src/main/java/org/cgiar/ccafs/marlo/action/projects/PartnersSaveAction.java +++ b/marlo-web/src/main/java/org/cgiar/ccafs/marlo/action/projects/PartnersSaveAction.java @@ -37,6 +37,7 @@ import org.cgiar.ccafs.marlo.data.model.LocElement; import org.cgiar.ccafs.marlo.data.model.PartnerRequest; import org.cgiar.ccafs.marlo.data.model.PowbSynthesis; +import org.cgiar.ccafs.marlo.data.model.Project; import org.cgiar.ccafs.marlo.data.model.ProjectExpectedStudyInfo; import org.cgiar.ccafs.marlo.data.model.ProjectInfo; import org.cgiar.ccafs.marlo.data.model.ReportSynthesis; @@ -111,6 +112,7 @@ public class PartnersSaveAction extends BaseAction { private int activityID; private int capdevID; private String pageRequestName; + private ProjectInfo projectInfo; @Inject public PartnersSaveAction(APConfig config, LocElementManager locationManager, @@ -165,7 +167,9 @@ public void addPowbSynthesisMessage(StringBuilder message, PartnerRequest partne public void addProjectMessage(StringBuilder message, PartnerRequest partnerRequest, PartnerRequest partnerRequestModifications) { - ProjectInfo projectInfo = projectManager.getProjectById(projectID).getProjecInfoPhase(this.getActualPhase()); + if (projectInfo == null) { + projectInfo = projectManager.getProjectById(projectID).getProjecInfoPhase(this.getActualPhase()); + } String sourceMessage = ""; if (this.isAiccra()) { sourceMessage = "" + context + " Cluster: (" + projectID + ") - " + projectInfo.getTitle(); @@ -342,6 +346,12 @@ public String save() { countryId = String.valueOf(locationId); partnerWebPage = activityPartner.getPartner().getWebsiteLink(); + // Get project info + projectInfo = projectManager.getProjectById(projectID).getProjecInfoPhase(this.getActualPhase()); + + // Get project information + Project project = projectInfo != null ? projectInfo.getProject() : null; + // Get the partner type name countryName = locationManager.getLocElementById(Long.parseLong(countryId)).getName(); @@ -444,6 +454,19 @@ public String save() { request.put("websiteLink", partnerRequest.getWebPage()); request.put("institutionTypeCode", partnerRequest.getInstitutionType().getId()); request.put("hqCountryIso", partnerRequest.getLocElement().getIsoAlpha2()); + + // setting requestSource CLARISA parameter + String requestSource; + if (project != null && project.getAcronym() != null) { + requestSource = project.getAcronym(); + } else if (project != null && project.getProjectInfo() != null && project.getProjectInfo().getTitle() != null) { + requestSource = project.getProjectInfo().getTitle(); + } else { + requestSource = "Request made from AICCRA"; + } + request.put("requestSource", requestSource); + + request.put("misAcronym", "userId:" + this.getCurrentUser().getId()); request.put("externalUserMail", this.getCurrentUser().getEmail()); request.put("externalUserName", this.getCurrentUser().getUsername()); request.put("externalUserComments", "Request made from AICCRA"); @@ -456,8 +479,7 @@ public String save() { ExternalPostUtils epu = new ExternalPostUtils(); epu.setUsername(config.getClarisaAPIUsername()); epu.setPassword(config.getClarisaAPIPassword()); - String responseStr = - epu.postJson(config.getClarisaAPIHost() + "/api/CCAFS/institutions/institution-requests", requestStr); + String responseStr = epu.postJson(config.getClarisaAPIHost() + "/api/partner-requests/create", requestStr); if (responseStr.isEmpty()) { postFailed = true; @@ -478,11 +500,11 @@ public String save() { try { /* - if (this.validateEmailNotification()) { - sendMail.send(config.getEmailNotification(), null, config.getEmailNotification(), subject, message.toString(), - null, null, null, true); - } - */ + * if (this.validateEmailNotification()) { + * sendMail.send(config.getEmailNotification(), null, config.getEmailNotification(), subject, message.toString(), + * null, null, null, true); + * } + */ } catch (Exception e) { LOG.error("unable to send mail", e); /**