From 67b5848d54a64bb75ab997f989c3491581c104a8 Mon Sep 17 00:00:00 2001 From: Kenji Tanaka Date: Fri, 16 Feb 2024 15:18:52 -0500 Subject: [PATCH 1/2] :wrench: chore(migration): Update super admin parameters table --- .../V2_6_0_20240216_1415__AddURLfieldinTipParametersTable.sql | 1 + 1 file changed, 1 insertion(+) create mode 100644 marlo-web/src/main/resources/database/migrations/V2_6_0_20240216_1415__AddURLfieldinTipParametersTable.sql diff --git a/marlo-web/src/main/resources/database/migrations/V2_6_0_20240216_1415__AddURLfieldinTipParametersTable.sql b/marlo-web/src/main/resources/database/migrations/V2_6_0_20240216_1415__AddURLfieldinTipParametersTable.sql new file mode 100644 index 0000000000..2c8fb51c7a --- /dev/null +++ b/marlo-web/src/main/resources/database/migrations/V2_6_0_20240216_1415__AddURLfieldinTipParametersTable.sql @@ -0,0 +1 @@ +ALTER TABLE tip_parameters ADD tip_base_url text NULL; From f1f22811d7e4e4ee3767873b2b8bc865c21a6feb Mon Sep 17 00:00:00 2001 From: Kenji Tanaka Date: Fri, 16 Feb 2024 15:20:06 -0500 Subject: [PATCH 2/2] :wrench: chore(TIP models): Update models and hibernate mappings --- .../ccafs/marlo/data/model/TipParameters.java | 11 +++++++ .../main/resources/xmls/TipParameters.hbm.xml | 3 ++ .../tip/TipDinamicUrlGenerationAction.java | 30 ++++++++++++++----- .../superadmin/TIPManagementAction.java | 3 ++ .../main/resources/custom/aicrra.properties | 1 + .../src/main/resources/global.properties | 1 + .../global/views/superadmin/tipManagement.ftl | 4 +++ 7 files changed, 45 insertions(+), 8 deletions(-) diff --git a/marlo-data/src/main/java/org/cgiar/ccafs/marlo/data/model/TipParameters.java b/marlo-data/src/main/java/org/cgiar/ccafs/marlo/data/model/TipParameters.java index e609848dbe..77e2a2d39c 100644 --- a/marlo-data/src/main/java/org/cgiar/ccafs/marlo/data/model/TipParameters.java +++ b/marlo-data/src/main/java/org/cgiar/ccafs/marlo/data/model/TipParameters.java @@ -37,6 +37,8 @@ public class TipParameters extends MarloBaseEntity implements java.io.Serializab @Expose private String privateKey; @Expose + private String tipBaseUrl; + @Expose private Date tokenDueDate; @Override @@ -61,6 +63,10 @@ public String getPrivateKey() { return privateKey; } + public String getTipBaseUrl() { + return tipBaseUrl; + } + public String getTipLoginService() { return tipLoginService; } @@ -96,10 +102,15 @@ public void setPrivateKey(String privateKey) { this.privateKey = privateKey; } + public void setTipBaseUrl(String tipBaseUrl) { + this.tipBaseUrl = tipBaseUrl; + } + public void setTipLoginService(String tipLoginService) { this.tipLoginService = tipLoginService; } + public void setTipStatusService(String tipStatusService) { this.tipStatusService = tipStatusService; } diff --git a/marlo-data/src/main/resources/xmls/TipParameters.hbm.xml b/marlo-data/src/main/resources/xmls/TipParameters.hbm.xml index 4689b84f42..6338842e4f 100644 --- a/marlo-data/src/main/resources/xmls/TipParameters.hbm.xml +++ b/marlo-data/src/main/resources/xmls/TipParameters.hbm.xml @@ -26,5 +26,8 @@ + + + \ No newline at end of file diff --git a/marlo-web/src/main/java/org/cgiar/ccafs/marlo/action/json/tip/TipDinamicUrlGenerationAction.java b/marlo-web/src/main/java/org/cgiar/ccafs/marlo/action/json/tip/TipDinamicUrlGenerationAction.java index f1de6f813b..0e7ad618c3 100644 --- a/marlo-web/src/main/java/org/cgiar/ccafs/marlo/action/json/tip/TipDinamicUrlGenerationAction.java +++ b/marlo-web/src/main/java/org/cgiar/ccafs/marlo/action/json/tip/TipDinamicUrlGenerationAction.java @@ -44,22 +44,36 @@ public TipDinamicUrlGenerationAction() { public String createDinamicURL() { String tipURL = null; - try { - List tipParameters = tipParametersManager.findAll(); + boolean isCGIARUser = true; + try { String userEmail = "", token = "", loginService = ""; if (this.getCurrentUser() != null && this.getCurrentUser().getEmail() != null) { userEmail = this.getCurrentUser().getEmail(); + if (this.getCurrentUser().isCgiarUser() == true) { + isCGIARUser = true; + } else { + isCGIARUser = false; + } } - if (tipParameters != null && !tipParameters.isEmpty() && tipParameters.get(0) != null) { - if (tipParameters.get(0).getTipTokenService() != null) { - token = tipParameters.get(0).getTokenValue(); + + List tipParameters = tipParametersManager.findAll(); + if (isCGIARUser) { + if (tipParameters != null && !tipParameters.isEmpty() && tipParameters.get(0) != null) { + if (tipParameters.get(0).getTipTokenService() != null) { + token = tipParameters.get(0).getTokenValue(); + } + if (tipParameters.get(0).getTipLoginService() != null) { + loginService = tipParameters.get(0).getTipLoginService(); + } } - if (tipParameters.get(0).getTipLoginService() != null) { - loginService = tipParameters.get(0).getTipLoginService(); + tipURL = loginService + "/" + token + "/staff/" + userEmail; + } else { + // Not CGIAR User + if (tipParameters != null && tipParameters.get(0) != null && tipParameters.get(0).getTipBaseUrl() != null) { + tipURL = tipParameters.get(0).getTipBaseUrl(); } } - tipURL = loginService + "/" + token + "/staff/" + userEmail; } catch (NumberFormatException e) { LOG.error("Error getting tip URL: " + e); } diff --git a/marlo-web/src/main/java/org/cgiar/ccafs/marlo/action/superadmin/TIPManagementAction.java b/marlo-web/src/main/java/org/cgiar/ccafs/marlo/action/superadmin/TIPManagementAction.java index f7c6748438..d8ffcd4403 100644 --- a/marlo-web/src/main/java/org/cgiar/ccafs/marlo/action/superadmin/TIPManagementAction.java +++ b/marlo-web/src/main/java/org/cgiar/ccafs/marlo/action/superadmin/TIPManagementAction.java @@ -63,6 +63,9 @@ public String save() { if (tipParameter.getId() != null) { tipParameterSave.setId(tipParameter.getId()); } + if (tipParameter.getTipBaseUrl() != null) { + tipParameterSave.setTipBaseUrl(tipParameter.getTipBaseUrl()); + } if (tipParameter.getTipLoginService() != null) { tipParameterSave.setTipLoginService(tipParameter.getTipLoginService()); } diff --git a/marlo-web/src/main/resources/custom/aicrra.properties b/marlo-web/src/main/resources/custom/aicrra.properties index db69f3aa3c..02494fb6ca 100644 --- a/marlo-web/src/main/resources/custom/aicrra.properties +++ b/marlo-web/src/main/resources/custom/aicrra.properties @@ -211,6 +211,7 @@ tipParameterManagement.title=TIP Management tipParameter.privateKey=Private Key tipParameter.tipTokenService=Token Service Endpoint tipParameter.tipLoginService=Login Service Endpoint +tipParameter.tipBaseUrl=Base URL tipParameter.tipStatusService= Status Service Endpoint tipParameter.tokenValue= Token Value tipParameter.updateToken= Update Token diff --git a/marlo-web/src/main/resources/global.properties b/marlo-web/src/main/resources/global.properties index 5a49dd72ff..6368e925bf 100644 --- a/marlo-web/src/main/resources/global.properties +++ b/marlo-web/src/main/resources/global.properties @@ -211,6 +211,7 @@ tipParameterManagement.title=TIP Management tipParameter.privateKey=Private Key tipParameter.tipTokenService=Token Service Endpoint tipParameter.tipLoginService=Login Service Endpoint +tipParameter.tipBaseUrl=Base URL tipParameter.tipStatusService= Status Service Endpoint tipParameter.tokenValue= Token Value tipParameter.updateToken= Update Token diff --git a/marlo-web/src/main/webapp/WEB-INF/global/views/superadmin/tipManagement.ftl b/marlo-web/src/main/webapp/WEB-INF/global/views/superadmin/tipManagement.ftl index 0e963399c6..41a945762f 100644 --- a/marlo-web/src/main/webapp/WEB-INF/global/views/superadmin/tipManagement.ftl +++ b/marlo-web/src/main/webapp/WEB-INF/global/views/superadmin/tipManagement.ftl @@ -13,6 +13,7 @@ {"label":"tipManagement", "nameSpace":"", "action":""} ]/] + [#include "/WEB-INF/global/pages/header.ftl" /]
@@ -35,6 +36,9 @@

[@s.text name="tipParameterManagement.title" /]

+
+ [@customForm.input name="tipParameter.tipBaseUrl" i18nkey="tipParameter.tipBaseUrl" className="description limitWords-100" required=true /] +
[@customForm.input name="tipParameter.privateKey" i18nkey="tipParameter.privateKey" className="description limitWords-100" required=true /]