diff --git a/.env.local b/.env.local
index 7d13acc3..548fde8a 100644
--- a/.env.local
+++ b/.env.local
@@ -19,6 +19,7 @@ RELAY_ROOT = https://ar-ns-lz-pedw-dev-uks-01.servicebus.windows.net/ar-hc-lz-pe
RELAYURI = "ar-ns-lz-pedw-dev-uks-01.servicebus.windows.net"
RELAYPATH = "ar-hc-lz-pedw-dev-uks-01"
CRMURL = "devcrm2016.llcdt.gov.wales/DVPINS"
+CRMURL_VERSION = "v8.2"
# //New Test
CLIENT_ID = d40b9373-96c2-4b04-8bd8-c2a2fe6444c1
@@ -27,6 +28,7 @@ RELAY_ROOT = https://ar-ns-lz-pedw-test-uks-01.servicebus.windows.net/ar-hc-lz-p
RELAYURI = "ar-ns-lz-pedw-test-uks-01.servicebus.windows.net"
RELAYPATH = "ar-hc-lz-pedw-test-uks-01"
CRMURL = "tscrm2016.llcdt.gov.wales/UATPINS"
+CRMURL_VERSION = "v8.2"
# # //New PreProd
# CLIENT_ID = ab6c4678-b31a-4eb3-b429-e039120e488a
@@ -38,6 +40,7 @@ CRMURL = "tscrm2016.llcdt.gov.wales/UATPINS"
# # RELAYURI = "ar-ns-lz-pedw-ppe-ukw-01.servicebus.windows.net"
# # RELAYPATH = "ar-hc-lz-pedw-ppe-ukw-01"
# CRMURL = "ppcrm2016.llcdt.gov.wales/PPPINSWales"
+# CRMURL_VERSION = "v8.2"
# //Prod Oauth WGO
@@ -49,15 +52,55 @@ CRMURL = "tscrm2016.llcdt.gov.wales/UATPINS"
# CRMURL = "crm2016.llc.gov.wales/PEDW"
# //New Prod
-CLIENT_ID = 3e4141a3-1fbd-454e-98f0-7f3a4f14a3cc
-CLIENT_SECRET = tFk8Q~E.R-HFjROTu1sRKqwb_ONzy05uPYoF6awR
-RELAY_ROOT = https://ar-ns-lz-pedw-prod-uks-01.servicebus.windows.net/ar-hc-lz-pedw-prod-uks-01/
-RELAYURI = "ar-ns-lz-pedw-prod-uks-01.servicebus.windows.net"
-RELAYPATH = "ar-hc-lz-pedw-prod-uks-01"
-# RELAY_ROOT = https://ar-ns-lz-pedw-ppe-ukw-01.servicebus.windows.net/ar-hc-lz-pedw-prod-ukw-01/
-# RELAYURI = "ar-ns-lz-pedw-prod-ukw-01.servicebus.windows.net"
-# RELAYPATH = "ar-hc-lz-pedw-prod-ukw-01"
-CRMURL = "crm2016.llcdt.gov.wales/PEDW"
+# CLIENT_ID = 3e4141a3-1fbd-454e-98f0-7f3a4f14a3cc
+# CLIENT_SECRET = tFk8Q~E.R-HFjROTu1sRKqwb_ONzy05uPYoF6awR
+# RELAY_ROOT = https://ar-ns-lz-pedw-prod-uks-01.servicebus.windows.net/ar-hc-lz-pedw-prod-uks-01/
+# RELAYURI = "ar-ns-lz-pedw-prod-uks-01.servicebus.windows.net"
+# RELAYPATH = "ar-hc-lz-pedw-prod-uks-01"
+# # RELAY_ROOT = https://ar-ns-lz-pedw-ppe-ukw-01.servicebus.windows.net/ar-hc-lz-pedw-prod-ukw-01/
+# # RELAYURI = "ar-ns-lz-pedw-prod-ukw-01.servicebus.windows.net"
+# # RELAYPATH = "ar-hc-lz-pedw-prod-ukw-01"
+# CRMURL = "crm2016.llc.gov.wales/PEDW"
+# CRMURL_VERSION = "v8.2"
+
+
+
+# D365 cnr WGO
+# CLIENT_ID = 3125ac03-91ac-46a7-a166-0086f0ed90b3
+# CLIENT_SECRET = bFq8Q~9VX5Ra3lKnGGIXsB.G6-ZGMx7LqyqXjdr4
+# RELAY_ROOT = https://ar-ns-lz-pedw-d365cnr-uks-01.servicebus.windows.net/ar-hc-lz-pedw-d365cnr-uks-01/
+# RELAYURI = "ar-ns-lz-pedw-d365cnr-uks-01.servicebus.windows.net"
+# RELAYPATH = "ar-hc-lz-pedw-d365cnr-uks-01"
+# CRMURL = "dv-pedw.crm11.dynamics.com"
+# CRMURL_VERSION = "v9.2"
+
+# D365 Dev WGO
+# CLIENT_ID = 9b834097-03d7-409b-b038-ecfec31a394a
+# CLIENT_SECRET = .Jf8Q~tKMObCJjhh_hy3J5AIctFrBalU4FS~tdxk
+# RELAY_ROOT = https://ar-ns-lz-pedw-d365dev-uks-01.servicebus.windows.net/ar-hc-lz-pedw-d365dev-uks-01/
+# RELAYURI = "ar-ns-lz-pedw-d365dev-uks-01.servicebus.windows.net"
+# RELAYPATH = "ar-hc-lz-pedw-d365dev-uks-01"
+# CRMURL = "dv-pedw.crm11.dynamics.com"
+# CRMURL_VERSION = "v9.2"
+
+# D365 Test WGO
+# CLIENT_ID = d40b9373-96c2-4b04-8bd8-c2a2fe6444c1
+# CLIENT_SECRET = 6hT8Q~glL~jloWpGmvXw3UY37QFwjUE0r._jobEM
+# RELAY_ROOT = https://ar-ns-lz-pedw-d365test-uks-01.servicebus.windows.net/ar-hc-lz-pedw-d365test-uks-01/
+# RELAYURI = "ar-ns-lz-pedw-d365test-uks-01.servicebus.windows.net"
+# RELAYPATH = "ar-hc-lz-pedw-d365test-uks-01"
+# CRMURL = "ts-pedw.crm11.dynamics.com"
+# CRMURL_VERSION = "v9.2"
+
+# D365 PP WGO
+# CLIENT_ID = ab6c4678-b31a-4eb3-b429-e039120e488a
+# CLIENT_SECRET = V288Q~P1lFMvvX9Xnkx2pLixK~GOREH983Owqc1E
+# RELAY_ROOT = https://ar-ns-lz-pedw-d365ppe-uks-01.servicebus.windows.net/ar-hc-lz-pedw-d365ppe-uks-01/
+# RELAYURI = "ar-ns-lz-pedw-d365ppe-uks-01.servicebus.windows.net"
+# RELAYPATH = "ar-hc-lz-pedw-d365ppe-uks-01"
+# CRMURL = "wg-pp-pedw.crm11.dynamics.com"
+# CRMURL_VERSION = "v9.2"
+
//GOOGLE_TAG_MANAGER = GTM-T78CBC3
@@ -69,8 +112,8 @@ 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"
-DOCAPI_OFFLINE = "02:00:00,04:00:00"
+DOCAPI_OFFLINE = "07:00:00,14:00:00"
+# DOCAPI_OFFLINE = "01:00:00,04:00:00"
SHOWFILTERDOCS = true
@@ -84,7 +127,7 @@ DATABASE_URL = sqlserver://sql-srv-plt-pedw-cnr-uks-01.database.windows.net:1433
// dev test sql server
# DATABASE_URL = sqlserver://pedw-dev-test-sql-svr.database.windows.net:1433;database=PEDWDev;user=RobBondSQL;password=GhWKr62F5sQ69dZx;encrypt=true;trustServerCertificate=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;authentication=ActiveDirectoryPassword
-// DATABASE_URL = sqlserver://sql-srv-plt-pedw-dev-uks-01.database.windows.net:1433;database=PEDW;user=PedwSqlAdmin;password=GhWKr62F5sQ69dZx;encrypt=true;trustServerCertificate=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;authentication=ActiveDirectoryPassword
+ DATABASE_URL = sqlserver://sql-srv-plt-pedw-dev-uks-01.database.windows.net:1433;database=PEDW;user=PedwSqlAdmin;password=GhWKr62F5sQ69dZx;encrypt=true;trustServerCertificate=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;authentication=ActiveDirectoryPassword
// test sql server
DATABASE_URL = sqlserver://sql-srv-plt-pedw-test-uks-01.database.windows.net:1433;database=PEDW;user=PedwSqlAdmin;password=GhWKr62F5sQ69dZx;encrypt=true;trustServerCertificate=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;authentication=ActiveDirectoryPassword
@@ -97,7 +140,18 @@ DATABASE_URL = sqlserver://sql-srv-plt-pedw-cnr-uks-01.database.windows.net:1433
# DATABASE_URL = sqlserver://pp-pedw-sql.database.windows.net:1433;database=PEDWPreProd;user=RobBondSQL;password=GhWKr62F5sQ69dZx;encrypt=true;trustServerCertificate=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;authentication=ActiveDirectoryPassword
// Prod sql server
- DATABASE_URL = sqlserver://sql-srv-plt-pedw-prod-uks-01.database.windows.net:1433;database=PEDW;user=PedwSqlAdmin;password=GhWKr62F5sQ69dZx;encrypt=true;trustServerCertificate=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;authentication=ActiveDirectoryPassword
+# DATABASE_URL = sqlserver://sql-srv-plt-pedw-prod-uks-01.database.windows.net:1433;database=PEDW;user=PedwSqlAdmin;password=GhWKr62F5sQ69dZx;encrypt=true;trustServerCertificate=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;authentication=ActiveDirectoryPassword
+
+// D365 CNR sql server
+# DATABASE_URL = sqlserver://sql-srv-plt-pedw-d365cnr-uks-01.database.windows.net:1433;database=PEDW;user=PedwSqlAdmin;password=GhWKr62F5sQ69dZx;encrypt=true;trustServerCertificate=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;authentication=ActiveDirectoryPassword
+
+// D365 Test sql server
+# DATABASE_URL = sqlserver://sql-srv-plt-pedw-d365test-uks-01.database.windows.net:1433;database=PEDW;user=PedwSqlAdmin;password=GhWKr62F5sQ69dZx;encrypt=true;trustServerCertificate=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;authentication=ActiveDirectoryPassword
+
+
+// D365 PPE sql server
+# DATABASE_URL = sqlserver://sql-srv-plt-pedw-d365ppe-uks-01.database.windows.net:1433;database=PEDW;user=PedwSqlAdmin;password=GhWKr62F5sQ69dZx;encrypt=true;trustServerCertificate=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;authentication=ActiveDirectoryPassword
+
SECRET = SuperSecret
@@ -119,9 +173,9 @@ AZURE_STORAGE_ACCOUNT_KEY = MmrsrCjBfop9pI2oImsP/+lJUWU2DrXsAB8nq5bOVROTmPovSGxj
AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwdevuks.blob.core.windows.net
// New test key
-AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwtestuks"
-AZURE_STORAGE_ACCOUNT_KEY = bqJAz5pYQVGee8dnVhlsqW+xHwinNTjgY2AmojNyB+d4uAotMR20WcO4Op13yB+9dFaXAkkjtIA4+AStHT/IYg==
-AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwtestuks.blob.core.windows.net
+# AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwtestuks"
+# AZURE_STORAGE_ACCOUNT_KEY = 5NdDO9GGlbTFLHFOXZRw8H2C0Ow5bFTvHwUHEbStyzg2mbd1uwHSeBSvM/dkN+HfdwrFzqAkwL5P+AStdO6cig==
+# AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwtestuks.blob.core.windows.net
// New preprod key
# AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwppeuks"
@@ -135,9 +189,32 @@ AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwtestuks.blob.core.windows.net
# AZURE_PEDW_STORAGE_ENDPOINT = https://pedwprod.blob.core.windows.net
# // New PROD key
-AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwproduks"
-AZURE_STORAGE_ACCOUNT_KEY = OfV9MFqXcLLPam9GhEdMWadIOwIzhc5hd5TUqzIuQoswFdtV4ybaemjatSv+Kht0Ny1qQKjLplwY+AStUTZJrg==
-AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwproduks.blob.core.windows.net
+# AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwproduks"
+# AZURE_STORAGE_ACCOUNT_KEY = OfV9MFqXcLLPam9GhEdMWadIOwIzhc5hd5TUqzIuQoswFdtV4ybaemjatSv+Kht0Ny1qQKjLplwY+AStUTZJrg==
+# AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwproduks.blob.core.windows.net
+
+# D365 CNR key
+# AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwd365cnruks"
+# AZURE_STORAGE_ACCOUNT_KEY = nEwCp+4FuVf/9a4DOyKuQO2yRRV4Ypigg20ch1YaiL09YmEhWMEO5pNLpYtI3WnQCkIqeu1CUqwM+AStCLW01g==
+# AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwd365cnruks.blob.core.windows.net
+
+
+# D365 DEV key
+# AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwd365devuks"
+# AZURE_STORAGE_ACCOUNT_KEY = XzwQxuZXSwYrVgemDUD2ymTpYTIfWqhypbmEALw1ZEEP0M4D3b3Gh28clSymxwFu7Gu9mhwkW4/V+AStZ6RF8Q==
+# AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwd365devuks.blob.core.windows.net
+
+
+# D365 TEST key
+# AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwd365testuks"
+# AZURE_STORAGE_ACCOUNT_KEY = 5NdDO9GGlbTFLHFOXZRw8H2C0Ow5bFTvHwUHEbStyzg2mbd1uwHSeBSvM/dkN+HfdwrFzqAkwL5P+AStdO6cig==
+# AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwd365testuks.blob.core.windows.net
+
+
+# D365 PP key
+# AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwd365ppeuks"
+# AZURE_STORAGE_ACCOUNT_KEY = xQz4FWDnQDE09uPOCj1t7axRiquvZG9vbxL88ywzVsJnTsAgewrHnuAGkxGPBCp2xGE53ffYOme6+AStSr8OoQ==
+# AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwd365ppeuks.blob.core.windows.net
AZURE_PEDW_CONTAINER = "pedwapplications"
diff --git a/.gitignore b/.gitignore
index fbab4145..ad55dc2c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -45,6 +45,6 @@ public/swagger.json
certificates/cert-key.pem
certificates/cert.pem
gitclean.sh
-
-dockerfile
-Jenkinsfile
+pages/admin/logcheck.js
+pages/admin/logchecker.js
+pages/baracuda.html
diff --git a/actions/azurestorage.js b/actions/azurestorage.js
index f83b1850..b9280e4d 100644
--- a/actions/azurestorage.js
+++ b/actions/azurestorage.js
@@ -210,31 +210,31 @@ export const getBlobs = async (containerName, casefolderID) => {
"/api/file/downloadblob?container=" +
containerName +
"&casefolderID=" +
- casefolderID +
+ encodeURIComponent(casefolderID) +
"&blobname=" +
- blob.name,
+ encodeURIComponent(blob.name),
"hashedfilepath": hashAPIPath(
"/api/file/downloadblob?container=" +
containerName +
"&casefolderID=" +
- casefolderID +
+ encodeURIComponent(casefolderID) +
"&blobname=" +
- blob.name.split("/")[2]
+ encodeURIComponent(blob.name.split("/")[2])
),
"deletepath":
"/api/file/deleteblob?container=" +
containerName +
"&casefolderID=" +
- casefolderID +
+ encodeURIComponent(casefolderID) +
"&blobname=" +
- blob.name.split("/")[2],
+ encodeURIComponent(blob.name.split("/")[2]),
"hasheddeletepath": hashAPIPath(
"/api/file/deleteblob?container=" +
containerName +
"&casefolderID=" +
- casefolderID +
+ encodeURIComponent(casefolderID) +
"&blobname=" +
- blob.name.split("/")[2]
+ encodeURIComponent(blob.name.split("/")[2])
),
"hashgetblobs": hashAPIPath(
"/api/file/getbloblist?container=" +
@@ -432,7 +432,6 @@ export const createRepPDFBlob = async (
containerid: containerName,
caseID: caseID,
blobType: "Representation PDF",
- documentLocationId: whichLocation,
ishareLocation: whichLocation,
documentLocationId: whichLocation,
};
@@ -624,7 +623,6 @@ export const uploadFile = async (formContent, containerName, foldername) => {
caseID: foldername.split("/")[0],
documentType: files[prop][0].fieldName.split(".")[1],
blobType: "RepresentationFile",
- documentLocationId: whichLocation,
ishareLocation: whichLocation,
documentLocationId: whichLocation,
};
@@ -1244,17 +1242,17 @@ export const getProgressBlobs = async (containerName, caseReference) => {
"/api/file/downloadblob?container=" +
containerName +
"&casefolderID=" +
- caseReference +
+ encodeURIComponent(caseReference) +
"&blobname=" +
- blob.name.split("/")[1]
+ encodeURIComponent(blob.name.split("/")[1])
),
"hasheddeletepath": hashAPIPath(
"/api/file/deleteblob?container=" +
containerName +
"&casefolderID=" +
- caseReference +
+ encodeURIComponent(caseReference) +
"&blobname=" +
- blob.name.split("/")[1]
+ encodeURIComponent(blob.name.split("/")[1])
),
"hashgetblobs": hashAPIPath(
"/api/file/getbloblist?container=" +
@@ -1415,20 +1413,20 @@ export const getRepsFilesBlobs = async (
"/api/file/downloadblob?container=" +
containerName +
"&casefolderID=" +
- blob.name.split("/")[0] +
- "/" +
- blob.name.split("/")[1] +
+ encodeURIComponent(
+ blob.name.split("/")[0] + "/" + blob.name.split("/")[1]
+ ) +
"&blobname=" +
- blob.name.split("/")[3],
+ encodeURIComponent(blob.name.split("/")[3]),
"hashedfilepath": hashAPIPath(
"/api/file/downloadblob?container=" +
containerName +
"&casefolderID=" +
- blob.name.split("/")[0] +
- "/" +
- blob.name.split("/")[1] +
+ encodeURIComponent(
+ blob.name.split("/")[0] + "/" + blob.name.split("/")[1]
+ ) +
"&blobname=" +
- blob.name
+ encodeURIComponent(blob.name.split("/")[3])
),
"deletepath":
"/api/file/deleteblob?container=" +
@@ -1443,11 +1441,11 @@ export const getRepsFilesBlobs = async (
"/api/file/deleteblob?container=" +
containerName +
"&casefolderID=" +
- blob.name.split("/")[0] +
- "/" +
- blob.name.split("/")[1] +
+ encodeURIComponent(
+ blob.name.split("/")[0] + "/" + blob.name.split("/")[1]
+ ) +
"&blobname=" +
- blob.name.split("/")[3]
+ encodeURIComponent(blob.name.split("/")[3])
),
"hashgetblobs": hashAPIPath(
"/api/file/getbloblist?container=" +
@@ -1459,7 +1457,7 @@ export const getRepsFilesBlobs = async (
),
});
}
- //console.log("blobObj:", blobObj);
+ console.log("blobObj:", blobObj);
return blobObj;
};
diff --git a/actions/index.js b/actions/index.js
index 2fbe3561..f0fbafe0 100644
--- a/actions/index.js
+++ b/actions/index.js
@@ -389,7 +389,7 @@ export const getDNSCoords = () => {
});
};
-export const getDNSList = async (searchString) => {
+export const getDNSList = (searchString) => {
return axios
.get(BASE_URL + "/api/endpoint/getdnslist_api")
.then((res) => res.data)
@@ -544,23 +544,42 @@ export const getBasicSearchDetailsPaged = async (
appealTypeName,
caseReference,
primaryIdAttribute,
- incidentID
+ incidentIDs
) => {
- //console.log("check appealtype:", appealType, caseReference);
+ if (!incidentIDs || incidentIDs.length === 0) return [];
- return axios
- .get(
- "/api/endpoint/getbasicsearchdetailspaged_api?appealTypeName=" +
- appealTypeName +
- "&primaryIdAttribute=" +
- primaryIdAttribute +
- "&incidentID=" +
- incidentID
- )
- .then((res) => res.data)
- .catch((error) => {
- consoleLogger(error);
- });
+ console.log("=======", primaryIdAttribute);
+ // Build OData filter correctly
+ // const filter = incidentIDs
+ // .map((id) => `_${primaryIdAttribute}s_value eq ${id}`)
+ // .join(" or ");
+
+ const filter = incidentIDs
+ .map((id) => {
+ const suffix =
+ primaryIdAttribute === "pinswg_sipscase"
+ ? `_${primaryIdAttribute}_value`
+ : `_${primaryIdAttribute}s_value`;
+
+ return `${suffix} eq ${id}`;
+ })
+ .join(" or ");
+
+ const url = `/api/endpoint/getbasicsearchdetailspaged_api?appealTypeName=${appealTypeName}&primaryIdAttribute=${primaryIdAttribute}&incidentID=${encodeURIComponent(
+ filter
+ )}`;
+
+ console.log(
+ `Fetching ${incidentIDs.length} incidents for appeal type: ${appealTypeName}`
+ );
+
+ try {
+ const res = await axios.get(url);
+ return res.data.value || []; // ensure returning an array
+ } catch (error) {
+ consoleLogger(error);
+ return [];
+ }
};
export const getSearchDocumentDetails = (incidentID) => {
@@ -1507,10 +1526,9 @@ export const deleteMyRepresentationsFromBlob = (
export const deleteWatchedCases = async (watchedCaseID) => {
var queryUrl =
- "/api/endpoint/deletewatchedcasesproxy_api?watchedCaseID=" +
- watchedCaseID;
+ "/api/endpoint/deletewatchedcases_api?watchedCaseID=" + watchedCaseID;
var config = {
- method: "get",
+ method: "delete",
url: queryUrl,
};
@@ -1824,9 +1842,9 @@ export const deleteBlob = async (
"/api/file/deleteblob?container=" +
containerName +
"&casefolderID=" +
- casefolderID +
+ encodeURIComponent(casefolderID) +
"&blobname=" +
- blobName +
+ encodeURIComponent(blobName) +
deleteblobhash
);
return res.data;
@@ -1847,11 +1865,9 @@ export const deleteRepBlob = async (
"/api/file/deleteblob?container=" +
containerName +
"&casefolderID=" +
- casefolderID +
- "/" +
- filenamePrefix +
+ encodeURIComponent(casefolderID + "/" + filenamePrefix) +
"&blobname=" +
- blobName +
+ encodeURIComponent(blobName) +
deleteblobhash
);
return res.data;
@@ -1905,14 +1921,14 @@ export const getProgressFromBlob = async (containerName, casereference) => {
const res = await axios.get(
BASE_URL +
"/api/file/getprogressobjblob?container=" +
- containerName +
+ encodeURIComponent(containerName) +
"&casefolderID=" +
- casereference +
+ encodeURIComponent(casereference) +
hashAPIPath(
"/api/file/getprogressobjblob?container=" +
- containerName +
+ encodeURIComponent(containerName) +
"&casefolderID=" +
- casereference
+ encodeURIComponent(casereference)
)
);
return res.data;
@@ -2220,7 +2236,6 @@ export const getAppealPDFDocument = async (incidentid) => {
return error.response;
});
};
-
export const getNewAppeals = async (searchString) => {
try {
const res = await axios.get(BASE_URL + "/api/admin/getnewappeals_api");
@@ -2266,8 +2281,25 @@ export const getNewDocumentsPaged = async (
fieldSort,
showNumberOfRecords,
documentType,
+ documentOrigin,
selectedWeeks
) => {
+ console.log(
+ "/api/admin/getlatestdocuments_api?pageNumber=" +
+ pageNumber +
+ "&orderby=" +
+ orderBy +
+ "&fieldSort=" +
+ fieldSort +
+ "&showNumberOfRecords=" +
+ showNumberOfRecords +
+ "&documentType=" +
+ documentType +
+ "&numberWeeks=" +
+ selectedWeeks +
+ "&documentOrigin=" +
+ documentOrigin
+ );
return axios
.get(
"/api/admin/getlatestdocuments_api?pageNumber=" +
@@ -2281,7 +2313,9 @@ export const getNewDocumentsPaged = async (
"&documentType=" +
documentType +
"&numberWeeks=" +
- selectedWeeks
+ selectedWeeks +
+ "&documentOrigin=" +
+ documentOrigin
)
.then((res) => {
return res.data;
diff --git a/actions/selectQueryTypes.js b/actions/selectQueryTypes.js
index d72777a7..75a4a51c 100644
--- a/actions/selectQueryTypes.js
+++ b/actions/selectQueryTypes.js
@@ -4,7 +4,7 @@ export const getSelectQuery = (appealTypeName) => {
return "&$select=pinswg_detailedeiascreeningrequired,pinswg_speacialistcaseprocess,modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_procedure,pinswg_questionnaireduedate,statuscode,pinswg_startdateoftheevent,pinswg_typeofevent,pinswg_startdate,pinswg_otherpartiesstatement,pinswg_finalcommentsduedate,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_speacialistcaseprocess,pinswg_statementduedate";
break;
case "pinswg_callinss77s":
- return "&$select=pinswg_eiarequired,modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_procedure,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_questionnaireduedate,pinswg_startdate,statuscode,pinswg_dateexportedtoiss,pinswg_startdateofevent,pinswg_typeofevent,pinswg_statementsduedate";
+ return "&$select=pinswg_eiarequired,modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_procedure,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_questionnaireduedate,pinswg_startdate,statuscode,pinswg_dateexportedtoiss,pinswg_startdateofevent,pinswg_typeofevent,pinswg_statementsduedate,pinswg_otherpartiesstatement";
break;
case "pinswg_commonlands":
return "&$select=pinswg_detailedeiascreeningrequired,modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_otherpartiesstatement,pinswg_procedure,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_questionnaireduedate,pinswg_relevantauthorityname,pinswg_startdate,statuscode,pinswg_starttimeoftheevent,pinswg_typeofevent,pinswg_statementsduedate";
diff --git a/components/admin/tabs/accounts.js b/components/admin/tabs/accounts.js
index 97498248..8d802860 100644
--- a/components/admin/tabs/accounts.js
+++ b/components/admin/tabs/accounts.js
@@ -26,6 +26,8 @@ export default function AccountsTab({ userData }) {
>
{user.email}
+
+ {user.id}
Last accessed: {user.created}
diff --git a/components/admin/tabs/appeals.js b/components/admin/tabs/appeals.js
index ce39a05f..bfa2115e 100644
--- a/components/admin/tabs/appeals.js
+++ b/components/admin/tabs/appeals.js
@@ -221,7 +221,7 @@ function AppealsTab(props) {
resultsArr.map((item, key) => {
let detailsObj = jsonpath({
path:
- '$..value[?(@ && @.ticketnumber=="' +
+ '$..[?(@ && @.ticketnumber=="' +
item.ticketnumber +
'")]',
json: searchDetailsObj,
diff --git a/components/admin/tabs/documents.js b/components/admin/tabs/documents.js
index 23818da2..94bc359a 100644
--- a/components/admin/tabs/documents.js
+++ b/components/admin/tabs/documents.js
@@ -7,6 +7,9 @@ import { connect } from "react-redux";
import transLookup from "../../../data/lookuptranslations.json";
import { formatDates } from "../../utils";
import PaginationControl from "../../../components/case/pagination";
+import DocumentLink from "../../utils/downloads";
+import { useDownloadQueue } from "../../utils/downloadmanager";
+
import { sendGAEvent } from "@next/third-parties/google";
import {
@@ -170,6 +173,21 @@ const getDocumentTypes = [
},
];
+const getOrigin = [
+ {
+ "Value": 846040000,
+ "Label": "MDU",
+ },
+ {
+ "Value": 846040001,
+ "Label": "Portal",
+ },
+ {
+ "Value": 846040002,
+ "Label": "Manual",
+ },
+];
+
const DocumentsTab = (props) => {
let { t, lang } = useTranslation();
const firstRender = useRef(false);
@@ -189,12 +207,15 @@ const DocumentsTab = (props) => {
const { locale } = router;
var documentDetailsArr = documentDetailsObj || [];
-
+ const { startDownload, getStatus } = useDownloadQueue(3);
const [selectedOption, setSelectedOption] = useState(10);
const [selectedWeeks, setSelectedWeeks] = useState(1);
const [documentTypes, setDocumentTypes] = useState(getDocumentTypes);
+ const [documentOrigin, setDocumentOrigin] = useState(getOrigin);
const [selectedDocumentType, setSelectedDocumentType] = useState("all");
+ const [selectedDocumentOrigin, setSelectedDocumentOrigin] = useState("all");
const [selectAll, setSelectAll] = useState(false);
+ const [selectOriginAll, setSelectOriginAll] = useState(false);
const [checkedItems, setCheckedItems] = useState(
documentTypes.reduce((acc, item) => {
@@ -203,6 +224,13 @@ const DocumentsTab = (props) => {
}, {})
);
+ const [checkedOriginItems, setCheckedOriginItems] = useState(
+ documentOrigin.reduce((acc, item) => {
+ acc[item.pinswg_origin] = false;
+ return acc;
+ }, {})
+ );
+
const handleCheckboxChange = (e) => {
const { name, checked } = e.target;
@@ -213,6 +241,16 @@ const DocumentsTab = (props) => {
setSelectAll(false);
};
+ const handleCheckboxOriginChange = (e) => {
+ const { name, checked } = e.target;
+
+ setCheckedOriginItems((prev) => ({
+ ...prev,
+ [name]: checked,
+ }));
+ setSelectOriginAll(false);
+ };
+
const handleSelectAllChange = (e) => {
const { checked } = e.target;
setSelectAll(checked); // Set the 'Select All' state
@@ -230,16 +268,42 @@ const DocumentsTab = (props) => {
}
};
+ const handleSelectOriginAllChange = (e) => {
+ const { checked } = e.target;
+ setSelectOriginAll(checked); // Set the 'Select All' state
+ if (checked) {
+ // If 'Select All' is checked, check all the other checkboxes
+
+ setCheckedOriginItems(
+ documentOrigin.reduce((acc, item) => {
+ acc[item.pinswg_origin] = true;
+ return acc;
+ }, {})
+ );
+ } else {
+ clearCheckboxes();
+ }
+ };
+
const clearCheckboxes = () => {
setSelectAll(false);
+ setSelectOriginAll(false);
setCheckedItems(
documentTypes.reduce((acc, item) => {
acc[item.pinswg_isharedocumentlocations] = false;
return acc;
}, {}),
+
setSelectedDocumentType("all"),
setCurrentPage(1)
);
+ setCheckedOriginItems(
+ documentOrigin.reduce((acc, item) => {
+ acc["origin_" + item.pinswg_origin] = false;
+ return acc;
+ }, {}),
+ setSelectedDocumentOrigin("all")
+ );
};
let ShowDocLinks = false;
let checkShowDocLinks = docsOffline != false ? true : false;
@@ -314,6 +378,9 @@ const DocumentsTab = (props) => {
{t("search:clear-filter-button-label")}
+
+ Document Type
+
{" "}
<>
@@ -335,17 +402,6 @@ const DocumentsTab = (props) => {
{router.locale == "cy"
? "Pawb"
: "All"}{" "}
- - (
- {documentTypes.reduce(
- (accumulator, currentItem) => {
- return (
- accumulator +
- currentItem.count
- );
- },
- 0
- )}
- )
>
@@ -389,17 +445,105 @@ const DocumentsTab = (props) => {
);
})}
{" "}
+
+ Document Origin
+
+ {" "}