From f6f69a6305b532a30f8d16369c9c10165250d7cf Mon Sep 17 00:00:00 2001 From: rdbsolutions Date: Tue, 27 Aug 2024 13:15:19 +0100 Subject: [PATCH] hide document links if scheduled docapi downtime set --- .env.local | 1 + components/case.js | 1 + components/case/documents.js | 108 ++++++++++++++++++++++---- locales/cy/case.json | 1 + locales/en/case.json | 1 + pages/case/[ticketnumber].js | 1 + pages/case/id/[incident].js | 1 + pages/myportal/case/[ticketnumber].js | 1 + pages/myportal/case/id/[incident].js | 1 + 9 files changed, 100 insertions(+), 16 deletions(-) diff --git a/.env.local b/.env.local index a5e5167f..4d33e329 100644 --- a/.env.local +++ b/.env.local @@ -54,6 +54,7 @@ SHOWMAPS = "false" API_ROOT = "http://localhost:3000" CY_API_ROOT = "http://cymru.local:3000" I18N_DOMAIN = "cymru.local" +DOCAPI_OFFLINE = "12:00:00,14:00:00" // Next Auth vars diff --git a/components/case.js b/components/case.js index 1aa1b15a..f829bd44 100644 --- a/components/case.js +++ b/components/case.js @@ -43,6 +43,7 @@ const Case = (props) => { searchResultsObj={props.searchResultsObj} searchDetailsObj={props.searchDetailsObj} documentDetailsObj={props.documentDetailsObj} + docsOffline={props.props.docsOffline} /> {showRepresentations == true && ( { documentDetailsObj, setDocumentDetails, setCurrentPage, + docsOffline, } = props; const router = useRouter(); @@ -38,6 +39,40 @@ const DocumentDetails = (props) => { const [selectedOption, setSelectedOption] = useState(10); const [documentTypes, setDocumentTypes] = useState([{}]); const [selectedDocumentType, setSelectedDocumentType] = useState("all"); + let ShowDocLinks = false; + let checkShowDocLinks = docsOffline != false ? true : false; + + const getDocLink = (docsOffline) => { + var startTime = docsOffline.split(",")[0]; + var endTime = docsOffline.split(",")[1]; + + console.log(startTime); + console.log(endTime); + + var currentDate = new Date(); + + var startDate = new Date(currentDate.getTime()); + startDate.setHours(startTime.split(":")[0]); + startDate.setMinutes(startTime.split(":")[1]); + startDate.setSeconds(startTime.split(":")[2]); + + var endDate = new Date(currentDate.getTime()); + endDate.setHours(endTime.split(":")[0]); + endDate.setMinutes(endTime.split(":")[1]); + endDate.setSeconds(endTime.split(":")[2]); + + console.log(startDate); + console.log(endDate); + console.log(currentDate); + + var valid = startDate < currentDate && endDate > currentDate; + + console.log(valid); + + ShowDocLinks = valid; + }; + + checkShowDocLinks && getDocLink(docsOffline); const DocumentView = (documentDetailsArr) => { documentDetailsArr = documentDetailsArr.value; @@ -146,6 +181,23 @@ const DocumentDetails = (props) => { )} + {ShowDocLinks && ( +
+ + + + Notice + + + {t("case:documents-not-available-label")} + +
+ )}
@@ -247,22 +299,46 @@ const DocumentDetails = (props) => {
)} - { - toggleDownLoadLink(key); - }} - > - - {t("case:documents-name-label")} - : - - {_.has(detailsObj, "pinswg_name") - ? detailsObj.pinswg_name - : ""} - + {!ShowDocLinks ? ( + { + toggleDownLoadLink(key); + }} + > + + {t( + "case:documents-name-label" + )} + : + + {_.has( + detailsObj, + "pinswg_name" + ) + ? detailsObj.pinswg_name + : ""} + + ) : ( + <> + + {t( + "case:documents-name-label" + )} + : + + {_.has( + detailsObj, + "pinswg_name" + ) + ? detailsObj.pinswg_name + : ""} + + )}
diff --git a/locales/cy/case.json b/locales/cy/case.json index 7911fe22..b1f3a287 100644 --- a/locales/cy/case.json +++ b/locales/cy/case.json @@ -45,6 +45,7 @@ "summary-event-date-label": "Dyddiad Digwyddiad", "summary-decision-date-label": "Dyddiad y Penderfyniad", "summary-documents-button-label": "Dogfennau", + "documents-not-available-label": "Nid yw dogfennau ar gael i'w llwytho i lawr ar hyn o bryd, gwiriwch yn nes ymlaen.", "documents-document-count-label": "Dogfennau", "documents-name-label": "Enw", "documents-doc-type-label": "Math o Ddogfen", diff --git a/locales/en/case.json b/locales/en/case.json index c8ae5e5a..e5ba50d7 100644 --- a/locales/en/case.json +++ b/locales/en/case.json @@ -45,6 +45,7 @@ "summary-event-date-label": "Event Date", "summary-decision-date-label": "Decision Date", "summary-documents-button-label": "Documents", + "documents-not-available-label": "Documents are not available for download at this time, please check later.", "documents-document-count-label": "Document(s)", "documents-name-label": "Name", "documents-doc-type-label": "Document type", diff --git a/pages/case/[ticketnumber].js b/pages/case/[ticketnumber].js index 8d978c88..ee903caa 100644 --- a/pages/case/[ticketnumber].js +++ b/pages/case/[ticketnumber].js @@ -207,6 +207,7 @@ export const getServerSideProps = wrapper.getServerSideProps( // searchDetailsObj: searchDetailsObj, // }, currentType: "directResultsObj", + docsOffline: process.env.DOCAPI_OFFLINE || false, }, }; } diff --git a/pages/case/id/[incident].js b/pages/case/id/[incident].js index 941f46dd..95ba6d39 100644 --- a/pages/case/id/[incident].js +++ b/pages/case/id/[incident].js @@ -212,6 +212,7 @@ export const getServerSideProps = wrapper.getServerSideProps( searchDetailsObj: searchDetailsObj, }, currentType: "directResultsObj", + docsOffline: process.env.DOCAPI_OFFLINE || false, }, }; } diff --git a/pages/myportal/case/[ticketnumber].js b/pages/myportal/case/[ticketnumber].js index d147a3b4..dd082036 100644 --- a/pages/myportal/case/[ticketnumber].js +++ b/pages/myportal/case/[ticketnumber].js @@ -339,6 +339,7 @@ export const getServerSideProps = wrapper.getServerSideProps( // searchDetailsObj: searchDetailsObj, // }, currentType: "directResultsObj", + docsOffline: process.env.DOCAPI_OFFLINE || false, }, }; } diff --git a/pages/myportal/case/id/[incident].js b/pages/myportal/case/id/[incident].js index 1c1f52c4..3df056ae 100644 --- a/pages/myportal/case/id/[incident].js +++ b/pages/myportal/case/id/[incident].js @@ -173,6 +173,7 @@ export const getServerSideProps = wrapper.getServerSideProps( searchDetailsObj: searchDetailsObj, }, currentType: "directResultsObj", + docsOffline: process.env.DOCAPI_OFFLINE || false, }, }; }