Compare commits
26
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d36a56c4c9 | ||
|
|
ebed61799e | ||
|
|
670e98a0a1 | ||
|
|
b6ca73d76a | ||
|
|
7713fc3724 | ||
|
|
33f31ad3c8 | ||
|
|
8e21ec1dd7 | ||
|
|
d05e54c020 | ||
|
|
a43eb76e3a | ||
|
|
011be977a2 | ||
|
|
e3614dba7b | ||
|
|
ecd6075c3a | ||
|
|
f3a05db323 | ||
|
|
ffcccf8981 | ||
|
|
783786b9eb | ||
|
|
20eea5b128 | ||
|
|
869264b7fa | ||
|
|
d0f667ffbb | ||
|
|
f8b7f4fffd | ||
|
|
21f511c34b | ||
|
|
7c4ce131bf | ||
|
|
ddbf2116f5 | ||
|
|
5233f62d59 | ||
|
|
5f78a881c5 | ||
|
|
7f7d4daa8f | ||
|
|
e9d4b65a3d |
+132
-41
@@ -18,8 +18,8 @@ CLIENT_SECRET = .Jf8Q~tKMObCJjhh_hy3J5AIctFrBalU4FS~tdxk
|
|||||||
RELAY_ROOT = https://ar-ns-lz-pedw-dev-uks-01.servicebus.windows.net/ar-hc-lz-pedw-dev-uks-01/
|
RELAY_ROOT = https://ar-ns-lz-pedw-dev-uks-01.servicebus.windows.net/ar-hc-lz-pedw-dev-uks-01/
|
||||||
RELAYURI = "ar-ns-lz-pedw-dev-uks-01.servicebus.windows.net"
|
RELAYURI = "ar-ns-lz-pedw-dev-uks-01.servicebus.windows.net"
|
||||||
RELAYPATH = "ar-hc-lz-pedw-dev-uks-01"
|
RELAYPATH = "ar-hc-lz-pedw-dev-uks-01"
|
||||||
CRMURL = "dv-pedw.crm11.dynamics.com"
|
CRMURL = "devcrm2016.llcdt.gov.wales/DVPINS"
|
||||||
CRMURL_VERSION = "v9.2"
|
CRMURL_VERSION = "v8.2"
|
||||||
|
|
||||||
# //New Test
|
# //New Test
|
||||||
CLIENT_ID = d40b9373-96c2-4b04-8bd8-c2a2fe6444c1
|
CLIENT_ID = d40b9373-96c2-4b04-8bd8-c2a2fe6444c1
|
||||||
@@ -33,13 +33,18 @@ CRMURL = "ts-pedw.crm11.dynamics.com"
|
|||||||
CRMURL_VERSION = "v9.2"
|
CRMURL_VERSION = "v9.2"
|
||||||
|
|
||||||
# //New PreProd
|
# //New PreProd
|
||||||
CLIENT_ID = ab6c4678-b31a-4eb3-b429-e039120e488a
|
# CLIENT_ID = ab6c4678-b31a-4eb3-b429-e039120e488a
|
||||||
CLIENT_SECRET = VWY8Q~9EtRzGXpd8Xs~5OS1fej2IyVJ8JgTMncw3
|
# CLIENT_SECRET = VWY8Q~9EtRzGXpd8Xs~5OS1fej2IyVJ8JgTMncw3
|
||||||
RELAY_ROOT = https://ar-ns-lz-pedw-ppe-uks-01.servicebus.windows.net/ar-hc-lz-pedw-ppe-uks-01/
|
# RELAY_ROOT = https://ar-ns-lz-pedw-ppe-uks-01.servicebus.windows.net/ar-hc-lz-pedw-ppe-uks-01/
|
||||||
RELAYURI = "ar-ns-lz-pedw-ppe-uks-01.servicebus.windows.net"
|
# RELAYURI = "ar-ns-lz-pedw-ppe-uks-01.servicebus.windows.net"
|
||||||
RELAYPATH = "ar-hc-lz-pedw-ppe-uks-01"
|
# RELAYPATH = "ar-hc-lz-pedw-ppe-uks-01"
|
||||||
CRMURL = "wg-pp-pedw.crm11.dynamics.com"
|
# # RELAY_ROOT = https://ar-ns-lz-pedw-ppe-ukw-01.servicebus.windows.net/ar-hc-lz-pedw-ppe-ukw-01/
|
||||||
CRMURL_VERSION = "v9.2"
|
# # 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"
|
||||||
|
# CRMURL = "wg-pp-pedw.crm11.dynamics.com"
|
||||||
|
# CRMURL_VERSION = "v9.2"
|
||||||
|
|
||||||
|
|
||||||
# //Prod Oauth WGO
|
# //Prod Oauth WGO
|
||||||
@@ -56,11 +61,61 @@ CRMURL_VERSION = "v9.2"
|
|||||||
# RELAY_ROOT = https://ar-ns-lz-pedw-prod-uks-01.servicebus.windows.net/ar-hc-lz-pedw-prod-uks-01/
|
# 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"
|
# RELAYURI = "ar-ns-lz-pedw-prod-uks-01.servicebus.windows.net"
|
||||||
# RELAYPATH = "ar-hc-lz-pedw-prod-uks-01"
|
# 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 = "crm2016.llc.gov.wales/PEDW"
|
||||||
# CRMURL_VERSION = "v8.2"
|
# 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"
|
||||||
|
|
||||||
|
# D365 Prod WGO
|
||||||
|
# CLIENT_ID = 3e4141a3-1fbd-454e-98f0-7f3a4f14a3cc
|
||||||
|
# CLIENT_SECRET = ULC8Q~fZiXm0.teVLlZ_7LjxBOj2vIsWSApu2bAq
|
||||||
|
# RELAY_ROOT = https://ar-ns-lz-pedw-d365prod-uks-01.servicebus.windows.net/ar-hc-lz-pedw-d365prod-uks-01/
|
||||||
|
# RELAYURI = "ar-ns-lz-pedw-d365prod-uks-01.servicebus.windows.net"
|
||||||
|
# RELAYPATH = "ar-hc-lz-pedw-d365prod-uks-01"
|
||||||
|
# CRMURL = "wg-prod-pedw.crm11.dynamics.com"
|
||||||
|
# CRMURL_VERSION = "v9.2"
|
||||||
|
|
||||||
|
|
||||||
|
//GOOGLE_TAG_MANAGER = GTM-T78CBC3
|
||||||
GOOGLE_TAG_MANAGER = G-GTWW3JT03Z
|
GOOGLE_TAG_MANAGER = G-GTWW3JT03Z
|
||||||
|
|
||||||
SHOWLOGIN = true
|
SHOWLOGIN = true
|
||||||
@@ -80,24 +135,38 @@ NEXTAUTH_URL = $API_ROOT
|
|||||||
NEXTAUTH_URL_INTERNAL = $API_ROOT
|
NEXTAUTH_URL_INTERNAL = $API_ROOT
|
||||||
NEXTAUTH_SECRET = SuperSecret
|
NEXTAUTH_SECRET = SuperSecret
|
||||||
|
|
||||||
# CNR sql server
|
// CNR sql server
|
||||||
# DATABASE_URL = sqlserver://sql-srv-plt-pedw-cnr-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-cnr-uks-01.database.windows.net:1433;database=PEDW;user=PedwSqlAdmin;password=GhWKr62F5sQ69dZx;encrypt=true;trustServerCertificate=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;authentication=ActiveDirectoryPassword
|
||||||
|
|
||||||
# dev test sql server
|
// dev test sql server
|
||||||
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
|
// 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
|
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
|
||||||
|
|
||||||
# Pre prod sql server
|
// Pre prod sql server
|
||||||
DATABASE_URL = sqlserver://sql-srv-plt-pedw-ppe-uks-01.database.windows.net:1433;database=PEDW;user=PedwSqlAdmin;password=GhWKr62F5sQ69dZx;encrypt=true;trustservercertificate=true;hostnameincertificate=*.database.windows.net;logintimeout=30;authentication=SqlPassword
|
# DATABASE_URL = sqlserver://sql-srv-plt-pedw-ppe-uks-01.database.windows.net:1433;database=PEDW;user=PedwSqlAdmin;password=GhWKr62F5sQ69dZx;encrypt=true;trustservercertificate=true;hostnameincertificate=*.database.windows.net;logintimeout=30;authentication=SqlPassword
|
||||||
|
|
||||||
# Prod sql server
|
// Prod sql server
|
||||||
# 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
|
# 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
|
// 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 Dev sql server
|
||||||
|
# DATABASE_URL = sqlserver://sql-srv-plt-pedw-d365dev-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
|
||||||
|
|
||||||
|
// D365 Prod sql server
|
||||||
|
# DATABASE_URL = sqlserver://sql-srv-plt-pedw-d365prod-uks-01.database.windows.net:1433;database=PEDW;user=PedwSqlAdmin;password=GhWKr62F5sQ69dZx;encrypt=true;trustServerCertificate=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;authentication=ActiveDirectoryPassword
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -105,31 +174,31 @@ SECRET = SuperSecret
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Azure Storage Account
|
//Azure Storage Account
|
||||||
AZURE_CLIENT_ID = $CLIENT_ID
|
AZURE_CLIENT_ID = $CLIENT_ID
|
||||||
AZURE_TENANT_ID = $TENANT
|
AZURE_TENANT_ID = $TENANT
|
||||||
AZURE_CLIENT_SECRET = $CLIENT_SECRET
|
AZURE_CLIENT_SECRET = $CLIENT_SECRET
|
||||||
|
|
||||||
# CNR key
|
// CNR key
|
||||||
AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwcnruks"
|
AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwcnruks"
|
||||||
AZURE_STORAGE_ACCOUNT_KEY = hRffHq4IwctpaTKdS/U33Xq6nyTDF1t++WJgIwsw7gzstktZin/rRwbTIAL9KKqesVsK7EHrTTG6+ASt4+7skw==
|
AZURE_STORAGE_ACCOUNT_KEY = hRffHq4IwctpaTKdS/U33Xq6nyTDF1t++WJgIwsw7gzstktZin/rRwbTIAL9KKqesVsK7EHrTTG6+ASt4+7skw==
|
||||||
AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwcnruks.blob.core.windows.net
|
AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwcnruks.blob.core.windows.net
|
||||||
|
|
||||||
# new dev key
|
// new dev key
|
||||||
AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwdevuks"
|
AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwdevuks"
|
||||||
AZURE_STORAGE_ACCOUNT_KEY = MmrsrCjBfop9pI2oImsP/+lJUWU2DrXsAB8nq5bOVROTmPovSGxjCjKw9+TAFr00k8WDUK9r6mVx+AStcMLyAA==
|
AZURE_STORAGE_ACCOUNT_KEY = MmrsrCjBfop9pI2oImsP/+lJUWU2DrXsAB8nq5bOVROTmPovSGxjCjKw9+TAFr00k8WDUK9r6mVx+AStcMLyAA==
|
||||||
AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwdevuks.blob.core.windows.net
|
AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwdevuks.blob.core.windows.net
|
||||||
|
|
||||||
# New test key
|
// New test key
|
||||||
AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwtestuks"
|
AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwtestuks"
|
||||||
# AZURE_STORAGE_ACCOUNT_KEY = 5NdDO9GGlbTFLHFOXZRw8H2C0Ow5bFTvHwUHEbStyzg2mbd1uwHSeBSvM/dkN+HfdwrFzqAkwL5P+AStdO6cig==
|
# AZURE_STORAGE_ACCOUNT_KEY = 5NdDO9GGlbTFLHFOXZRw8H2C0Ow5bFTvHwUHEbStyzg2mbd1uwHSeBSvM/dkN+HfdwrFzqAkwL5P+AStdO6cig==
|
||||||
AZURE_STORAGE_ACCOUNT_KEY = bqJAz5pYQVGee8dnVhlsqW+xHwinNTjgY2AmojNyB+d4uAotMR20WcO4Op13yB+9dFaXAkkjtIA4+AStHT/IYg==
|
AZURE_STORAGE_ACCOUNT_KEY = bqJAz5pYQVGee8dnVhlsqW+xHwinNTjgY2AmojNyB+d4uAotMR20WcO4Op13yB+9dFaXAkkjtIA4+AStHT/IYg==
|
||||||
AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwtestuks.blob.core.windows.net
|
AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwtestuks.blob.core.windows.net
|
||||||
|
|
||||||
# New preprod key
|
// New preprod key
|
||||||
AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwppeuks"
|
# AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwppeuks"
|
||||||
AZURE_STORAGE_ACCOUNT_KEY = B4GRKr+cA9b9mNM/GHFivzhzflJIZltG8bMmooXlYvGYySPAspTTHistAT30sHipnR+hh6dqUc9q+ASttAjPRQ==
|
# AZURE_STORAGE_ACCOUNT_KEY = B4GRKr+cA9b9mNM/GHFivzhzflJIZltG8bMmooXlYvGYySPAspTTHistAT30sHipnR+hh6dqUc9q+ASttAjPRQ==
|
||||||
AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwppeuks.blob.core.windows.net
|
# AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwppeuks.blob.core.windows.net
|
||||||
|
|
||||||
|
|
||||||
# PROD key
|
# PROD key
|
||||||
@@ -142,33 +211,59 @@ AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwppeuks.blob.core.windows.net
|
|||||||
# AZURE_STORAGE_ACCOUNT_KEY = OfV9MFqXcLLPam9GhEdMWadIOwIzhc5hd5TUqzIuQoswFdtV4ybaemjatSv+Kht0Ny1qQKjLplwY+AStUTZJrg==
|
# AZURE_STORAGE_ACCOUNT_KEY = OfV9MFqXcLLPam9GhEdMWadIOwIzhc5hd5TUqzIuQoswFdtV4ybaemjatSv+Kht0Ny1qQKjLplwY+AStUTZJrg==
|
||||||
# AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwproduks.blob.core.windows.net
|
# 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
|
||||||
|
|
||||||
|
# D365 Prod key
|
||||||
|
# AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwd365produks"
|
||||||
|
# AZURE_STORAGE_ACCOUNT_KEY = DvKcWhDpFKMFdVXFF2SqDG0sYQ3AkNCmJUBG0cvgzi5NBHS4Ahd2hPAlfA3hGi2EbohUag3vCucK+ASt1IdBhA==
|
||||||
|
# AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwd365produks.blob.core.windows.net
|
||||||
|
|
||||||
|
|
||||||
AZURE_PEDW_CONTAINER = "pedwapplications"
|
AZURE_PEDW_CONTAINER = "pedwapplications"
|
||||||
AZURE_PEDW_QUEUE_ENDPOINT = https://$AZURE_STORAGE_ACCOUNT_NAME.queue.core.windows.net
|
AZURE_PEDW_QUEUE_ENDPOINT = https://$AZURE_STORAGE_ACCOUNT_NAME.queue.core.windows.net
|
||||||
|
|
||||||
# gov.notify
|
//gov.notify
|
||||||
# NOTIFY_API_KEY = pedwnextauthkey-90f93710-9dae-423e-aea1-11eccd0dc132-0c9469d9-d671-444d-9e9d-3e5a62001043
|
//NOTIFY_API_KEY = pedwnextauthkey-90f93710-9dae-423e-aea1-11eccd0dc132-0c9469d9-d671-444d-9e9d-3e5a62001043
|
||||||
# NOTIFY_API_KEY = pedwnextauthlivekey-90f93710-9dae-423e-aea1-11eccd0dc132-5c0ed187-754a-4b04-8c99-978e5710c2c1
|
NOTIFY_API_KEY = pedwnextauthlivekey-90f93710-9dae-423e-aea1-11eccd0dc132-5c0ed187-754a-4b04-8c99-978e5710c2c1
|
||||||
NOTIFY_API_KEY = pedwnextauthlive01key-90f93710-9dae-423e-aea1-11eccd0dc132-72bfb1e1-c0b7-47cb-9887-3d47a4b11ad4
|
|
||||||
|
|
||||||
SHOW_DEBUG = true
|
SHOW_DEBUG = true
|
||||||
|
|
||||||
|
|
||||||
# DEV Connection string
|
// DEV Connection string
|
||||||
NEXT_PUBLIC_APP_INSIGHT = InstrumentationKey=4b7568b3-70bd-4591-9dc2-267c0a6501d1;IngestionEndpoint=https://ukwest-0.in.applicationinsights.azure.com/;LiveEndpoint=https://ukwest.livediagnostics.monitor.azure.com/;ApplicationId=447d38b5-5d40-4238-8fb3-0ef4741b3db1
|
//NEXT_PUBLIC_APP_INSIGHT = InstrumentationKey=4b7568b3-70bd-4591-9dc2-267c0a6501d1;IngestionEndpoint=https://ukwest-0.in.applicationinsights.azure.com/;LiveEndpoint=https://ukwest.livediagnostics.monitor.azure.com/;ApplicationId=447d38b5-5d40-4238-8fb3-0ef4741b3db1
|
||||||
|
|
||||||
|
|
||||||
APPLICATIONINSIGHTS_CONNECTIONSTRING = InstrumentationKey=7a06e24a-793c-47bc-8987-ce80f180e035;IngestionEndpoint=https://uksouth-1.in.applicationinsights.azure.com/;LiveEndpoint=https://uksouth.livediagnostics.monitor.azure.com/;ApplicationId=9906b6d0-b791-4add-8d53-c827a534e1d4
|
APPLICATIONINSIGHTS_CONNECTIONSTRING = InstrumentationKey=7a06e24a-793c-47bc-8987-ce80f180e035;IngestionEndpoint=https://uksouth-1.in.applicationinsights.azure.com/;LiveEndpoint=https://uksouth.livediagnostics.monitor.azure.com/;ApplicationId=9906b6d0-b791-4add-8d53-c827a534e1d4
|
||||||
|
|
||||||
# Test Connection string
|
|
||||||
|
// Test Connection string
|
||||||
NEXT_PUBLIC_APP_INSIGHT = InstrumentationKey=cc60e8e7-5b30-4c2b-a176-8b96b21b12df;IngestionEndpoint=https://ukwest-0.in.applicationinsights.azure.com/;LiveEndpoint=https://ukwest.livediagnostics.monitor.azure.com/;ApplicationId=2a4094be-6fd1-46ab-a67d-5f241692b129
|
NEXT_PUBLIC_APP_INSIGHT = InstrumentationKey=cc60e8e7-5b30-4c2b-a176-8b96b21b12df;IngestionEndpoint=https://ukwest-0.in.applicationinsights.azure.com/;LiveEndpoint=https://ukwest.livediagnostics.monitor.azure.com/;ApplicationId=2a4094be-6fd1-46ab-a67d-5f241692b129
|
||||||
|
|
||||||
# Preprod Connection string
|
// Preprod Connection string
|
||||||
# NEXT_PUBLIC_APP_INSIGHT = InstrumentationKey=7370f0f9-834d-4c7a-b3c4-9951fcad5ad2;IngestionEndpoint=https://ukwest-0.in.applicationinsights.azure.com/;LiveEndpoint=https://ukwest.livediagnostics.monitor.azure.com/;ApplicationId=04362cb7-6dfc-469e-8274-12243e8be851
|
//NEXT_PUBLIC_APP_INSIGHT = InstrumentationKey=7370f0f9-834d-4c7a-b3c4-9951fcad5ad2;IngestionEndpoint=https://ukwest-0.in.applicationinsights.azure.com/;LiveEndpoint=https://ukwest.livediagnostics.monitor.azure.com/;ApplicationId=04362cb7-6dfc-469e-8274-12243e8be851
|
||||||
|
|
||||||
# NEXT_PUBLIC_APP_INSIGHT = InstrumentationKey=a41b91bf-f7dc-4f44-bb66-a67df4eee435;IngestionEndpoint=https://uksouth-1.in.applicationinsights.azure.com/;LiveEndpoint=https://uksouth.livediagnostics.monitor.azure.com/;ApplicationId=473d0632-16f1-4065-8984-d6bac62402c0
|
NEXT_PUBLIC_APP_INSIGHT = InstrumentationKey=a41b91bf-f7dc-4f44-bb66-a67df4eee435;IngestionEndpoint=https://uksouth-1.in.applicationinsights.azure.com/;LiveEndpoint=https://uksouth.livediagnostics.monitor.azure.com/;ApplicationId=473d0632-16f1-4065-8984-d6bac62402c0
|
||||||
|
|
||||||
# Prod Connection string
|
// Prod Connection string
|
||||||
# NEXT_PUBLIC_APP_INSIGHT = InstrumentationKey=61f358c2-8075-4164-b897-17bc6dd31fee;IngestionEndpoint=https://ukwest-0.in.applicationinsights.azure.com/;LiveEndpoint=https://ukwest.livediagnostics.monitor.azure.com/;ApplicationId=0c297349-396b-4dc6-8b56-85f5c680adc6
|
//NEXT_PUBLIC_APP_INSIGHT = InstrumentationKey=61f358c2-8075-4164-b897-17bc6dd31fee;IngestionEndpoint=https://ukwest-0.in.applicationinsights.azure.com/;LiveEndpoint=https://ukwest.livediagnostics.monitor.azure.com/;ApplicationId=0c297349-396b-4dc6-8b56-85f5c680adc6
|
||||||
|
|
||||||
|
|
||||||
HIDEERRORLOGS = false
|
HIDEERRORLOGS = false
|
||||||
@@ -177,7 +272,3 @@ SHOWSIPS = true
|
|||||||
|
|
||||||
ALLOWED_IPS=::1,203.0.113.42,198.51.100.17
|
ALLOWED_IPS=::1,203.0.113.42,198.51.100.17
|
||||||
UPLOAD_BATCH_COUNT = 5
|
UPLOAD_BATCH_COUNT = 5
|
||||||
|
|
||||||
NRWDOMAIN = rdbmedia.co.uk
|
|
||||||
|
|
||||||
MAP_TARGET = pedw-dev
|
|
||||||
@@ -78,8 +78,6 @@ Minimum required before merge:
|
|||||||
|
|
||||||
- `.clinerules`
|
- `.clinerules`
|
||||||
- `CONTRIBUTING_AI.md`
|
- `CONTRIBUTING_AI.md`
|
||||||
- `context/implementation-governance.md`
|
|
||||||
- `context/maintainability-adoption-programme.md`
|
|
||||||
- `context/runbook.md`
|
- `context/runbook.md`
|
||||||
- `context/integration-map.md`
|
- `context/integration-map.md`
|
||||||
- `memory-bank/README.md`
|
- `memory-bank/README.md`
|
||||||
|
|||||||
+81
-57
@@ -1,7 +1,7 @@
|
|||||||
import { DefaultAzureCredential } from "@azure/identity";
|
import { DefaultAzureCredential } from "@azure/identity";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import { hashAPIPath, consoleLogger } from ".";
|
import { hashAPIPath, consoleLogger } from ".";
|
||||||
import { getDocumentTypeFromFilename, hasOwn } from "../components/utils";
|
import { getDocumentTypeFromFilename } from "../components/utils";
|
||||||
|
|
||||||
const {
|
const {
|
||||||
ContainerClient,
|
ContainerClient,
|
||||||
@@ -316,7 +316,7 @@ export const createBlob = async (formContent, containerName, caseref) => {
|
|||||||
formContent = JSON.parse(formContent);
|
formContent = JSON.parse(formContent);
|
||||||
let caseID = "";
|
let caseID = "";
|
||||||
|
|
||||||
caseID = hasOwn(formContent, "pinswg_name")
|
caseID = _.has(formContent, "pinswg_name")
|
||||||
? formContent.pinswg_name
|
? formContent.pinswg_name
|
||||||
: caseref;
|
: caseref;
|
||||||
|
|
||||||
@@ -476,19 +476,20 @@ export const createRepPDFBlob = async (
|
|||||||
? await blockBlobClient.uploadData(content)
|
? await blockBlobClient.uploadData(content)
|
||||||
: await blockBlobClient.uploadStream(content);
|
: await blockBlobClient.uploadStream(content);
|
||||||
|
|
||||||
const locationMap = [
|
let whichLocation =
|
||||||
{ key: "_IP_-_Comments_", value: "846040038" }, // most specific first
|
repName.indexOf("_IP_") > 0
|
||||||
{ key: "_IP_", value: "846040005" },
|
? "846040005"
|
||||||
{ key: "_Statement_", value: "846040002" },
|
: repName.indexOf("_Statement_") > 0
|
||||||
{ key: "_Questionnaire_", value: "846040001" },
|
? "846040002"
|
||||||
{ key: "_Comments", value: "846040003" },
|
: repName.indexOf("_Questionnaire_") > 0
|
||||||
{ key: "_Impact", value: "846040029" },
|
? "846040001"
|
||||||
{ key: "_Consultation_Response_", value: "846040036" }
|
: repName.indexOf("_Comments") > 0
|
||||||
];
|
? "846040003"
|
||||||
|
: repName.indexOf("_Impact") > 0
|
||||||
const whichLocation =
|
? "846040029"
|
||||||
locationMap.find((item) => repName.includes(item.key))?.value ||
|
: repName.indexOf("_Consultation_Response_") > 0
|
||||||
"846040002";
|
? "846040036"
|
||||||
|
: "846040002";
|
||||||
|
|
||||||
const tags = {
|
const tags = {
|
||||||
containerid: containerName,
|
containerid: containerName,
|
||||||
@@ -617,46 +618,71 @@ export const uploadFile = async (formContent, containerName, foldername) => {
|
|||||||
);
|
);
|
||||||
console.log(data);
|
console.log(data);
|
||||||
|
|
||||||
const fieldName = files[prop][0].fieldName;
|
let whichLocation =
|
||||||
|
files[prop][0].fieldName.indexOf("_Statement_of_Case") >
|
||||||
const whichLocation =
|
0 ||
|
||||||
[
|
files[prop][0].fieldName.indexOf("_-_Statement_of_Case") >
|
||||||
// 1️⃣ LPA docs (grouped)
|
0 ||
|
||||||
{
|
files[prop][0].fieldName.indexOf("_-_Application_Form") >
|
||||||
match: [
|
0 ||
|
||||||
"_Statement_of_Case",
|
files[prop][0].fieldName.indexOf(
|
||||||
"_-_Statement_of_Case",
|
"_-_Site_Ownership_Certificate"
|
||||||
"_-_Application_Form",
|
) > 0 ||
|
||||||
"_-_Site_Ownership_Certificate",
|
files[prop][0].fieldName.indexOf("_-_Decision_Notice") >
|
||||||
"_-_Decision_Notice",
|
0 ||
|
||||||
"_-_Site_Location_Plan",
|
files[prop][0].fieldName.indexOf("_-_Site_Location_Plan") >
|
||||||
"_-_Plans_Drawing_Documents",
|
0 ||
|
||||||
"_-_Additional_Plans_Drawings_Documents",
|
files[prop][0].fieldName.indexOf(
|
||||||
"_-_Design_and_Access_Statement",
|
"_-_Plans_Drawing_Documents"
|
||||||
"_-_NSB_LPA_Additional_Documents",
|
) > 0 ||
|
||||||
"_-_LPA_Correspondence",
|
files[prop][0].fieldName.indexOf(
|
||||||
"_-_LPA_Original_Permission",
|
"_-_Additional_Plans_Drawings_Documents"
|
||||||
"_-_LPA's_Registration_Letter",
|
) > 0 ||
|
||||||
"_-_Environmental_Statement",
|
files[prop][0].fieldName.indexOf(
|
||||||
"_-_Cost_of_Application",
|
"_-_Design_and_Access_Statement"
|
||||||
"_-_Other_Relevant_Material",
|
) > 0 ||
|
||||||
"_-_S106_Agreement_or_Unilateral_Undertaking"
|
files[prop][0].fieldName.indexOf(
|
||||||
],
|
"_-_NSB_LPA_Additional_Documents"
|
||||||
value: "846040000"
|
) > 0 ||
|
||||||
},
|
files[prop][0].fieldName.indexOf("_-_LPA_Correspondence") >
|
||||||
{ match: ["_IP_-_Comments_"], value: "846040038" },
|
0 ||
|
||||||
{
|
files[prop][0].fieldName.indexOf(
|
||||||
match: ["_Consultation_Response_"],
|
"_-_LPA_Original_Permission"
|
||||||
value: "846040036"
|
) > 0 ||
|
||||||
},
|
files[prop][0].fieldName.indexOf(
|
||||||
{ match: ["_Questionnaire_"], value: "846040001" },
|
"_-_LPA's_Registration_Letter"
|
||||||
{ match: ["_Statement_"], value: "846040002" },
|
) > 0 ||
|
||||||
{ match: ["_Comments_"], value: "846040003" },
|
files[prop][0].fieldName.indexOf(
|
||||||
{ match: ["_Impact_"], value: "846040001" },
|
+"_-_Environmental_Statement"
|
||||||
{ match: ["_IP_"], value: "846040005" }
|
) > 0 ||
|
||||||
].find((rule) =>
|
files[prop][0].fieldName.indexOf("_-_Cost_of_Application") >
|
||||||
rule.match.some((key) => fieldName.includes(key))
|
0 ||
|
||||||
)?.value || "846040000";
|
files[prop][0].fieldName.indexOf(
|
||||||
|
"_-_Other_Relevant_Material"
|
||||||
|
) > 0 ||
|
||||||
|
files[prop][0].fieldName.indexOf(
|
||||||
|
"_-_S106_Agreement_or_Unilateral_Undertaking" > 0
|
||||||
|
)
|
||||||
|
? "846040000"
|
||||||
|
: files[prop][0].fieldName.indexOf("_IP_") > 0
|
||||||
|
? "846040005"
|
||||||
|
: files[prop][0].fieldName.indexOf("_Statement_") > 0
|
||||||
|
? "846040002"
|
||||||
|
: files[prop][0].fieldName.indexOf(
|
||||||
|
"_Questionnaire_"
|
||||||
|
) > 0
|
||||||
|
? "846040001"
|
||||||
|
: files[prop][0].fieldName.indexOf("_Comments_") >
|
||||||
|
0
|
||||||
|
? "846040003"
|
||||||
|
: files[prop][0].fieldName.indexOf("_Impact_") >
|
||||||
|
0
|
||||||
|
? "846040001"
|
||||||
|
: files[prop][0].fieldName.indexOf(
|
||||||
|
"_Consultation_Response_"
|
||||||
|
) > 0
|
||||||
|
? "846040036"
|
||||||
|
: "846040000";
|
||||||
|
|
||||||
const tags = {
|
const tags = {
|
||||||
containerid: containerName,
|
containerid: containerName,
|
||||||
@@ -777,8 +803,6 @@ export const uploadSingleFile = async (
|
|||||||
/_Statement_of_Case|_-_Statement_of_Case|_-_Application_Form|_-_Site_Ownership_Certificate|_-_Decision_Notice|_-_Site_Location_Plan|_-_Plans_Drawing_Documents|_-_Additional_Plans_Drawings_Documents|_-_Design_and_Access_Statement|_-_NSB_LPA_Additional_Documents|_-_LPA_Correspondence|_-_LPA_Original_Permission|_-_LPA's_Registration_Letter|_-_Environmental_Statement|_-_Cost_of_Application|_-_Other_Relevant_Material|_-_S106_Agreement_or_Unilateral_Undertaking/,
|
/_Statement_of_Case|_-_Statement_of_Case|_-_Application_Form|_-_Site_Ownership_Certificate|_-_Decision_Notice|_-_Site_Location_Plan|_-_Plans_Drawing_Documents|_-_Additional_Plans_Drawings_Documents|_-_Design_and_Access_Statement|_-_NSB_LPA_Additional_Documents|_-_LPA_Correspondence|_-_LPA_Original_Permission|_-_LPA's_Registration_Letter|_-_Environmental_Statement|_-_Cost_of_Application|_-_Other_Relevant_Material|_-_S106_Agreement_or_Unilateral_Undertaking/,
|
||||||
value: "846040000"
|
value: "846040000"
|
||||||
},
|
},
|
||||||
|
|
||||||
{ pattern: /_IP_-_Comments_/, value: "846040038" },
|
|
||||||
{ pattern: /_IP_/, value: "846040005" },
|
{ pattern: /_IP_/, value: "846040005" },
|
||||||
{ pattern: /_Statement_/, value: "846040002" },
|
{ pattern: /_Statement_/, value: "846040002" },
|
||||||
{ pattern: /_Questionnaire_/, value: "846040001" },
|
{ pattern: /_Questionnaire_/, value: "846040001" },
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@ export const BASE_URL =
|
|||||||
? window.apiRoot
|
? window.apiRoot
|
||||||
: process.env.API_ROOT || `http://localhost:${port}`;
|
: process.env.API_ROOT || `http://localhost:${port}`;
|
||||||
|
|
||||||
export const API_PATH = "/api/data/v9.2/";
|
export const API_PATH = "/api/data/v8.2/";
|
||||||
|
|
||||||
export const WEBAPI_URL =
|
export const WEBAPI_URL =
|
||||||
process.env.RELAY_ROOT ||
|
process.env.RELAY_ROOT ||
|
||||||
|
|||||||
+32
-26
@@ -1,4 +1,4 @@
|
|||||||
import { hasOwn } from "../../components/utils";
|
import _ from "lodash";
|
||||||
|
|
||||||
const MASK = "[REDACTED]";
|
const MASK = "[REDACTED]";
|
||||||
|
|
||||||
@@ -50,38 +50,44 @@ export const consoleLogger = (err) => {
|
|||||||
redactSensitive(err) +
|
redactSensitive(err) +
|
||||||
"\n\n/////////////////////////////////////////////////\n"
|
"\n\n/////////////////////////////////////////////////\n"
|
||||||
);
|
);
|
||||||
|
var errStr =
|
||||||
const errStr =
|
"\n\n/////////////////////////////////////////////////\nServer Error " +
|
||||||
"\n\n/////////////////////////////////////////////////\nServer Error\n" +
|
"\n" +
|
||||||
(hasOwn(err, "name") ? `Name: ${err.name}\n` : "") +
|
(_.has(err, "name") ? "Name: " + err.name + "\n" : "") +
|
||||||
(hasOwn(err, "code") ? `Code: ${err.code}\n` : "") +
|
(_.has(err, "code") ? "Code: " + err.code + "\n" : "") +
|
||||||
(hasOwn(err, "query") ? `Query: ${err.query}\n` : "") +
|
(_.has(err, "query") ? "Query: " + err.query + "\n" : "") +
|
||||||
(hasOwn(err, "message") ? `Message: ${err.message}\n` : "") +
|
(_.has(err, "message") ? "Message: " + err.message + "\n" : "") +
|
||||||
(err?.request?.url ? `request.url: ${err.request.url}\n` : "") +
|
(_.has(err, "request.url")
|
||||||
(err?.response?.status ? `Status: ${err.response.status}\n` : "") +
|
? "request.url: " + err.request.url + "\n"
|
||||||
(err?.response?.statusText
|
|
||||||
? `StatusText: ${err.response.statusText}\n`
|
|
||||||
: "") +
|
: "") +
|
||||||
(err?.response?.request?.socket?.remoteAddress
|
(_.has(err, "response.status") ? "Status: " + err.code + "\n" : "") +
|
||||||
? `Request IP: ${err.response.request.socket.remoteAddress}\n`
|
(_.has(err, "response.statusText")
|
||||||
|
? "\nStatusText: " + err.response.status + "\n"
|
||||||
: "") +
|
: "") +
|
||||||
(err?.response?.data?.error?.message
|
(_.has(err, "response.request.socket.remoteAddress")
|
||||||
? `Message: ${redactSensitive(err.response.data.error.message)}\n`
|
? "\nRequest IP: " +
|
||||||
|
err.response.request.socket.remoteAddress +
|
||||||
|
"\n"
|
||||||
: "") +
|
: "") +
|
||||||
(err?.response?.config?.url
|
(_.has(err, "response.data.error.message")
|
||||||
? `Request URL: ${redactSensitive(err.response.config.url)}\n`
|
? "\nMessage: " +
|
||||||
|
redactSensitive(err.response.data.error.message) +
|
||||||
|
"\n"
|
||||||
: "") +
|
: "") +
|
||||||
(err?.response?.headers?.date
|
(_.has(err, "response.config.url")
|
||||||
? `Request Time: ${err.response.headers.date}\n`
|
? "\nRequest URL: " + redactSensitive(err.config.url) + "\n"
|
||||||
: "") +
|
: "") +
|
||||||
(err?.config?.url
|
(_.has(err, "response.headers.date")
|
||||||
? `Axios config url: ${redactSensitive(err.config.url)}\n`
|
? "\nRequest Time: " + err.response.headers.date + "\n"
|
||||||
: "") +
|
: "") +
|
||||||
(err?.message
|
(_.has(err, "config.url")
|
||||||
? `Axios message: ${redactSensitive(err.message)}\n`
|
? "\nAxios config url: " + redactSensitive(err.config.url) + "\n"
|
||||||
: "") +
|
: "") +
|
||||||
(err?.config?.data
|
(_.has(err, "config.url")
|
||||||
? `Request payload: ${redactSensitive(err.config.data)}\n`
|
? "\nAxios message url: " + redactSensitive(err.message) + "\n"
|
||||||
|
: "") +
|
||||||
|
(_.has(err, "config.data")
|
||||||
|
? "\nRequest payload: " + redactSensitive(err.config.data) + "\n"
|
||||||
: "") +
|
: "") +
|
||||||
"\n/////////////////////////////////////////////////\n";
|
"\n/////////////////////////////////////////////////\n";
|
||||||
|
|
||||||
|
|||||||
@@ -28,13 +28,13 @@ export const getSelectQuery = (appealTypeName) => {
|
|||||||
return "&$select=pinswg_detailedeiascreening,modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_otherpartiesstatement,pinswg_procedure,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_questionnaireduedate,pinswg_relevantauthorityname,pinswg_startdate,statuscode,pinswg_startdateoftheevent,pinswg_typeofevent,pinswg_statementduedate";
|
return "&$select=pinswg_detailedeiascreening,modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_otherpartiesstatement,pinswg_procedure,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_questionnaireduedate,pinswg_relevantauthorityname,pinswg_startdate,statuscode,pinswg_startdateoftheevent,pinswg_typeofevent,pinswg_statementduedate";
|
||||||
break;
|
break;
|
||||||
case "pinswg_dnses":
|
case "pinswg_dnses":
|
||||||
return "&$select=pinswg_eiarequired,pinswg_anticipatedgridreferenceeastingtext,pinswg_anticipatedgridreferencenorthingtext,_pinswg_appellant_value,pinswg_name,pinswg_addressline1,pinswg_addressline2,pinswg_postcode,pinswg_addresstown,_pinswg_associatedlpa_value,pinswg_addresscounty,pinswg_applicationacceptedasvalid,pinswg_applicationrejectedasinvalid,pinswg_choiceofprocedure,pinswg_confirmrequesttovaryapplication,pinswg_dateeventrequested,pinswg_dateofdecision,pinswg_dateofrequesttovarytheapplication,pinswg_dateofsubmissionofapplication,pinswg_dateprojectpublishedonwebsite,pinswg_deadlineforsubmissionofapplication,pinswg_decision,pinswg_endofrepresentationperiod,pinswg_inspectorreportsubmittedtowelshgovernment,pinswg_procedureconfirmed,pinswg_projectdescription,pinswg_projectlocation,pinswg_recommendation,pinswg_rejectrequesttovaryapplication,pinswg_reportdueby,pinswg_suspensiondates,pinswg_suspensionenddates,pinswg_suspensionstartdates,pinswg_validnoticeofintentiontosubmitanapplicati,pinswg_webaddress,pinswg_withdrawndate,pinswg_writtenacceptanceofnotification,statuscode,_pinswg_dnsids_value,pinswg_startdateofevent,pinswg_typeofevent";
|
return "&$select=pinswg_eiarequired,pinswg_anticipatedgridreferenceeastingtext,pinswg_anticipatedgridreferencenorthingtext,_pinswg_appellant_value,pinswg_name,pinswg_addressline1,pinswg_addressline2,pinswg_postcode,pinswg_addresstown,_pinswg_associatedlpa_value,pinswg_addresscounty,pinswg_applicationacceptedasvalid,pinswg_applicationrejectedasinvalid,pinswg_choiceofprocedure,pinswg_confirmrequesttovaryapplication,pinswg_dateeventrequested,pinswg_dateofdecision,pinswg_dateofrequesttovarytheapplication,pinswg_dateofsubmissionofapplication,pinswg_dateprojectpublishedonwebsite,pinswg_deadlineforsubmissionofapplication,pinswg_decision,pinswg_endofrepresentationperiod,pinswg_inspectorreportsubmittedtowelshgovernment,pinswg_procedureconfirmed,pinswg_projectdescription,pinswg_projectlocation,pinswg_recommendation,pinswg_rejectrequesttovaryapplication,pinswg_reportdueby,pinswg_suspensiondates,pinswg_suspensionenddates,pinswg_suspensionstartdates,pinswg_validnoticeofintentiontosubmitanapplicati,pinswg_webaddress,pinswg_withdrawndate,pinswg_writtenacceptanceofnotification,statuscode,pinswg_casestage,_pinswg_dnsids_value,pinswg_startdateofevent,pinswg_typeofevent";
|
||||||
break;
|
break;
|
||||||
case "pinswg_electricityacts":
|
case "pinswg_electricityacts":
|
||||||
return "&$select=pinswg_eiarequired,modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_addressline1,pinswg_addressline2,pinswg_postcode,pinswg_addresstown,_pinswg_associatedlpa_value,pinswg_applicationacceptedasvalid,pinswg_applicationrejectedasinvalid,pinswg_confirmrequesttovaryapplication,pinswg_dateeventrequested,pinswg_dateofrequesttovarytheapplication,pinswg_dateofsubmissionofapplication,pinswg_dateprojectpublishedonwebsite,pinswg_deadlineforsubmissionofapplication,pinswg_decision,pinswg_endofrepresentationperiod,pinswg_inspectorreportsubmittedtowelshgovernment,pinswg_procedureconfirmed,pinswg_projectlocation,pinswg_recommendation,pinswg_rejectrequesttovaryapplication,pinswg_reportdueby,pinswg_suspensiondates,pinswg_validnoticeofintentiontosubmitanapplicati,pinswg_webaddress,pinswg_withdrawndate,pinswg_writtenacceptanceofnotification,statuscode,pinswg_startdateofevent,pinswg_typeofevent";
|
return "&$select=pinswg_eiarequired,modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_addressline1,pinswg_addressline2,pinswg_postcode,pinswg_addresstown,_pinswg_associatedlpa_value,pinswg_applicationacceptedasvalid,pinswg_applicationrejectedasinvalid,pinswg_confirmrequesttovaryapplication,pinswg_dateeventrequested,pinswg_dateofrequesttovarytheapplication,pinswg_dateofsubmissionofapplication,pinswg_dateprojectpublishedonwebsite,pinswg_deadlineforsubmissionofapplication,pinswg_decision,pinswg_endofrepresentationperiod,pinswg_inspectorreportsubmittedtowelshgovernment,pinswg_procedureconfirmed,pinswg_projectlocation,pinswg_recommendation,pinswg_rejectrequesttovaryapplication,pinswg_reportdueby,pinswg_suspensiondates,pinswg_validnoticeofintentiontosubmitanapplicati,pinswg_webaddress,pinswg_withdrawndate,pinswg_writtenacceptanceofnotification,statuscode,pinswg_startdateofevent,pinswg_typeofevent";
|
||||||
break;
|
break;
|
||||||
case "pinswg_harbourrevisionorders":
|
case "pinswg_harbourrevisionorders":
|
||||||
return "&$select=pinswg_eiarequired,pinswg_anticipatedgridreferenceeastingtext,pinswg_anticipatedgridreferencenorthingtext,_pinswg_appellant_value,pinswg_name,pinswg_addressline1,pinswg_addressline2,pinswg_postcode,pinswg_addresstown,_pinswg_associatedlpa_value,pinswg_addresscounty,pinswg_applicationacceptedasvalid,pinswg_applicationrejectedasinvalid,pinswg_choiceofprocedure,pinswg_confirmrequesttovaryapplication,pinswg_dateeventrequested,pinswg_dateofdecision,pinswg_dateofrequesttovarytheapplication,pinswg_dateofsubmissionofapplication,pinswg_dateprojectpublishedonwebsite,pinswg_deadlineforsubmissionofapplication,pinswg_decision,pinswg_endofrepresentationperiod,pinswg_inspectorreportsubmittedtowelshgovernment,pinswg_procedureconfirmed,pinswg_projectdiscription,pinswg_projectlocation,pinswg_recommendation,pinswg_rejectrequesttovaryapplication,pinswg_reportdueby,pinswg_suspensiondates,pinswg_suspensionenddates,pinswg_suspensionstartdate,pinswg_validnoticeofintentiontosubmitanapplicati,pinswg_webaddress,pinswg_withdrawndate,pinswg_writtenacceptanceofnotification,statuscode,pinswg_startdateofevent,pinswg_typeofevent";
|
return "&$select=pinswg_eiarequired,pinswg_anticipatedgridreferenceeastingtext,pinswg_anticipatedgridreferencenorthingtext,_pinswg_appellant_value,pinswg_name,pinswg_addressline1,pinswg_addressline2,pinswg_postcode,pinswg_addresstown,_pinswg_associatedlpa_value,pinswg_addresscounty,pinswg_applicationacceptedasvalid,pinswg_applicationrejectedasinvalid,pinswg_choiceofprocedure,pinswg_confirmrequesttovaryapplication,pinswg_dateeventrequested,pinswg_dateofdecision,pinswg_dateofrequesttovarytheapplication,pinswg_dateofsubmissionofapplication,pinswg_dateprojectpublishedonwebsite,pinswg_deadlineforsubmissionofapplication,pinswg_decision,pinswg_endofrepresentationperiod,pinswg_inspectorreportsubmittedtowelshgovernment,pinswg_procedureconfirmed,pinswg_projectdiscription,pinswg_projectlocation,pinswg_recommendation,pinswg_rejectrequesttovaryapplication,pinswg_reportdueby,pinswg_suspensiondates,pinswg_suspensionenddates,pinswg_suspensionstartdate,pinswg_validnoticeofintentiontosubmitanapplicati,pinswg_webaddress,pinswg_withdrawndate,pinswg_writtenacceptanceofnotification,statuscode,pinswg_casestage,pinswg_startdateofevent,pinswg_typeofevent";
|
||||||
break;
|
break;
|
||||||
case "pinswg_householderappealhases":
|
case "pinswg_householderappealhases":
|
||||||
return "&$select=pinswg_eiarequired,modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_otherpartiesstmt,pinswg_procedure,pinswg_questionnaireduedate,pinswg_startdate,pinswg_statementduedate,statuscode";
|
return "&$select=pinswg_eiarequired,modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_otherpartiesstmt,pinswg_procedure,pinswg_questionnaireduedate,pinswg_startdate,pinswg_statementduedate,statuscode";
|
||||||
@@ -79,10 +79,10 @@ export const getSelectQuery = (appealTypeName) => {
|
|||||||
return "&$select=modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,statuscode";
|
return "&$select=modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,statuscode";
|
||||||
break;
|
break;
|
||||||
case "pinswg_transportandworkacts":
|
case "pinswg_transportandworkacts":
|
||||||
return "&$select=pinswg_eiarequired,pinswg_anticipatedgridreferenceeastingtext,pinswg_anticipatedgridreferencenorthingtext,_pinswg_appellant_value,pinswg_name,pinswg_addressline1,pinswg_addressline2,pinswg_postcode,pinswg_addresstown,_pinswg_associatedlpa_value,pinswg_addresscounty,pinswg_applicationacceptedasvalid,pinswg_applicationrejectedasinvalid,pinswg_choiceofprocedure,pinswg_confirmrequesttovaryapplication,pinswg_dateeventrequested,pinswg_dateofdecision,pinswg_dateofrequesttovarytheapplication,pinswg_dateofsubmissionofapplication,pinswg_dateprojectpublishedonwebsite,pinswg_deadlineforsubmissionofapplication,pinswg_endofrepresentationperiod,pinswg_inspectorreportsubmittedtowelshgovernment,pinswg_procedureconfirmed,pinswg_projectdescription,pinswg_projectlocation,pinswg_recommendation,pinswg_rejectrequesttovaryapplication,pinswg_reportdueby,pinswg_suspensiondates,pinswg_suspensionenddates,pinswg_suspensionstartdate,pinswg_validnoticeofintentiontosubmitanapplicati,pinswg_webaddress,pinswg_withdrawndate,pinswg_writtenacceptanceofnotification,statuscode,pinswg_startdateofevent,pinswg_typeofevent";
|
return "&$select=pinswg_eiarequired,pinswg_anticipatedgridreferenceeastingtext,pinswg_anticipatedgridreferencenorthingtext,_pinswg_appellant_value,pinswg_name,pinswg_addressline1,pinswg_addressline2,pinswg_postcode,pinswg_addresstown,_pinswg_associatedlpa_value,pinswg_addresscounty,pinswg_applicationacceptedasvalid,pinswg_applicationrejectedasinvalid,pinswg_choiceofprocedure,pinswg_confirmrequesttovaryapplication,pinswg_dateeventrequested,pinswg_dateofdecision,pinswg_dateofrequesttovarytheapplication,pinswg_dateofsubmissionofapplication,pinswg_dateprojectpublishedonwebsite,pinswg_deadlineforsubmissionofapplication,pinswg_endofrepresentationperiod,pinswg_inspectorreportsubmittedtowelshgovernment,pinswg_procedureconfirmed,pinswg_projectdescription,pinswg_projectlocation,pinswg_recommendation,pinswg_rejectrequesttovaryapplication,pinswg_reportdueby,pinswg_suspensiondates,pinswg_suspensionenddates,pinswg_suspensionstartdate,pinswg_validnoticeofintentiontosubmitanapplicati,pinswg_webaddress,pinswg_withdrawndate,pinswg_writtenacceptanceofnotification,statuscode,pinswg_casestage,pinswg_startdateofevent,pinswg_typeofevent";
|
||||||
case "pinswg_sipses":
|
case "pinswg_sipses":
|
||||||
// return "&$select=pinswg_anticipatedgridreferenceeastingtext,pinswg_anticipatedgridreferencenorthingtext,_pinswg_appellant_value,pinswg_name,pinswg_addressline1,pinswg_addressline2,pinswg_postcode,pinswg_addresstown,_pinswg_associatedlpa_value,pinswg_addresscounty,pinswg_applicationacceptedasvalid,pinswg_applicationrejectedasinvalid,pinswg_choiceofprocedure,pinswg_confirmrequesttovaryapplication,pinswg_dateeventrequested,pinswg_dateofdecision,pinswg_dateofrequesttovarytheapplication,pinswg_dateofsubmissionofapplication,pinswg_dateprojectpublishedonwebsite,pinswg_deadlineforsubmissionofapplication,pinswg_decision,pinswg_endofrepresentationperiod,pinswg_inspectorreportsubmittedtowelshgovernment,pinswg_procedureconfirmed,pinswg_projectdescription,pinswg_projectlocation,pinswg_recommendation,pinswg_rejectrequesttovaryapplication,pinswg_reportdueby,pinswg_suspensiondates,pinswg_suspensionenddates,pinswg_suspensionstartdates,pinswg_validnoticeofintentiontosubmitanapplicati,pinswg_webaddress,pinswg_withdrawndate,pinswg_writtenacceptanceofnotification,statuscode,_pinswg_dnsids_value,pinswg_startdateofevent,pinswg_typeofevent";
|
// return "&$select=pinswg_anticipatedgridreferenceeastingtext,pinswg_anticipatedgridreferencenorthingtext,_pinswg_appellant_value,pinswg_name,pinswg_addressline1,pinswg_addressline2,pinswg_postcode,pinswg_addresstown,_pinswg_associatedlpa_value,pinswg_addresscounty,pinswg_applicationacceptedasvalid,pinswg_applicationrejectedasinvalid,pinswg_choiceofprocedure,pinswg_confirmrequesttovaryapplication,pinswg_dateeventrequested,pinswg_dateofdecision,pinswg_dateofrequesttovarytheapplication,pinswg_dateofsubmissionofapplication,pinswg_dateprojectpublishedonwebsite,pinswg_deadlineforsubmissionofapplication,pinswg_decision,pinswg_endofrepresentationperiod,pinswg_inspectorreportsubmittedtowelshgovernment,pinswg_procedureconfirmed,pinswg_projectdescription,pinswg_projectlocation,pinswg_recommendation,pinswg_rejectrequesttovaryapplication,pinswg_reportdueby,pinswg_suspensiondates,pinswg_suspensionenddates,pinswg_suspensionstartdates,pinswg_validnoticeofintentiontosubmitanapplicati,pinswg_webaddress,pinswg_withdrawndate,pinswg_writtenacceptanceofnotification,statuscode,pinswg_casestage,_pinswg_dnsids_value,pinswg_startdateofevent,pinswg_typeofevent";
|
||||||
return "&$select=pinswg_casedeadline,pinswg_sipseiarequired,pinswg_anticipatedgridrefeasting,pinswg_anticipatedgridrefnorthing,_pinswg_appellant_value,pinswg_name,_pinswg_associatedlpa_value,pinswg_choiceofprocedure,pinswg_decision,pinswg_projectdescription,pinswg_projectlocation,pinswg_recommendation,statuscode,_pinswg_sipscase_value,pinswg_writtenacceptanceofnotification,pinswg_validnoticeofintentiontosubmit,pinswg_deadlineforsubmissionofapplication,pinswg_screeningstartdate,pinswg_eiatargetdate,pinswg_targetextended,pinswg_directionissueddate,pinswg_scopingstartdate,pinswg_scopingtargetdate,pinswg_scopingtargetextended,pinswg_scopingoutcomeissueddate,pinswg_essubmitted,pinswg_deemedmarinelicenseappliedfor,pinswg_validationdeadlineextension,pinswg_consultationopen,pinswg_consultationclose,pinswg_reportissuedtowelshministers,pinswg_decisionissuedtoapplicant,pinswg_decisionoutcome,pinswg_redetermination,pinswg_redeterminationconsultationdeadline,pinswg_reportdeadline,pinswg_casesubmissiondate,pinswg_preexaminationmeetingneeded,pinswg_consultaionpublicitydeadline,pinswg_endofexaminationstartofreporting,pinswg_compulsoryacquisitionvariationsubmitted,pinswg_compulsoryacquisitionvariationaccepted,pinswg_schemeorderamendmentrequestaccepted,pinswg_schemeorderamendmentrequestsubmitted";
|
return "&$select=_pinswg_projecttype_value,pinswg_eiarequired,pinswg_anticipatedgridrefeasting,pinswg_anticipatedgridrefnorthing,_pinswg_appellant_value,pinswg_name,_pinswg_associatedlpa_value,pinswg_choiceofprocedure,pinswg_decision,pinswg_projectdescription,pinswg_projectlocation,pinswg_recommendation,statuscode,pinswg_casestage,_pinswg_sipscase_value,pinswg_writtenacceptanceofnotification,pinswg_validnoticeofintentiontosubmit,pinswg_deadlineforsubmissionofapplication,pinswg_screeningstartdate,pinswg_eiatargetdate,pinswg_targetextended,pinswg_directionissueddate,pinswg_eiarequired,pinswg_scopingstartdate,pinswg_scopingtargetdate,pinswg_scopingtargetextended,pinswg_scopingoutcomeissueddate,pinswg_essubmitted,pinswg_deemedmarinelicenseappliedfor,pinswg_validationdeadlineextension,pinswg_casesuspensionstartdate,pinswg_casesuspensionenddate,pinswg_consultationopen,pinswg_consultationclose,pinswg_reportissuedtowelshministers,pinswg_decisionissuedtoapplicant,pinswg_decisionoutcome,pinswg_redetermination,pinswg_redeterminationconsultationdeadline";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return "";
|
return "";
|
||||||
|
|||||||
@@ -65,23 +65,3 @@ export const getNewDocumentsPaged = async (
|
|||||||
return logAndReturnResponse(error);
|
return logAndReturnResponse(error);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getStatusByAppeal = async () => {
|
|
||||||
try {
|
|
||||||
return await getJson(
|
|
||||||
BASE_URL + "/api/admin/getStatusCountsByAppeal_api"
|
|
||||||
);
|
|
||||||
} catch (error) {
|
|
||||||
return logAndReturnResponse(error);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export const getStatusByAppealLPA = async () => {
|
|
||||||
try {
|
|
||||||
return await getJson(
|
|
||||||
BASE_URL + "/api/admin/getStatusCountsByAppealAndLPA_api"
|
|
||||||
);
|
|
||||||
} catch (error) {
|
|
||||||
return logAndReturnResponse(error);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|||||||
@@ -1,15 +1,7 @@
|
|||||||
import {
|
import {
|
||||||
getNewAppeals,
|
getNewAppeals,
|
||||||
getNewAppealsPage,
|
getNewAppealsPage,
|
||||||
getNewDocumentsPaged,
|
getNewDocumentsPaged
|
||||||
getStatusByAppeal,
|
|
||||||
getStatusByAppealLPA
|
|
||||||
} from "./adminDirectService";
|
} from "./adminDirectService";
|
||||||
|
|
||||||
export {
|
export { getNewAppeals, getNewAppealsPage, getNewDocumentsPaged };
|
||||||
getNewAppeals,
|
|
||||||
getNewAppealsPage,
|
|
||||||
getNewDocumentsPaged,
|
|
||||||
getStatusByAppeal,
|
|
||||||
getStatusByAppealLPA
|
|
||||||
};
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { getJson, requestJson } from "../clients/endpointClient";
|
|||||||
import { buildFileQuery, withBaseUrl } from "../clients/fileRouteBuilder";
|
import { buildFileQuery, withBaseUrl } from "../clients/fileRouteBuilder";
|
||||||
|
|
||||||
export const getCaseMessage = (searchString) => {
|
export const getCaseMessage = (searchString) => {
|
||||||
const route = buildFileQuery("/api/cases/get-case-message", {
|
const route = buildFileQuery("/api/endpoint/getcasemessage_api", {
|
||||||
id: searchString
|
id: searchString
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -13,7 +13,7 @@ export const getCaseMessage = (searchString) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const getIncidentbyID = (searchString) => {
|
export const getIncidentbyID = (searchString) => {
|
||||||
const route = buildFileQuery("/api/cases/get-incident-by-id", {
|
const route = buildFileQuery("/api/endpoint/getincidentbyid_api", {
|
||||||
searchString
|
searchString
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -37,7 +37,7 @@ export const getPartSavedAppeal = (searchString) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const getSIPSEvents = async (caseid) => {
|
export const getSIPSEvents = async (caseid) => {
|
||||||
const route = buildFileQuery("/api/cases/get-sips-events", {
|
const route = buildFileQuery("/api/endpoint/getsipsevents_api", {
|
||||||
caseid
|
caseid
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -45,7 +45,7 @@ export const getSIPSEvents = async (caseid) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const getSIPSMedia = async (caseid) => {
|
export const getSIPSMedia = async (caseid) => {
|
||||||
const route = buildFileQuery("/api/cases/get-sips-media", {
|
const route = buildFileQuery("/api/endpoint/getsipsmedia_api", {
|
||||||
caseid
|
caseid
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -251,7 +251,7 @@ export const getAppealPDFDocument = async (incidentid) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const getPortalModuleDetails = async (appealType, caseReference) => {
|
export const getPortalModuleDetails = async (appealType, caseReference) => {
|
||||||
const route = buildFileQuery("/api/myportal/get-portal-module-details", {
|
const route = buildFileQuery("/api/endpoint/getportalmoduledetails_api", {
|
||||||
appealType,
|
appealType,
|
||||||
caseReference: encodeURI(caseReference)
|
caseReference: encodeURI(caseReference)
|
||||||
});
|
});
|
||||||
@@ -274,11 +274,3 @@ export const getPortalModuleDetailsProxy = (appealType, caseReference) => {
|
|||||||
consoleLogger(error);
|
consoleLogger(error);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getCaseStatus = async (appealType, caseReference) => {
|
|
||||||
const route = buildFileQuery("/api/endpoint/getStatusCounts_api", {});
|
|
||||||
|
|
||||||
return getJson(withBaseUrl(BASE_URL, route)).catch((error) => {
|
|
||||||
consoleLogger(error);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|||||||
@@ -16,8 +16,7 @@ import {
|
|||||||
getPartSavedAppeal,
|
getPartSavedAppeal,
|
||||||
getIsPublishedbyID,
|
getIsPublishedbyID,
|
||||||
getPortalModuleDetails,
|
getPortalModuleDetails,
|
||||||
getPortalModuleDetailsProxy,
|
getPortalModuleDetailsProxy
|
||||||
getCaseStatus
|
|
||||||
} from "./caseDirectService";
|
} from "./caseDirectService";
|
||||||
|
|
||||||
export {
|
export {
|
||||||
@@ -38,6 +37,5 @@ export {
|
|||||||
getPartSavedAppeal,
|
getPartSavedAppeal,
|
||||||
getIsPublishedbyID,
|
getIsPublishedbyID,
|
||||||
getPortalModuleDetails,
|
getPortalModuleDetails,
|
||||||
getPortalModuleDetailsProxy,
|
getPortalModuleDetailsProxy
|
||||||
getCaseStatus
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import {
|
|||||||
} from "../clients/fileRouteBuilder";
|
} from "../clients/fileRouteBuilder";
|
||||||
|
|
||||||
export const getMyCases = (loggedInUserId) => {
|
export const getMyCases = (loggedInUserId) => {
|
||||||
const route = buildFileQuery("/api/myportal/get-my-cases", {
|
const route = buildFileQuery("/api/endpoint/getmycases_api", {
|
||||||
loggedInUserId
|
loggedInUserId
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -32,7 +32,7 @@ export const getMyInvolvements = async (loggedInUserId) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const getMyLPACases = (lpaid) => {
|
export const getMyLPACases = (lpaid) => {
|
||||||
const route = buildFileQuery("/api/myportal/get-my-lpa-cases", {
|
const route = buildFileQuery("/api/endpoint/getmylpacases_api", {
|
||||||
lpaid
|
lpaid
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -85,7 +85,7 @@ export const getRepresentationsProxy = (incidentID) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const getWatchedCases = (loggedInUserId) => {
|
export const getWatchedCases = (loggedInUserId) => {
|
||||||
const route = buildFileQuery("/api/subscriptions/get-watched-cases", {
|
const route = buildFileQuery("/api/endpoint/getwatchedcases_api", {
|
||||||
loggedInUserId
|
loggedInUserId
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -95,7 +95,7 @@ export const getWatchedCases = (loggedInUserId) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const getWatchedCasesProxy = (loggedInUserId) => {
|
export const getWatchedCasesProxy = (loggedInUserId) => {
|
||||||
const route = buildFileQuery("/api/subscriptions/get-watched-cases-proxy", {
|
const route = buildFileQuery("/api/endpoint/getwatchedcasesproxy_api", {
|
||||||
loggedInUserId
|
loggedInUserId
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -129,7 +129,7 @@ export const getAwaitingSubmission = (loggedInUserId) => {
|
|||||||
|
|
||||||
export const createWatchedCases = async (formValues) => {
|
export const createWatchedCases = async (formValues) => {
|
||||||
var data = formValues;
|
var data = formValues;
|
||||||
var queryUrl = buildFileQuery("/api/subscriptions/create-watched-case");
|
var queryUrl = buildFileQuery("/api/endpoint/createwatchedcases_api");
|
||||||
|
|
||||||
var config = {
|
var config = {
|
||||||
method: "post",
|
method: "post",
|
||||||
@@ -181,7 +181,7 @@ export const deleteAwaitingSubmissions = (incidentID) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const deleteWatchedCases = async (watchedCaseID) => {
|
export const deleteWatchedCases = async (watchedCaseID) => {
|
||||||
var queryUrl = buildFileQuery("/api/subscriptions/delete-watched-case", {
|
var queryUrl = buildFileQuery("/api/endpoint/deletewatchedcases_api", {
|
||||||
watchedCaseID
|
watchedCaseID
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -274,14 +274,10 @@ export const sendRepCompleteMessage = async (
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
export const setRepInvolvment = async (caseid, contactid, involvement) => {
|
export const setRepInvolvment = async (caseid, contactid) => {
|
||||||
var queryUrl = buildFileQuery("/api/file/createrepinvolvement_api");
|
var queryUrl = buildFileQuery("/api/file/createrepinvolvement_api");
|
||||||
|
|
||||||
var data = {
|
var data = { "incidentid": caseid, "contactid": contactid };
|
||||||
"incidentid": caseid,
|
|
||||||
"contactid": contactid,
|
|
||||||
"involvement": involvement
|
|
||||||
};
|
|
||||||
var config = {
|
var config = {
|
||||||
method: "post",
|
method: "post",
|
||||||
url: queryUrl,
|
url: queryUrl,
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ export const getBasicSearchPaged = (
|
|||||||
showNumberOfRecords
|
showNumberOfRecords
|
||||||
) => {
|
) => {
|
||||||
return getJson(
|
return getJson(
|
||||||
"/api/search/basic-paged?searchString=" +
|
"/api/endpoint/getbasicsearchpaged_api?searchString=" +
|
||||||
searchString +
|
searchString +
|
||||||
"&pageNumber=" +
|
"&pageNumber=" +
|
||||||
pageNumber +
|
pageNumber +
|
||||||
@@ -103,7 +103,7 @@ export const getBasicDNSSearchPaged = (
|
|||||||
export const getAdvancedSearch = (searchString) => {
|
export const getAdvancedSearch = (searchString) => {
|
||||||
return getJson(
|
return getJson(
|
||||||
BASE_URL +
|
BASE_URL +
|
||||||
"/api/search/advanced?searchstring=" +
|
"/api/endpoint/getadvancedsearch_api?searchstring=" +
|
||||||
JSON.stringify(searchString)
|
JSON.stringify(searchString)
|
||||||
).catch(logAndReturnEmptyValueErrorResponse);
|
).catch(logAndReturnEmptyValueErrorResponse);
|
||||||
};
|
};
|
||||||
@@ -116,7 +116,7 @@ export const getAdvancedSearchPaged = (
|
|||||||
showNumberOfRecords
|
showNumberOfRecords
|
||||||
) => {
|
) => {
|
||||||
return getJson(
|
return getJson(
|
||||||
"/api/search/advanced-paged?searchstring=" +
|
"/api/endpoint/getadvancedsearchpaged_api?searchstring=" +
|
||||||
JSON.stringify(searchString) +
|
JSON.stringify(searchString) +
|
||||||
"&pageNumber=" +
|
"&pageNumber=" +
|
||||||
pageNumber +
|
pageNumber +
|
||||||
@@ -186,12 +186,12 @@ export const getBasicSearchDetailsPaged = async (
|
|||||||
})
|
})
|
||||||
.join(" or ");
|
.join(" or ");
|
||||||
|
|
||||||
const groupedUrl = `/api/search/basic-details-paged?appealTypeName=${appealTypeName}&primaryIdAttribute=${primaryIdAttribute}&incidentID=${encodeURIComponent(
|
const url = `/api/endpoint/getbasicsearchdetailspaged_api?appealTypeName=${appealTypeName}&primaryIdAttribute=${primaryIdAttribute}&incidentID=${encodeURIComponent(
|
||||||
filter
|
filter
|
||||||
)}`;
|
)}`;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const data = await getJson(groupedUrl);
|
const data = await getJson(url);
|
||||||
return data.value || [];
|
return data.value || [];
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
consoleLogger(error);
|
consoleLogger(error);
|
||||||
@@ -201,7 +201,7 @@ export const getBasicSearchDetailsPaged = async (
|
|||||||
|
|
||||||
export const getSearchDocumentDetails = (incidentID) => {
|
export const getSearchDocumentDetails = (incidentID) => {
|
||||||
return getJson(
|
return getJson(
|
||||||
"/api/documents/get-search-document-details?incidentid=" + incidentID
|
"/api/endpoint/getsearchdocumentdetails_api?incidentid=" + incidentID
|
||||||
).catch((error) => {
|
).catch((error) => {
|
||||||
consoleLogger(error);
|
consoleLogger(error);
|
||||||
throw error;
|
throw error;
|
||||||
@@ -210,7 +210,7 @@ export const getSearchDocumentDetails = (incidentID) => {
|
|||||||
|
|
||||||
export const getSearchDocumentTypes = (incidentID) => {
|
export const getSearchDocumentTypes = (incidentID) => {
|
||||||
return getJson(
|
return getJson(
|
||||||
"/api/documents/get-search-document-types?incidentid=" + incidentID
|
"/api/endpoint/getsearchdocumentTypes_api?incidentid=" + incidentID
|
||||||
).catch((error) => {
|
).catch((error) => {
|
||||||
consoleLogger(error);
|
consoleLogger(error);
|
||||||
});
|
});
|
||||||
@@ -225,7 +225,7 @@ export const getSearchDocumentDetailsPaged = (
|
|||||||
documentType
|
documentType
|
||||||
) => {
|
) => {
|
||||||
return getJson(
|
return getJson(
|
||||||
"/api/documents/get-search-document-details-paged?incidentid=" +
|
"/api/endpoint/getsearchdocumentdetailspaged_api?incidentid=" +
|
||||||
incidentID +
|
incidentID +
|
||||||
"&pageNumber=" +
|
"&pageNumber=" +
|
||||||
pageNumber +
|
pageNumber +
|
||||||
@@ -244,7 +244,7 @@ export const getSearchDocumentDetailsPaged = (
|
|||||||
|
|
||||||
export const getLinkedCases = (parentIncidentid) => {
|
export const getLinkedCases = (parentIncidentid) => {
|
||||||
return getJson(
|
return getJson(
|
||||||
"/api/cases/get-linked-cases?parentincidentid=" + parentIncidentid
|
"/api/endpoint/getlinkedcases_api?parentincidentid=" + parentIncidentid
|
||||||
).catch((error) => {
|
).catch((error) => {
|
||||||
consoleLogger(error);
|
consoleLogger(error);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,104 +0,0 @@
|
|||||||
import useTranslation from "next-translate/useTranslation";
|
|
||||||
import { parseCookies, setCookie } from "nookies";
|
|
||||||
import { useEffect, useRef, useState } from "react";
|
|
||||||
|
|
||||||
const COOKIE_NAME = "pedwAiPolicyNoticeHidden";
|
|
||||||
const COOKIE_DAYS = 7;
|
|
||||||
|
|
||||||
export default function AIPolicyNotice() {
|
|
||||||
let { t } = useTranslation();
|
|
||||||
|
|
||||||
const [hasCheckedCookie, setHasCheckedCookie] = useState(false);
|
|
||||||
const [isOpen, setIsOpen] = useState(false);
|
|
||||||
const dismissButtonRef = useRef(null);
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
const cookies = parseCookies();
|
|
||||||
const isHidden = cookies[COOKIE_NAME] === "true";
|
|
||||||
|
|
||||||
setIsOpen(!isHidden);
|
|
||||||
setHasCheckedCookie(true);
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (isOpen && dismissButtonRef.current) {
|
|
||||||
dismissButtonRef.current.focus();
|
|
||||||
}
|
|
||||||
}, [isOpen]);
|
|
||||||
|
|
||||||
const dismissNotice = () => {
|
|
||||||
const now = new Date();
|
|
||||||
const expDate = new Date(now);
|
|
||||||
|
|
||||||
expDate.setDate(now.getDate() + COOKIE_DAYS);
|
|
||||||
|
|
||||||
setCookie(null, COOKIE_NAME, "true", {
|
|
||||||
path: "/",
|
|
||||||
expires: expDate
|
|
||||||
});
|
|
||||||
|
|
||||||
setIsOpen(false);
|
|
||||||
};
|
|
||||||
|
|
||||||
if (!hasCheckedCookie || !isOpen) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div
|
|
||||||
className="modal aiModal fade show"
|
|
||||||
style={{
|
|
||||||
display: "flex",
|
|
||||||
alignItems: "center",
|
|
||||||
justifyContent: "center",
|
|
||||||
padding: "1rem"
|
|
||||||
}}
|
|
||||||
aria-hidden={false}
|
|
||||||
>
|
|
||||||
<div className="modal-dialog" style={{ margin: 0 }}>
|
|
||||||
<div
|
|
||||||
className="modal-content govuk-!-padding-6"
|
|
||||||
role="dialog"
|
|
||||||
aria-modal="true"
|
|
||||||
aria-labelledby="ai-policy-notice-title"
|
|
||||||
>
|
|
||||||
<h2
|
|
||||||
id="ai-policy-notice-title"
|
|
||||||
className="govuk-heading-m govuk-!-margin-bottom-3"
|
|
||||||
>
|
|
||||||
{t("home:ai-policy-notice-title")}
|
|
||||||
</h2>
|
|
||||||
<p className="govuk-body">
|
|
||||||
{t("home:ai-policy-notice-paragraph-one")}
|
|
||||||
</p>
|
|
||||||
<p className="govuk-body govuk-!-margin-bottom-4">
|
|
||||||
{t("home:ai-policy-notice-paragraph-two")}{" "}
|
|
||||||
<a
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener noreferrer"
|
|
||||||
href={t(
|
|
||||||
"home:ai-policy-notice-paragraph-two-a-link"
|
|
||||||
)}
|
|
||||||
>
|
|
||||||
{t("home:ai-policy-notice-paragraph-two-a-label")}
|
|
||||||
</a>{" "}
|
|
||||||
{t("home:ai-policy-notice-paragraph-two-b")}
|
|
||||||
</p>
|
|
||||||
<button
|
|
||||||
ref={dismissButtonRef}
|
|
||||||
type="button"
|
|
||||||
className="govuk-button govuk-!-margin-bottom-0"
|
|
||||||
data-module="govuk-button"
|
|
||||||
onClick={dismissNotice}
|
|
||||||
>
|
|
||||||
{t("home:ai-policy-notice-dismiss-button")}
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
className="modal-backdrop fade show"
|
|
||||||
style={{ opacity: 0.2 }}
|
|
||||||
></div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@@ -140,12 +140,12 @@ const RenderPickList = ({
|
|||||||
input,
|
input,
|
||||||
optionsArr,
|
optionsArr,
|
||||||
meta: { touched, error },
|
meta: { touched, error },
|
||||||
errorMsg
|
errorMsg,
|
||||||
}) => {
|
}) => {
|
||||||
let { t, lang } = useTranslation();
|
let { t, lang } = useTranslation();
|
||||||
optionsArr = [
|
optionsArr = [
|
||||||
t("account:account-preferred-language-english") + ":846040001",
|
t("account:account-preferred-language-english") + ":846040001",
|
||||||
t("account:account-preferred-language-welsh") + ":846040000"
|
t("account:account-preferred-language-welsh") + ":846040000",
|
||||||
];
|
];
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@@ -202,7 +202,7 @@ let PersonalDetails = (props) => {
|
|||||||
load,
|
load,
|
||||||
pristine,
|
pristine,
|
||||||
reset,
|
reset,
|
||||||
submitting
|
submitting,
|
||||||
} = props;
|
} = props;
|
||||||
let { t, lang } = useTranslation();
|
let { t, lang } = useTranslation();
|
||||||
|
|
||||||
@@ -324,8 +324,8 @@ let PersonalDetails = (props) => {
|
|||||||
label={t("account:account-telephone-label")}
|
label={t("account:account-telephone-label")}
|
||||||
/>
|
/>
|
||||||
<Field
|
<Field
|
||||||
name="pinswg_companyname"
|
name="company"
|
||||||
id="pinswg_companyname"
|
id="company"
|
||||||
component={RenderTextfield}
|
component={RenderTextfield}
|
||||||
type="text"
|
type="text"
|
||||||
className="govuk-input govuk-input--width-20"
|
className="govuk-input govuk-input--width-20"
|
||||||
@@ -444,7 +444,7 @@ const mapStateToProps = (state) => {
|
|||||||
searchResultsObj: state.searchResultsObj,
|
searchResultsObj: state.searchResultsObj,
|
||||||
formData: state.formData,
|
formData: state.formData,
|
||||||
appealType: state.appealType,
|
appealType: state.appealType,
|
||||||
accountDetails: state.accountDetails
|
accountDetails: state.accountDetails,
|
||||||
//form: state.form,
|
//form: state.form,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -453,7 +453,7 @@ const mapDispatchToProps = (dispatch) => {
|
|||||||
return {
|
return {
|
||||||
setCurrentSection: (currentSection) => {
|
setCurrentSection: (currentSection) => {
|
||||||
dispatch(setCurrentSection(currentSection));
|
dispatch(setCurrentSection(currentSection));
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -484,12 +484,12 @@ const selector = formValueSelector("personalDetailsForm"); // <-- same as form n
|
|||||||
PersonalDetails = reduxForm({
|
PersonalDetails = reduxForm({
|
||||||
form: "personalDetailsForm",
|
form: "personalDetailsForm",
|
||||||
enableReinitialize: true, // this is needed!!
|
enableReinitialize: true, // this is needed!!
|
||||||
destroyOnUnmount: false
|
destroyOnUnmount: false,
|
||||||
})(PersonalDetails);
|
})(PersonalDetails);
|
||||||
|
|
||||||
// You have to connect() to any reducers that you wish to connect to yourself
|
// You have to connect() to any reducers that you wish to connect to yourself
|
||||||
PersonalDetails = connect((state) => ({
|
PersonalDetails = connect((state) => ({
|
||||||
initialValues: state.accountDetails.accountDetails // pull initial values from account reducer
|
initialValues: state.accountDetails.accountDetails, // pull initial values from account reducer
|
||||||
}))(PersonalDetails);
|
}))(PersonalDetails);
|
||||||
|
|
||||||
export default PersonalDetails;
|
export default PersonalDetails;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ const BuildCheckPersonalDetails = (props) => {
|
|||||||
handleSubmit,
|
handleSubmit,
|
||||||
value,
|
value,
|
||||||
setPersonalDetailsComplete,
|
setPersonalDetailsComplete,
|
||||||
setAccountUpdatedComplete
|
setAccountUpdatedComplete,
|
||||||
} = props;
|
} = props;
|
||||||
let { t, lang } = useTranslation();
|
let { t, lang } = useTranslation();
|
||||||
|
|
||||||
@@ -142,7 +142,7 @@ const BuildCheckPersonalDetails = (props) => {
|
|||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{
|
{
|
||||||
props.props.props.form.personalDetailsForm.values
|
props.props.props.form.personalDetailsForm.values
|
||||||
.pinswg_companyname
|
.company
|
||||||
}
|
}
|
||||||
</dd>
|
</dd>
|
||||||
<dd className="govuk-summary-list__actions">
|
<dd className="govuk-summary-list__actions">
|
||||||
@@ -354,7 +354,7 @@ const mapStateToProps = (state) => {
|
|||||||
searchResultsObj: state.searchResultsObj,
|
searchResultsObj: state.searchResultsObj,
|
||||||
formData: state.formData,
|
formData: state.formData,
|
||||||
appealType: state.appealType,
|
appealType: state.appealType,
|
||||||
accountDetails: state.accountDetails
|
accountDetails: state.accountDetails,
|
||||||
//form: state.form,
|
//form: state.form,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -363,7 +363,7 @@ const mapDispatchToProps = (dispatch) => {
|
|||||||
return {
|
return {
|
||||||
setCurrentSection: (currentSection) => {
|
setCurrentSection: (currentSection) => {
|
||||||
dispatch(setCurrentSection(currentSection));
|
dispatch(setCurrentSection(currentSection));
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ const PersonalDetailsComplete = (props) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
doUpdate();
|
doUpdate();
|
||||||
}, [loggedinUserId, formValues, prefLang, userLang]);
|
}, [loggedinUserId, formValues, prefLang]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ const RegisterForm = (props) => {
|
|||||||
setRegisterFormComplete,
|
setRegisterFormComplete,
|
||||||
setAccountCreatedComplete,
|
setAccountCreatedComplete,
|
||||||
loggedInUserEmail,
|
loggedInUserEmail,
|
||||||
emailaddress1
|
emailaddress1,
|
||||||
} = props;
|
} = props;
|
||||||
let { t, lang } = useTranslation();
|
let { t, lang } = useTranslation();
|
||||||
|
|
||||||
@@ -199,17 +199,6 @@ const RegisterForm = (props) => {
|
|||||||
"account:register-new-account-phone-label"
|
"account:register-new-account-phone-label"
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
<Field
|
|
||||||
name="company"
|
|
||||||
id="company"
|
|
||||||
component={RenderTextfield}
|
|
||||||
type="text"
|
|
||||||
className="govuk-input govuk-input--width-20"
|
|
||||||
validate={[required]}
|
|
||||||
label={t(
|
|
||||||
"account:register-new-account-company-label"
|
|
||||||
)}
|
|
||||||
/>
|
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset className="govuk-fieldset">
|
<fieldset className="govuk-fieldset">
|
||||||
<legend className="govuk-fieldset__legend govuk-fieldset__legend--m">
|
<legend className="govuk-fieldset__legend govuk-fieldset__legend--m">
|
||||||
@@ -323,8 +312,8 @@ const mapStateToProps = (state, props) => {
|
|||||||
appealType: state.appealType,
|
appealType: state.appealType,
|
||||||
//form: state.form,
|
//form: state.form,
|
||||||
initialValues: {
|
initialValues: {
|
||||||
emailaddress1: props.loggedInUserEmail
|
emailaddress1: props.loggedInUserEmail,
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -332,7 +321,7 @@ const mapDispatchToProps = (dispatch) => {
|
|||||||
return {
|
return {
|
||||||
setCurrentSection: (currentSection) => {
|
setCurrentSection: (currentSection) => {
|
||||||
dispatch(setCurrentSection(currentSection));
|
dispatch(setCurrentSection(currentSection));
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -345,6 +334,6 @@ export default connect(
|
|||||||
reduxForm({
|
reduxForm({
|
||||||
form: "accountRegisterForm",
|
form: "accountRegisterForm",
|
||||||
enableReinitialize: true,
|
enableReinitialize: true,
|
||||||
destroyOnUnmount: false
|
destroyOnUnmount: false,
|
||||||
})(RegisterForm)
|
})(RegisterForm)
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ import Link from "next/link";
|
|||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import CRMError from "./crmError";
|
import CRMError from "./crmError";
|
||||||
import SearchResults from "./search/addresssearchresults";
|
import SearchResults from "./search/addresssearchresults";
|
||||||
import { hasOwn } from "./utils";
|
|
||||||
|
|
||||||
export default function Search(props) {
|
export default function Search(props) {
|
||||||
const {
|
const {
|
||||||
@@ -13,14 +12,14 @@ export default function Search(props) {
|
|||||||
myportal,
|
myportal,
|
||||||
watchedCases,
|
watchedCases,
|
||||||
isLinkedCase,
|
isLinkedCase,
|
||||||
showLoginCheck
|
showLoginCheck,
|
||||||
} = props;
|
} = props;
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { locale } = router;
|
const { locale } = router;
|
||||||
|
|
||||||
var hasError = hasOwn(searchResultsObj.searchResultsObj, "errorCode")
|
var hasError = _.has(searchResultsObj.searchResultsObj, "errorCode")
|
||||||
? true
|
? true
|
||||||
: false;
|
: false;
|
||||||
|
|
||||||
|
|||||||
@@ -6,17 +6,15 @@ import Link from "next/link";
|
|||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import PaginationControl from "../../../components/search/pagination";
|
import PaginationControl from "../../../components/search/pagination";
|
||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
setSearchResults,
|
setSearchResults,
|
||||||
setSearchDetails
|
setSearchDetails
|
||||||
} from "../../../store/searchOutput/action";
|
} from "../../../store/searchOutput/action";
|
||||||
|
|
||||||
import { getDetailsProxy, getSearchDetailsPaged, hasOwn } from "../../utils";
|
import { getDetailsProxy, getSearchDetailsPaged } from "../../utils";
|
||||||
import { getAdvancedSearchPaged } from "../../../actions/services/searchService";
|
import { getAdvancedSearchPaged } from "../../../actions/services/searchService";
|
||||||
import { getNewAppealsPage } from "../../../actions/services/adminService";
|
import { getNewAppealsPage } from "../../../actions/services/adminService";
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
import {
|
import {
|
||||||
setCurrentPage,
|
setCurrentPage,
|
||||||
setCurrentReference
|
setCurrentReference
|
||||||
@@ -30,15 +28,9 @@ function AppealsTab(props) {
|
|||||||
const [fieldSortState, setfieldSortState] = useState("desc");
|
const [fieldSortState, setfieldSortState] = useState("desc");
|
||||||
const [loginToWatch, setLoginToWatch] = useState("true");
|
const [loginToWatch, setLoginToWatch] = useState("true");
|
||||||
|
|
||||||
const {
|
const searchDetailsObj = props.searchResultsObj.searchDetailsObj || {};
|
||||||
searchResultsObj: searchResultsState,
|
const resultsArr = props.searchResultsObj.searchResultsObj.value || [];
|
||||||
setSearchResults,
|
const searchResultsObj = props.searchResultsObj.searchResultsObj;
|
||||||
setSearchDetails
|
|
||||||
} = props;
|
|
||||||
|
|
||||||
const searchDetailsObj = searchResultsState.searchDetailsObj || {};
|
|
||||||
const resultsArr = searchResultsState.searchResultsObj.value || [];
|
|
||||||
const searchResultsObj = searchResultsState.searchResultsObj;
|
|
||||||
|
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
@@ -83,14 +75,20 @@ function AppealsTab(props) {
|
|||||||
fieldSort,
|
fieldSort,
|
||||||
selectedOption
|
selectedOption
|
||||||
).then((data) => {
|
).then((data) => {
|
||||||
setSearchResults(data);
|
props.setSearchResults(data); // ✅ use props, not import
|
||||||
return getSearchDetailsPaged(data).then((details) => {
|
return getSearchDetailsPaged(data).then((details) => {
|
||||||
setSearchDetails(details);
|
props.setSearchDetails(details); // ✅ use props, not import
|
||||||
setShowSpinnerState(false);
|
setShowSpinnerState(false);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
[selectedOption, setSearchDetails, setSearchResults]
|
[
|
||||||
|
advancedSearch,
|
||||||
|
searchString,
|
||||||
|
selectedOption,
|
||||||
|
props.setSearchDetails,
|
||||||
|
props.setSearchResults
|
||||||
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -257,8 +255,6 @@ function AppealsTab(props) {
|
|||||||
className="govuk-link--no-underline"
|
className="govuk-link--no-underline"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setCurrentReference({
|
setCurrentReference({
|
||||||
"statuscode":
|
|
||||||
item.statuscode,
|
|
||||||
"ticketnumber":
|
"ticketnumber":
|
||||||
item.ticketnumber,
|
item.ticketnumber,
|
||||||
"currentReference":
|
"currentReference":
|
||||||
@@ -308,7 +304,7 @@ function AppealsTab(props) {
|
|||||||
)}
|
)}
|
||||||
:
|
:
|
||||||
</span>
|
</span>
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_projectlocation"
|
"pinswg_projectlocation"
|
||||||
)
|
)
|
||||||
@@ -327,7 +323,7 @@ function AppealsTab(props) {
|
|||||||
)[0]
|
)[0]
|
||||||
: ""
|
: ""
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddressline1"
|
"pinswg_siteaddressline1"
|
||||||
)
|
)
|
||||||
@@ -337,52 +333,52 @@ function AppealsTab(props) {
|
|||||||
{/* {detailsObj.pinswg_siteaddressline1 !=
|
{/* {detailsObj.pinswg_siteaddressline1 !=
|
||||||
null && <br />} */}
|
null && <br />} */}
|
||||||
|
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddressline1"
|
"pinswg_siteaddressline1"
|
||||||
) &&
|
) &&
|
||||||
detailsObj.pinswg_siteaddressline1 !=
|
detailsObj.pinswg_siteaddressline1 !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
|
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddressline1"
|
"pinswg_siteaddressline1"
|
||||||
)
|
)
|
||||||
? detailsObj.pinswg_siteaddressline2
|
? detailsObj.pinswg_siteaddressline2
|
||||||
: ""}
|
: ""}
|
||||||
|
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddressline2"
|
"pinswg_siteaddressline2"
|
||||||
) &&
|
) &&
|
||||||
detailsObj.pinswg_siteaddressline2 !=
|
detailsObj.pinswg_siteaddressline2 !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddresstown"
|
"pinswg_siteaddresstown"
|
||||||
)
|
)
|
||||||
? detailsObj.pinswg_siteaddresstown
|
? detailsObj.pinswg_siteaddresstown
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddresstown"
|
"pinswg_siteaddresstown"
|
||||||
) &&
|
) &&
|
||||||
detailsObj.pinswg_siteaddresstown !=
|
detailsObj.pinswg_siteaddresstown !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
|
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddresscounty"
|
"pinswg_siteaddresscounty"
|
||||||
)
|
)
|
||||||
? detailsObj.pinswg_siteaddresscounty
|
? detailsObj.pinswg_siteaddresscounty
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddresscounty"
|
"pinswg_siteaddresscounty"
|
||||||
) &&
|
) &&
|
||||||
detailsObj.pinswg_siteaddresscounty !=
|
detailsObj.pinswg_siteaddresscounty !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddresspostcode"
|
"pinswg_siteaddresspostcode"
|
||||||
)
|
)
|
||||||
@@ -400,7 +396,7 @@ function AppealsTab(props) {
|
|||||||
? item.pinswg_appellantfirstname +
|
? item.pinswg_appellantfirstname +
|
||||||
" " +
|
" " +
|
||||||
item.pinswg_appellantlastname
|
item.pinswg_appellantlastname
|
||||||
: hasOwn(detailsObj, [
|
: _.has(detailsObj, [
|
||||||
"_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue"
|
"_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue"
|
||||||
])
|
])
|
||||||
? detailsObj[
|
? detailsObj[
|
||||||
@@ -415,17 +411,23 @@ function AppealsTab(props) {
|
|||||||
)}
|
)}
|
||||||
:
|
:
|
||||||
</span>
|
</span>
|
||||||
{hasOwn(item, [
|
{_.has(item, [
|
||||||
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
])
|
])
|
||||||
? resolveCrmDisplayValue({
|
? router.locale == "cy"
|
||||||
value: item[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
item[
|
||||||
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale: router.locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: "N/A"
|
eval: true
|
||||||
})
|
})
|
||||||
|
: item[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || "N/A"
|
||||||
: ""}
|
: ""}
|
||||||
</dd>
|
</dd>
|
||||||
<dd className="govuk-summary-list__value govuk-!-font-size-16">
|
<dd className="govuk-summary-list__value govuk-!-font-size-16">
|
||||||
@@ -435,14 +437,20 @@ function AppealsTab(props) {
|
|||||||
)}
|
)}
|
||||||
:
|
:
|
||||||
</span>
|
</span>
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: item[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
item[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale: router.locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: "N/A"
|
eval: true
|
||||||
})}
|
})
|
||||||
|
: item[
|
||||||
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || "N/A"}
|
||||||
</dd>
|
</dd>
|
||||||
<dd className="govuk-summary-list__value govuk-!-font-size-16">
|
<dd className="govuk-summary-list__value govuk-!-font-size-16">
|
||||||
<span className="results-visually-hidden">
|
<span className="results-visually-hidden">
|
||||||
@@ -452,14 +460,20 @@ function AppealsTab(props) {
|
|||||||
:
|
:
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: item[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
item[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale: router.locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: "N/A"
|
eval: true
|
||||||
})}
|
})
|
||||||
|
: item[
|
||||||
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || "N/A"}
|
||||||
</dd>
|
</dd>
|
||||||
<dd className="govuk-summary-list__value govuk-!-font-size-16">
|
<dd className="govuk-summary-list__value govuk-!-font-size-16">
|
||||||
{item[
|
{item[
|
||||||
|
|||||||
@@ -1,273 +0,0 @@
|
|||||||
import { useMemo, useState } from "react";
|
|
||||||
import Link from "next/link";
|
|
||||||
|
|
||||||
export default function AppealStatusDashboard({ statusObj = [] }) {
|
|
||||||
const [openSections, setOpenSections] = useState({});
|
|
||||||
|
|
||||||
const sortedAppeals = useMemo(
|
|
||||||
() =>
|
|
||||||
[...statusObj].sort(
|
|
||||||
(a, b) => (b.caseCount || 0) - (a.caseCount || 0)
|
|
||||||
),
|
|
||||||
[statusObj]
|
|
||||||
);
|
|
||||||
|
|
||||||
const percentageOf = (value, total) =>
|
|
||||||
total ? `${(((value || 0) / total) * 100).toFixed(1)}%` : "0.0%";
|
|
||||||
|
|
||||||
const totalCases = sortedAppeals.reduce(
|
|
||||||
(sum, appeal) => sum + (appeal.caseCount || 0),
|
|
||||||
0
|
|
||||||
);
|
|
||||||
|
|
||||||
const largestAppeal = sortedAppeals[0];
|
|
||||||
|
|
||||||
const allStatuses = sortedAppeals.flatMap((appeal) =>
|
|
||||||
(appeal.statuses || []).map((status) => ({
|
|
||||||
...status,
|
|
||||||
appealType: appeal.value
|
|
||||||
}))
|
|
||||||
);
|
|
||||||
|
|
||||||
const statusTotals = allStatuses.reduce((acc, status) => {
|
|
||||||
if (!acc[status.statuscode]) {
|
|
||||||
acc[status.statuscode] = {
|
|
||||||
value: status.value,
|
|
||||||
statuscode: status.statuscode,
|
|
||||||
caseCount: 0
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
acc[status.statuscode].caseCount += status.caseCount || 0;
|
|
||||||
return acc;
|
|
||||||
}, {});
|
|
||||||
|
|
||||||
const mostCommonStatus = Object.values(statusTotals).sort(
|
|
||||||
(a, b) => b.caseCount - a.caseCount
|
|
||||||
)[0];
|
|
||||||
|
|
||||||
const maxAppealCount = largestAppeal?.caseCount || 1;
|
|
||||||
|
|
||||||
const allExpanded =
|
|
||||||
sortedAppeals.length > 0 &&
|
|
||||||
sortedAppeals.every((_, index) => openSections[index]);
|
|
||||||
|
|
||||||
const toggleSection = (index) => {
|
|
||||||
setOpenSections((current) => ({
|
|
||||||
...current,
|
|
||||||
[index]: !current[index]
|
|
||||||
}));
|
|
||||||
};
|
|
||||||
|
|
||||||
const showAll = () => {
|
|
||||||
const allOpen = {};
|
|
||||||
sortedAppeals.forEach((_, index) => {
|
|
||||||
allOpen[index] = true;
|
|
||||||
});
|
|
||||||
setOpenSections(allOpen);
|
|
||||||
};
|
|
||||||
|
|
||||||
const hideAll = () => {
|
|
||||||
setOpenSections({});
|
|
||||||
};
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div className="govuk-grid-row">
|
|
||||||
<div className="govuk-grid-column-full">
|
|
||||||
<h1>Appeal case status dashboard</h1>
|
|
||||||
|
|
||||||
<div className="govuk-grid-row">
|
|
||||||
<DashboardCard title="Total cases" value={totalCases} />
|
|
||||||
<DashboardCard
|
|
||||||
title="Appeal types"
|
|
||||||
value={sortedAppeals.length}
|
|
||||||
/>
|
|
||||||
<DashboardCard
|
|
||||||
title="Largest appeal type"
|
|
||||||
value={largestAppeal?.caseCount || 0}
|
|
||||||
caption={largestAppeal?.value}
|
|
||||||
/>
|
|
||||||
<DashboardCard
|
|
||||||
title="Most common status"
|
|
||||||
value={mostCommonStatus?.caseCount || 0}
|
|
||||||
caption={mostCommonStatus?.value}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<section className="govuk-!-margin-top-8">
|
|
||||||
<h2 className="govuk-heading-m">
|
|
||||||
Case counts and stage breakdown by appeal type
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
<p className="govuk-body-s">
|
|
||||||
Select an appeal type row to show the case stage
|
|
||||||
breakdown.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div className="govuk-accordion__controls">
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
className="govuk-accordion__show-all"
|
|
||||||
onClick={allExpanded ? hideAll : showAll}
|
|
||||||
>
|
|
||||||
<span className="govuk-accordion__show-all-text">
|
|
||||||
{allExpanded
|
|
||||||
? "Hide all sections"
|
|
||||||
: "Show all sections"}
|
|
||||||
</span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div
|
|
||||||
className="govuk-accordion appeal-stage-chart"
|
|
||||||
id="appeals-with-status-accordion"
|
|
||||||
>
|
|
||||||
{sortedAppeals.map((appeal, index) => {
|
|
||||||
const isOpen = !!openSections[index];
|
|
||||||
|
|
||||||
const barWidth =
|
|
||||||
((appeal.caseCount || 0) / maxAppealCount) *
|
|
||||||
100;
|
|
||||||
|
|
||||||
const sortedStatuses = [...(appeal.statuses || [])]
|
|
||||||
.filter((status) => (status.caseCount || 0) > 0)
|
|
||||||
.sort(
|
|
||||||
(a, b) =>
|
|
||||||
(b.caseCount || 0) - (a.caseCount || 0)
|
|
||||||
);
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div
|
|
||||||
className={
|
|
||||||
isOpen
|
|
||||||
? "govuk-accordion__section govuk-accordion__section--expanded appeal-stage-chart__accordion-section"
|
|
||||||
: "govuk-accordion__section appeal-stage-chart__accordion-section"
|
|
||||||
}
|
|
||||||
key={appeal.appealType || index}
|
|
||||||
>
|
|
||||||
<div className="govuk-accordion__section-header">
|
|
||||||
<h2 className="govuk-accordion__section-heading">
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
className="govuk-accordion__section-button appeal-stage-chart__button"
|
|
||||||
id={`appeal-status-heading-${index}`}
|
|
||||||
aria-expanded={isOpen}
|
|
||||||
aria-controls={`appeal-status-content-${index}`}
|
|
||||||
onClick={() =>
|
|
||||||
toggleSection(index)
|
|
||||||
}
|
|
||||||
>
|
|
||||||
<span className="appeal-stage-chart__row">
|
|
||||||
<span className="appeal-stage-chart__label">
|
|
||||||
{appeal.value} (
|
|
||||||
{percentageOf(
|
|
||||||
appeal.caseCount,
|
|
||||||
totalCases
|
|
||||||
)}
|
|
||||||
)
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<span className="appeal-stage-chart__bar-wrapper">
|
|
||||||
<span
|
|
||||||
className="appeal-stage-chart__bar"
|
|
||||||
style={{
|
|
||||||
width: `${barWidth}%`
|
|
||||||
}}
|
|
||||||
aria-hidden="true"
|
|
||||||
>
|
|
||||||
{sortedStatuses.map(
|
|
||||||
(
|
|
||||||
status,
|
|
||||||
statusIndex
|
|
||||||
) => (
|
|
||||||
<span
|
|
||||||
key={`${status.statuscode}-${statusIndex}`}
|
|
||||||
className={`appeal-stage-chart__segment appeal-stage-chart__segment--${
|
|
||||||
statusIndex %
|
|
||||||
6
|
|
||||||
}`}
|
|
||||||
style={{
|
|
||||||
width: `${
|
|
||||||
((status.caseCount ||
|
|
||||||
0) /
|
|
||||||
(appeal.caseCount ||
|
|
||||||
1)) *
|
|
||||||
100
|
|
||||||
}%`
|
|
||||||
}}
|
|
||||||
title={`${status.value}: ${status.caseCount}`}
|
|
||||||
/>
|
|
||||||
)
|
|
||||||
)}
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<span className="appeal-stage-chart__count">
|
|
||||||
{appeal.caseCount ||
|
|
||||||
0}{" "}
|
|
||||||
cases
|
|
||||||
</span>
|
|
||||||
</span>
|
|
||||||
</span>
|
|
||||||
</button>
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id={`appeal-status-content-${index}`}
|
|
||||||
className="govuk-accordion__section-content"
|
|
||||||
aria-labelledby={`appeal-status-heading-${index}`}
|
|
||||||
hidden={!isOpen}
|
|
||||||
>
|
|
||||||
<dl className="govuk-summary-list">
|
|
||||||
{sortedStatuses.map((status) => (
|
|
||||||
<div
|
|
||||||
className="govuk-summary-list__row"
|
|
||||||
key={status.statuscode}
|
|
||||||
>
|
|
||||||
<dt className="govuk-summary-list__key">
|
|
||||||
<Link
|
|
||||||
target="_blank"
|
|
||||||
href={`/advancedsearchresults?apt=${appeal.appealType}&statuscode=${status.statuscode}`}
|
|
||||||
>
|
|
||||||
{status.value}
|
|
||||||
</Link>
|
|
||||||
</dt>
|
|
||||||
|
|
||||||
<dd className="govuk-summary-list__value">
|
|
||||||
{status.caseCount || 0}{" "}
|
|
||||||
cases (
|
|
||||||
{percentageOf(
|
|
||||||
status.caseCount,
|
|
||||||
appeal.caseCount
|
|
||||||
)}{" "}
|
|
||||||
of this appeal type)
|
|
||||||
</dd>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
})}
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
function DashboardCard({ title, value, caption }) {
|
|
||||||
return (
|
|
||||||
<div className="govuk-grid-column-one-quarter">
|
|
||||||
<div className="dashboard-card">
|
|
||||||
<p className="govuk-body-s dashboard-card__title">{title}</p>
|
|
||||||
<p className="govuk-heading-l dashboard-card__value">{value}</p>
|
|
||||||
{caption && (
|
|
||||||
<p className="govuk-body-s dashboard-card__caption">
|
|
||||||
{caption}
|
|
||||||
</p>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@@ -1,571 +0,0 @@
|
|||||||
import { useMemo, useState } from "react";
|
|
||||||
import Link from "next/link";
|
|
||||||
|
|
||||||
export default function AppealLpaStatusDashboard({ statusObj = [] }) {
|
|
||||||
const [openAppeals, setOpenAppeals] = useState({});
|
|
||||||
const [openLpaSections, setOpenLpaSections] = useState({});
|
|
||||||
const [openAppealLpas, setOpenAppealLpas] = useState({});
|
|
||||||
const [openLpaAppeals, setOpenLpaAppeals] = useState({});
|
|
||||||
|
|
||||||
const percentageOf = (value, total) =>
|
|
||||||
total ? `${(((value || 0) / total) * 100).toFixed(1)}%` : "0.0%";
|
|
||||||
|
|
||||||
const totalCases = useMemo(
|
|
||||||
() =>
|
|
||||||
statusObj.reduce((total, item) => total + (item.caseCount || 0), 0),
|
|
||||||
[statusObj]
|
|
||||||
);
|
|
||||||
|
|
||||||
const groupedAppeals = useMemo(() => {
|
|
||||||
const grouped = statusObj.reduce((acc, item) => {
|
|
||||||
const appealKey = item.appealType;
|
|
||||||
|
|
||||||
if (!acc[appealKey]) {
|
|
||||||
acc[appealKey] = {
|
|
||||||
appealType: item.appealType,
|
|
||||||
appealTypeName: item.appealTypeName,
|
|
||||||
caseCount: 0,
|
|
||||||
lpas: {}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
acc[appealKey].caseCount += item.caseCount || 0;
|
|
||||||
|
|
||||||
const lpaKey = item.lpaId || "unknown-lpa";
|
|
||||||
|
|
||||||
if (!acc[appealKey].lpas[lpaKey]) {
|
|
||||||
acc[appealKey].lpas[lpaKey] = {
|
|
||||||
lpaId: item.lpaId,
|
|
||||||
lpaName: item.lpaName || "Unknown LPA",
|
|
||||||
caseCount: 0,
|
|
||||||
statuses: []
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
acc[appealKey].lpas[lpaKey].caseCount += item.caseCount || 0;
|
|
||||||
acc[appealKey].lpas[lpaKey].statuses.push({
|
|
||||||
statuscode: item.statuscode,
|
|
||||||
status: item.status,
|
|
||||||
caseCount: item.caseCount || 0
|
|
||||||
});
|
|
||||||
|
|
||||||
return acc;
|
|
||||||
}, {});
|
|
||||||
|
|
||||||
return Object.values(grouped)
|
|
||||||
.map((appeal) => ({
|
|
||||||
...appeal,
|
|
||||||
lpas: Object.values(appeal.lpas)
|
|
||||||
.map((lpa) => ({
|
|
||||||
...lpa,
|
|
||||||
statuses: lpa.statuses.sort(
|
|
||||||
(a, b) => (b.caseCount || 0) - (a.caseCount || 0)
|
|
||||||
)
|
|
||||||
}))
|
|
||||||
.sort((a, b) => (b.caseCount || 0) - (a.caseCount || 0))
|
|
||||||
}))
|
|
||||||
.sort((a, b) => (b.caseCount || 0) - (a.caseCount || 0));
|
|
||||||
}, [statusObj]);
|
|
||||||
|
|
||||||
const groupedLpas = useMemo(() => {
|
|
||||||
const grouped = statusObj.reduce((acc, item) => {
|
|
||||||
const lpaKey = item.lpaId || "unknown-lpa";
|
|
||||||
|
|
||||||
if (!acc[lpaKey]) {
|
|
||||||
acc[lpaKey] = {
|
|
||||||
lpaId: item.lpaId,
|
|
||||||
lpaName: item.lpaName || "Unknown LPA",
|
|
||||||
caseCount: 0,
|
|
||||||
appeals: {}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
acc[lpaKey].caseCount += item.caseCount || 0;
|
|
||||||
|
|
||||||
const appealKey = item.appealType;
|
|
||||||
|
|
||||||
if (!acc[lpaKey].appeals[appealKey]) {
|
|
||||||
acc[lpaKey].appeals[appealKey] = {
|
|
||||||
appealType: item.appealType,
|
|
||||||
appealTypeName: item.appealTypeName,
|
|
||||||
caseCount: 0,
|
|
||||||
statuses: []
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
acc[lpaKey].appeals[appealKey].caseCount += item.caseCount || 0;
|
|
||||||
acc[lpaKey].appeals[appealKey].statuses.push({
|
|
||||||
statuscode: item.statuscode,
|
|
||||||
status: item.status,
|
|
||||||
caseCount: item.caseCount || 0
|
|
||||||
});
|
|
||||||
|
|
||||||
return acc;
|
|
||||||
}, {});
|
|
||||||
|
|
||||||
return Object.values(grouped)
|
|
||||||
.map((lpa) => ({
|
|
||||||
...lpa,
|
|
||||||
appeals: Object.values(lpa.appeals)
|
|
||||||
.map((appeal) => ({
|
|
||||||
...appeal,
|
|
||||||
statuses: appeal.statuses.sort(
|
|
||||||
(a, b) => (b.caseCount || 0) - (a.caseCount || 0)
|
|
||||||
)
|
|
||||||
}))
|
|
||||||
.sort((a, b) => (b.caseCount || 0) - (a.caseCount || 0))
|
|
||||||
}))
|
|
||||||
.sort((a, b) => (b.caseCount || 0) - (a.caseCount || 0));
|
|
||||||
}, [statusObj]);
|
|
||||||
|
|
||||||
const toggleAppeal = (appealType) => {
|
|
||||||
setOpenAppeals((current) => ({
|
|
||||||
...current,
|
|
||||||
[appealType]: !current[appealType]
|
|
||||||
}));
|
|
||||||
};
|
|
||||||
|
|
||||||
const toggleLpaSection = (lpaId) => {
|
|
||||||
setOpenLpaSections((current) => ({
|
|
||||||
...current,
|
|
||||||
[lpaId]: !current[lpaId]
|
|
||||||
}));
|
|
||||||
};
|
|
||||||
|
|
||||||
const toggleAppealLpa = (key) => {
|
|
||||||
setOpenAppealLpas((current) => ({
|
|
||||||
...current,
|
|
||||||
[key]: !current[key]
|
|
||||||
}));
|
|
||||||
};
|
|
||||||
|
|
||||||
const toggleLpaAppeal = (key) => {
|
|
||||||
setOpenLpaAppeals((current) => ({
|
|
||||||
...current,
|
|
||||||
[key]: !current[key]
|
|
||||||
}));
|
|
||||||
};
|
|
||||||
|
|
||||||
const sortedAppeals = useMemo(
|
|
||||||
() => [...statusObj].sort((a, b) => (b.lpaId || 0) - (a.lpaId || 0)),
|
|
||||||
[statusObj]
|
|
||||||
);
|
|
||||||
|
|
||||||
const allStatuses = sortedAppeals.flatMap((appeal) =>
|
|
||||||
(appeal.statuses || []).map((status) => ({
|
|
||||||
...status,
|
|
||||||
lpaId: appeal.lpaId,
|
|
||||||
lpaName: appeal.lpaName
|
|
||||||
}))
|
|
||||||
);
|
|
||||||
|
|
||||||
const statusTotals = allStatuses.reduce((acc, status) => {
|
|
||||||
if (!acc[status.statuscode]) {
|
|
||||||
acc[status.statuscode] = {
|
|
||||||
value: status.value,
|
|
||||||
statuscode: status.statuscode,
|
|
||||||
caseCount: 0
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
acc[status.statuscode].caseCount += status.caseCount || 0;
|
|
||||||
return acc;
|
|
||||||
}, {});
|
|
||||||
const largestAppeal = groupedLpas[0];
|
|
||||||
|
|
||||||
const mostCommonStatus = Object.values(groupedAppeals).sort(
|
|
||||||
(a, b) => b.caseCount - a.caseCount
|
|
||||||
)[0];
|
|
||||||
|
|
||||||
const maxAppealCount = largestAppeal?.caseCount || 1;
|
|
||||||
const maxGroupedAppealCount = groupedAppeals[0]?.caseCount || 1;
|
|
||||||
|
|
||||||
const allAppealsExpanded =
|
|
||||||
groupedAppeals.length > 0 &&
|
|
||||||
groupedAppeals.every((appeal) => openAppeals[appeal.appealType]);
|
|
||||||
|
|
||||||
const allLpasExpanded =
|
|
||||||
groupedLpas.length > 0 &&
|
|
||||||
groupedLpas.every((lpa) => openLpaSections[lpa.lpaId]);
|
|
||||||
|
|
||||||
const showAllAppeals = () => {
|
|
||||||
const allOpen = {};
|
|
||||||
groupedAppeals.forEach((appeal) => {
|
|
||||||
allOpen[appeal.appealType] = true;
|
|
||||||
});
|
|
||||||
setOpenAppeals(allOpen);
|
|
||||||
};
|
|
||||||
|
|
||||||
const showAllLpas = () => {
|
|
||||||
const allOpen = {};
|
|
||||||
groupedLpas.forEach((lpa) => {
|
|
||||||
allOpen[lpa.lpaId] = true;
|
|
||||||
});
|
|
||||||
setOpenLpaSections(allOpen);
|
|
||||||
};
|
|
||||||
|
|
||||||
const hideAllAppeals = () => {
|
|
||||||
setOpenAppeals({});
|
|
||||||
setOpenAppealLpas({});
|
|
||||||
};
|
|
||||||
|
|
||||||
const hideAllLpas = () => {
|
|
||||||
setOpenLpaSections({});
|
|
||||||
setOpenLpaAppeals({});
|
|
||||||
};
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div className="govuk-grid-row">
|
|
||||||
<div className="govuk-grid-column-full">
|
|
||||||
<h1 className="">LPA Appeal case status dashboard</h1>
|
|
||||||
|
|
||||||
<div className="govuk-grid-row">
|
|
||||||
<DashboardCard title="Total cases" value={totalCases} />
|
|
||||||
<DashboardCard title="LPAs" value={groupedLpas.length} />
|
|
||||||
<DashboardCard
|
|
||||||
title="Largest number of appeals"
|
|
||||||
value={largestAppeal?.caseCount || 0}
|
|
||||||
caption={largestAppeal?.lpaName}
|
|
||||||
/>
|
|
||||||
<DashboardCard
|
|
||||||
title="Most common appeal"
|
|
||||||
value={mostCommonStatus?.caseCount || 0}
|
|
||||||
caption={mostCommonStatus?.appealTypeName}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<section className="govuk-!-margin-top-8">
|
|
||||||
<h2 className="govuk-heading-m">
|
|
||||||
Appeal types and case stages by LPA
|
|
||||||
</h2>
|
|
||||||
<div className="govuk-accordion__controls">
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
className="govuk-accordion__show-all"
|
|
||||||
onClick={allLpasExpanded ? hideAllLpas : showAllLpas}
|
|
||||||
>
|
|
||||||
<span className="govuk-accordion__show-all-text">
|
|
||||||
{allLpasExpanded
|
|
||||||
? "Hide all sections"
|
|
||||||
: "Show all sections"}
|
|
||||||
</span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
className="govuk-accordion"
|
|
||||||
id="lpa-appeal-status-accordion"
|
|
||||||
>
|
|
||||||
{groupedLpas.map((lpa) => {
|
|
||||||
const lpaOpen = !!openLpaSections[lpa.lpaId];
|
|
||||||
|
|
||||||
const width =
|
|
||||||
((lpa.caseCount || 0) / maxAppealCount) * 100;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div
|
|
||||||
className={
|
|
||||||
lpaOpen
|
|
||||||
? "govuk-accordion__section govuk-accordion__section--expanded"
|
|
||||||
: "govuk-accordion__section"
|
|
||||||
}
|
|
||||||
key={lpa.lpaId}
|
|
||||||
>
|
|
||||||
<div className="govuk-accordion__section-header">
|
|
||||||
<h3 className="govuk-accordion__section-heading">
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
className="govuk-accordion__section-button"
|
|
||||||
aria-expanded={lpaOpen}
|
|
||||||
onClick={() =>
|
|
||||||
toggleLpaSection(lpa.lpaId)
|
|
||||||
}
|
|
||||||
>
|
|
||||||
<div className="appeal-count-chart__row">
|
|
||||||
<div className="appeal-count-chart__label">
|
|
||||||
{lpa.lpaName} (
|
|
||||||
{percentageOf(
|
|
||||||
lpa.caseCount,
|
|
||||||
totalCases
|
|
||||||
)}
|
|
||||||
)
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="appeal-count-chart__bar-wrapper">
|
|
||||||
<span
|
|
||||||
className="appeal-count-chart__bar"
|
|
||||||
style={{
|
|
||||||
width: `${width}%`
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
<span className="appeal-count-chart__count">
|
|
||||||
{lpa.caseCount}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
</h3>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div
|
|
||||||
className="govuk-accordion__section-content"
|
|
||||||
hidden={!lpaOpen}
|
|
||||||
>
|
|
||||||
{lpa.appeals.map((appeal) => {
|
|
||||||
const key = `${lpa.lpaId}-${appeal.appealType}`;
|
|
||||||
const appealOpen =
|
|
||||||
!!openLpaAppeals[key];
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div
|
|
||||||
className="lpa-status-block"
|
|
||||||
key={key}
|
|
||||||
>
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
className="lpa-status-block__button"
|
|
||||||
aria-expanded={appealOpen}
|
|
||||||
onClick={() =>
|
|
||||||
toggleLpaAppeal(key)
|
|
||||||
}
|
|
||||||
>
|
|
||||||
<span className="govuk-body-m">
|
|
||||||
{appeal.appealTypeName}
|
|
||||||
</span>
|
|
||||||
<span className="govuk-body-m">
|
|
||||||
{appeal.caseCount} cases
|
|
||||||
(
|
|
||||||
{percentageOf(
|
|
||||||
appeal.caseCount,
|
|
||||||
lpa.caseCount
|
|
||||||
)}
|
|
||||||
)
|
|
||||||
</span>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<div hidden={!appealOpen}>
|
|
||||||
<dl className="govuk-summary-list govuk-!-margin-bottom-4">
|
|
||||||
{appeal.statuses.map(
|
|
||||||
(status) => (
|
|
||||||
<div
|
|
||||||
className="govuk-summary-list__row"
|
|
||||||
key={
|
|
||||||
status.statuscode
|
|
||||||
}
|
|
||||||
>
|
|
||||||
<dt className="govuk-summary-list__key">
|
|
||||||
<Link
|
|
||||||
target="_blank"
|
|
||||||
href={`/advancedsearchresults?apt=${appeal.appealType}&lpa=${lpa.lpaId}&statuscode=${status.statuscode}`}
|
|
||||||
>
|
|
||||||
{
|
|
||||||
status.status
|
|
||||||
}
|
|
||||||
</Link>
|
|
||||||
</dt>
|
|
||||||
<dd className="govuk-summary-list__value">
|
|
||||||
{
|
|
||||||
status.caseCount
|
|
||||||
}{" "}
|
|
||||||
(
|
|
||||||
{percentageOf(
|
|
||||||
status.caseCount,
|
|
||||||
appeal.caseCount
|
|
||||||
)}
|
|
||||||
)
|
|
||||||
</dd>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
)}
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
})}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
})}
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section className="govuk-!-margin-top-8">
|
|
||||||
<h2 className="govuk-heading-m">
|
|
||||||
Case stage by LPA and Appeal Type
|
|
||||||
</h2>
|
|
||||||
<p className="govuk-body-s">
|
|
||||||
Select an appeal type row to show the LPA and then case
|
|
||||||
stage breakdown.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div className="govuk-accordion__controls">
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
className="govuk-accordion__show-all"
|
|
||||||
onClick={
|
|
||||||
allAppealsExpanded ? hideAllAppeals : showAllAppeals
|
|
||||||
}
|
|
||||||
>
|
|
||||||
<span className="govuk-accordion__show-all-text">
|
|
||||||
{allAppealsExpanded
|
|
||||||
? "Hide all sections"
|
|
||||||
: "Show all sections"}
|
|
||||||
</span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
className="govuk-accordion"
|
|
||||||
id="appeal-lpa-status-accordion"
|
|
||||||
>
|
|
||||||
{groupedAppeals.map((appeal) => {
|
|
||||||
const appealOpen = !!openAppeals[appeal.appealType];
|
|
||||||
|
|
||||||
const width =
|
|
||||||
((appeal.caseCount || 0) / maxGroupedAppealCount) *
|
|
||||||
100;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div
|
|
||||||
className={
|
|
||||||
appealOpen
|
|
||||||
? "govuk-accordion__section govuk-accordion__section--expanded"
|
|
||||||
: "govuk-accordion__section"
|
|
||||||
}
|
|
||||||
key={appeal.appealType}
|
|
||||||
>
|
|
||||||
<div className="govuk-accordion__section-header">
|
|
||||||
<h2 className="govuk-accordion__section-heading">
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
className="govuk-accordion__section-button"
|
|
||||||
aria-expanded={appealOpen}
|
|
||||||
onClick={() =>
|
|
||||||
toggleAppeal(appeal.appealType)
|
|
||||||
}
|
|
||||||
>
|
|
||||||
<div className="appeal-count-chart__row">
|
|
||||||
<div className="appeal-count-chart__label">
|
|
||||||
{appeal.appealTypeName}{" "}
|
|
||||||
{/* {appeal.caseCount} cases */}
|
|
||||||
(
|
|
||||||
{percentageOf(
|
|
||||||
appeal.caseCount,
|
|
||||||
totalCases
|
|
||||||
)}
|
|
||||||
)
|
|
||||||
</div>
|
|
||||||
<div className="appeal-count-chart__bar-wrapper">
|
|
||||||
<span
|
|
||||||
className="appeal-count-chart__bar"
|
|
||||||
style={{
|
|
||||||
width: `${width}%`
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
<span className="appeal-count-chart__count">
|
|
||||||
{appeal.caseCount}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div
|
|
||||||
className="govuk-accordion__section-content"
|
|
||||||
hidden={!appealOpen}
|
|
||||||
>
|
|
||||||
{appeal.lpas.map((lpa) => {
|
|
||||||
const lpaKey = `${appeal.appealType}-${lpa.lpaId}`;
|
|
||||||
const lpaOpen =
|
|
||||||
!!openAppealLpas[lpaKey];
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div
|
|
||||||
className="lpa-status-block"
|
|
||||||
key={lpaKey}
|
|
||||||
>
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
className="lpa-status-block__button"
|
|
||||||
aria-expanded={lpaOpen}
|
|
||||||
onClick={() =>
|
|
||||||
toggleAppealLpa(lpaKey)
|
|
||||||
}
|
|
||||||
>
|
|
||||||
<span className="govuk-body-m">
|
|
||||||
{lpa.lpaName}
|
|
||||||
</span>
|
|
||||||
<span className="govuk-body-m">
|
|
||||||
{lpa.caseCount} cases (
|
|
||||||
{percentageOf(
|
|
||||||
lpa.caseCount,
|
|
||||||
appeal.caseCount
|
|
||||||
)}
|
|
||||||
)
|
|
||||||
</span>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<div hidden={!lpaOpen}>
|
|
||||||
<dl className="govuk-summary-list govuk-!-margin-bottom-4">
|
|
||||||
{lpa.statuses.map(
|
|
||||||
(status) => (
|
|
||||||
<div
|
|
||||||
className="govuk-summary-list__row"
|
|
||||||
key={
|
|
||||||
status.statuscode
|
|
||||||
}
|
|
||||||
>
|
|
||||||
<dt className="govuk-summary-list__key">
|
|
||||||
<Link
|
|
||||||
target="_blank"
|
|
||||||
href={`/advancedsearchresults?apt=${appeal.appealType}&lpa=${lpa.lpaId}&statuscode=${status.statuscode}`}
|
|
||||||
>
|
|
||||||
{
|
|
||||||
status.status
|
|
||||||
}
|
|
||||||
</Link>
|
|
||||||
</dt>
|
|
||||||
<dd className="govuk-summary-list__value">
|
|
||||||
{
|
|
||||||
status.caseCount
|
|
||||||
}{" "}
|
|
||||||
(
|
|
||||||
{percentageOf(
|
|
||||||
status.caseCount,
|
|
||||||
lpa.caseCount
|
|
||||||
)}
|
|
||||||
)
|
|
||||||
</dd>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
)}
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
})}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
})}
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
function DashboardCard({ title, value, caption }) {
|
|
||||||
return (
|
|
||||||
<div className="govuk-grid-column-one-quarter">
|
|
||||||
<div className="dashboard-card">
|
|
||||||
<p className="govuk-body-s dashboard-card__title">{title}</p>
|
|
||||||
<p className="govuk-heading-l dashboard-card__value">{value}</p>
|
|
||||||
{caption && (
|
|
||||||
<p className="govuk-body-s dashboard-card__caption">
|
|
||||||
{caption}
|
|
||||||
</p>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@@ -1,294 +0,0 @@
|
|||||||
// // components/admin/tabs/AccountsTab.js
|
|
||||||
// import Link from "next/link";
|
|
||||||
|
|
||||||
// export default function AppealsWithStatusTab({ statusObj }) {
|
|
||||||
// return (
|
|
||||||
// <div>
|
|
||||||
// <h1>User Accounts</h1>
|
|
||||||
|
|
||||||
// <dl className="govuk-summary-list govuk-!-margin-bottom-9 results">
|
|
||||||
// <div className="govuk-summary-list__row results-headings">
|
|
||||||
// <dd className="govuk-summary-list__key govuk-!-font-size-16">
|
|
||||||
// Name
|
|
||||||
// </dd>
|
|
||||||
// <dd className="govuk-summary-list__key govuk-!-font-size-16">
|
|
||||||
// Last accessed
|
|
||||||
// </dd>
|
|
||||||
// </div>
|
|
||||||
|
|
||||||
// {statusObj.map((appeal) => (
|
|
||||||
// <div key={appeal.id} className="govuk-summary-list__row">
|
|
||||||
// <dd className="govuk-summary-list__value govuk-!-font-size-16 ">
|
|
||||||
// <Link
|
|
||||||
// target="_blank"
|
|
||||||
// href={`/auth/signin2?email=${appeal.value}`}
|
|
||||||
// >
|
|
||||||
// {appeal.value}
|
|
||||||
// </Link>
|
|
||||||
// <br />
|
|
||||||
|
|
||||||
// <dl className="govuk-summary-list govuk-!-margin-bottom-9 govuk-!-margin-left-9 results">
|
|
||||||
// <div className="govuk-summary-list__row results-headings">
|
|
||||||
// <dd className="govuk-summary-list__key govuk-!-font-size-16">
|
|
||||||
// Name
|
|
||||||
// </dd>
|
|
||||||
// <dd className="govuk-summary-list__key govuk-!-font-size-16">
|
|
||||||
// Last accessed
|
|
||||||
// </dd>
|
|
||||||
// </div>
|
|
||||||
|
|
||||||
// {appeal.statuses.map((statuses) => (
|
|
||||||
// <div
|
|
||||||
// key={appeal.id}
|
|
||||||
// className="govuk-summary-list__row"
|
|
||||||
// >
|
|
||||||
// <dd className="govuk-summary-list__value govuk-!-font-size-16 ">
|
|
||||||
// {statuses.value}
|
|
||||||
// </dd>
|
|
||||||
// <dd className="govuk-summary-list__value govuk-!-font-size-16 ">
|
|
||||||
// Total: {statuses.caseCount}
|
|
||||||
// </dd>
|
|
||||||
// </div>
|
|
||||||
// ))}
|
|
||||||
// </dl>
|
|
||||||
// </dd>
|
|
||||||
// <dd className="govuk-summary-list__value govuk-!-font-size-16 ">
|
|
||||||
// Total: {appeal.caseCount}
|
|
||||||
// </dd>
|
|
||||||
// </div>
|
|
||||||
// ))}
|
|
||||||
// </dl>
|
|
||||||
// </div>
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
|
|
||||||
import { useState } from "react";
|
|
||||||
import Link from "next/link";
|
|
||||||
|
|
||||||
export default function AppealsWithStatusTab({ statusObj = [] }) {
|
|
||||||
const [openSections, setOpenSections] = useState({});
|
|
||||||
|
|
||||||
const toggleSection = (index) => {
|
|
||||||
setOpenSections((current) => ({
|
|
||||||
...current,
|
|
||||||
[index]: !current[index]
|
|
||||||
}));
|
|
||||||
};
|
|
||||||
|
|
||||||
const showAll = () => {
|
|
||||||
const allOpen = {};
|
|
||||||
|
|
||||||
statusObj.forEach((_, index) => {
|
|
||||||
allOpen[index] = true;
|
|
||||||
});
|
|
||||||
|
|
||||||
setOpenSections(allOpen);
|
|
||||||
};
|
|
||||||
|
|
||||||
const hideAll = () => {
|
|
||||||
setOpenSections({});
|
|
||||||
};
|
|
||||||
|
|
||||||
const allExpanded =
|
|
||||||
statusObj.length > 0 &&
|
|
||||||
statusObj.every((_, index) => openSections[index]);
|
|
||||||
|
|
||||||
const sortedAppeals = [...statusObj].sort(
|
|
||||||
(a, b) => (b.caseCount || 0) - (a.caseCount || 0)
|
|
||||||
);
|
|
||||||
|
|
||||||
const maxCount = sortedAppeals[0]?.caseCount || 1;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<h1 className="govuk-heading-l">Case status by appeal type</h1>
|
|
||||||
|
|
||||||
<div className="govuk-!-margin-bottom-6">
|
|
||||||
<h2 className="govuk-heading-m">Case counts by appeal type</h2>
|
|
||||||
|
|
||||||
<dl className="appeal-count-chart">
|
|
||||||
{sortedAppeals.map((appeal) => {
|
|
||||||
const maxCount = sortedAppeals[0]?.caseCount || 1;
|
|
||||||
const width =
|
|
||||||
((appeal.caseCount || 0) / maxCount) * 100;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div
|
|
||||||
className="appeal-count-chart__row"
|
|
||||||
key={appeal.appealType}
|
|
||||||
>
|
|
||||||
<dt className="appeal-count-chart__label">
|
|
||||||
{appeal.value}
|
|
||||||
</dt>
|
|
||||||
|
|
||||||
<dd className="appeal-count-chart__bar-wrapper">
|
|
||||||
<span
|
|
||||||
className="appeal-count-chart__bar"
|
|
||||||
style={{ width: `${width}%` }}
|
|
||||||
/>
|
|
||||||
<span className="appeal-count-chart__count">
|
|
||||||
{appeal.caseCount || 0}
|
|
||||||
</span>
|
|
||||||
</dd>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
})}
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="govuk-!-margin-bottom-6">
|
|
||||||
<h2 className="govuk-heading-m">Case stages by appeal type</h2>
|
|
||||||
|
|
||||||
<dl className="appeal-stage-chart">
|
|
||||||
{sortedAppeals.map((appeal) => (
|
|
||||||
<div
|
|
||||||
className="appeal-stage-chart__row"
|
|
||||||
key={appeal.appealType}
|
|
||||||
>
|
|
||||||
<dt className="appeal-stage-chart__label">
|
|
||||||
{appeal.value}
|
|
||||||
</dt>
|
|
||||||
|
|
||||||
<dd className="appeal-stage-chart__bar-wrapper">
|
|
||||||
<div
|
|
||||||
className="appeal-stage-chart__bar"
|
|
||||||
style={{
|
|
||||||
width: `${((appeal.caseCount || 0) / maxCount) * 100}%`
|
|
||||||
}}
|
|
||||||
aria-label={`${appeal.value}, ${appeal.caseCount || 0} cases`}
|
|
||||||
>
|
|
||||||
{(appeal.statuses || [])
|
|
||||||
.filter(
|
|
||||||
(status) => status.caseCount > 0
|
|
||||||
)
|
|
||||||
.sort(
|
|
||||||
(a, b) => b.caseCount - a.caseCount
|
|
||||||
)
|
|
||||||
.map((status, index) => (
|
|
||||||
<span
|
|
||||||
key={status.statuscode}
|
|
||||||
className={`appeal-stage-chart__segment appeal-stage-chart__segment--${index % 6}`}
|
|
||||||
style={{
|
|
||||||
width: `${((status.caseCount || 0) / (appeal.caseCount || 1)) * 100}%`
|
|
||||||
}}
|
|
||||||
title={`${status.value}: ${status.caseCount}`}
|
|
||||||
/>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<span className="appeal-stage-chart__count">
|
|
||||||
{appeal.caseCount || 0}
|
|
||||||
</span>
|
|
||||||
</dd>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="govuk-accordion__controls">
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
className="govuk-accordion__show-all"
|
|
||||||
onClick={allExpanded ? hideAll : showAll}
|
|
||||||
>
|
|
||||||
<span className="govuk-accordion__show-all-text">
|
|
||||||
{allExpanded
|
|
||||||
? "Hide all sections"
|
|
||||||
: "Show all sections"}
|
|
||||||
</span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="govuk-accordion" id="appeals-with-status-accordion">
|
|
||||||
{[...statusObj]
|
|
||||||
.sort((a, b) => (b.caseCount || 0) - (a.caseCount || 0))
|
|
||||||
.map((appeal, index) => {
|
|
||||||
const isOpen = !!openSections[index];
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div
|
|
||||||
className={
|
|
||||||
isOpen
|
|
||||||
? "govuk-accordion__section govuk-accordion__section--expanded"
|
|
||||||
: "govuk-accordion__section"
|
|
||||||
}
|
|
||||||
key={appeal.appealType || index}
|
|
||||||
>
|
|
||||||
<div className="govuk-accordion__section-header ">
|
|
||||||
<h2 className="govuk-accordion__section-heading">
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
className="govuk-accordion__section-button "
|
|
||||||
id={`appeal-status-heading-${index}`}
|
|
||||||
aria-expanded={isOpen}
|
|
||||||
aria-controls={`appeal-status-content-${index}`}
|
|
||||||
onClick={() => toggleSection(index)}
|
|
||||||
>
|
|
||||||
<span
|
|
||||||
style={{
|
|
||||||
display: "flex",
|
|
||||||
justifyContent:
|
|
||||||
"space-between",
|
|
||||||
alignItems: "center",
|
|
||||||
width: "100%",
|
|
||||||
paddingRight: "20px" // leaves room for accordion icon
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<span className="govuk-heading-s ">
|
|
||||||
{appeal.value}
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<span
|
|
||||||
className="govuk-body-s"
|
|
||||||
style={{
|
|
||||||
fontWeight: "normal"
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
{appeal.caseCount || 0}{" "}
|
|
||||||
cases
|
|
||||||
</span>
|
|
||||||
</span>
|
|
||||||
</button>
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div
|
|
||||||
id={`appeal-status-content-${index}`}
|
|
||||||
className="govuk-accordion__section-content"
|
|
||||||
aria-labelledby={`appeal-status-heading-${index}`}
|
|
||||||
hidden={!isOpen}
|
|
||||||
>
|
|
||||||
<dl className="govuk-summary-list govuk-!-margin-left-9">
|
|
||||||
{(appeal.statuses || [])
|
|
||||||
.sort(
|
|
||||||
(a, b) =>
|
|
||||||
(b.caseCount || 0) -
|
|
||||||
(a.caseCount || 0)
|
|
||||||
)
|
|
||||||
.map((status) => (
|
|
||||||
<div
|
|
||||||
className="govuk-summary-list__row"
|
|
||||||
key={status.statuscode}
|
|
||||||
>
|
|
||||||
<dt className="govuk-summary-list__key">
|
|
||||||
<Link
|
|
||||||
target="_blank"
|
|
||||||
href={`/advancedsearchresults?apt=${appeal.appealType}&statuscode=${status.statuscode}`}
|
|
||||||
>
|
|
||||||
{status.value}
|
|
||||||
</Link>
|
|
||||||
</dt>
|
|
||||||
<dd className="govuk-summary-list__value">
|
|
||||||
{status.caseCount || 0}
|
|
||||||
</dd>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
})}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@@ -5,7 +5,7 @@ import { useRouter } from "next/router";
|
|||||||
import { useCallback, useEffect, useRef, useState } from "react";
|
import { useCallback, useEffect, useRef, useState } from "react";
|
||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import { formatDates, getDocLink, hasOwn } from "../../utils";
|
import { formatDates, getDocLink } from "../../utils";
|
||||||
import PaginationControl from "../../../components/case/pagination";
|
import PaginationControl from "../../../components/case/pagination";
|
||||||
import DocumentLink from "../../utils/downloads";
|
import DocumentLink from "../../utils/downloads";
|
||||||
import { useDownloadQueue } from "../../utils/downloadmanager";
|
import { useDownloadQueue } from "../../utils/downloadmanager";
|
||||||
@@ -21,8 +21,6 @@ import { getNewDocumentsPaged } from "../../../actions/services/adminService";
|
|||||||
import { setCurrentPage } from "../../../store/currentView/action";
|
import { setCurrentPage } from "../../../store/currentView/action";
|
||||||
|
|
||||||
import { setDocumentDetails } from "../../../store/searchOutput/action";
|
import { setDocumentDetails } from "../../../store/searchOutput/action";
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
|
|
||||||
const getDocumentTypes = [
|
const getDocumentTypes = [
|
||||||
{
|
{
|
||||||
"Value": 846040009,
|
"Value": 846040009,
|
||||||
@@ -399,11 +397,19 @@ const DocumentsTab = (props) => {
|
|||||||
className="govuk-label-s govuk-checkboxes__label"
|
className="govuk-label-s govuk-checkboxes__label"
|
||||||
htmlFor={item.Value}
|
htmlFor={item.Value}
|
||||||
>
|
>
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: item.Label,
|
? jsonpath({
|
||||||
locale,
|
path:
|
||||||
translations: transLookup
|
'$..[?(@ && @.value=="' +
|
||||||
})}
|
item.Label +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true
|
||||||
|
})
|
||||||
|
: item.Label ||
|
||||||
|
t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}{" "}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
@@ -464,11 +470,19 @@ const DocumentsTab = (props) => {
|
|||||||
className="govuk-label-s govuk-checkboxes__label"
|
className="govuk-label-s govuk-checkboxes__label"
|
||||||
htmlFor={"origin_" + item.Value}
|
htmlFor={"origin_" + item.Value}
|
||||||
>
|
>
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: item.Label,
|
? jsonpath({
|
||||||
locale,
|
path:
|
||||||
translations: transLookup
|
'$..[?(@ && @.value=="' +
|
||||||
})}
|
item.Label +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true
|
||||||
|
})
|
||||||
|
: item.Label ||
|
||||||
|
t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}{" "}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
@@ -740,7 +754,7 @@ const DocumentsTab = (props) => {
|
|||||||
// )}
|
// )}
|
||||||
// :
|
// :
|
||||||
// </span>
|
// </span>
|
||||||
// {hasOwn(
|
// {_.has(
|
||||||
// detailsObj,
|
// detailsObj,
|
||||||
// "pinswg_name"
|
// "pinswg_name"
|
||||||
// )
|
// )
|
||||||
@@ -775,7 +789,7 @@ const DocumentsTab = (props) => {
|
|||||||
)}
|
)}
|
||||||
:
|
:
|
||||||
</span>
|
</span>
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_name"
|
"pinswg_name"
|
||||||
)
|
)
|
||||||
@@ -791,7 +805,7 @@ const DocumentsTab = (props) => {
|
|||||||
)}
|
)}
|
||||||
:
|
:
|
||||||
</span>
|
</span>
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_name"
|
"pinswg_name"
|
||||||
)
|
)
|
||||||
@@ -808,15 +822,22 @@ const DocumentsTab = (props) => {
|
|||||||
:
|
:
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
{resolveCrmDisplayValue(
|
{router.locale == "cy"
|
||||||
{
|
? jsonpath({
|
||||||
value: detailsObj[
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue"
|
"pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations:
|
json: transLookup,
|
||||||
transLookup
|
eval: true
|
||||||
}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
)}
|
)}
|
||||||
</dd>
|
</dd>
|
||||||
<dd className="govuk-summary-list__value govuk-!-font-size-14">
|
<dd className="govuk-summary-list__value govuk-!-font-size-14">
|
||||||
@@ -827,7 +848,7 @@ const DocumentsTab = (props) => {
|
|||||||
:
|
:
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"createdon"
|
"createdon"
|
||||||
)
|
)
|
||||||
@@ -915,16 +936,17 @@ const DocumentsTab = (props) => {
|
|||||||
)
|
)
|
||||||
.then((data) => data)
|
.then((data) => data)
|
||||||
.then((data) => {
|
.then((data) => {
|
||||||
setDocumentDetails(data);
|
props.setDocumentDetails(data);
|
||||||
setShowSpinnerState(false);
|
setShowSpinnerState(false);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
[
|
[
|
||||||
|
props.incidentid,
|
||||||
selectedOption,
|
selectedOption,
|
||||||
selectedDocumentType,
|
selectedDocumentType,
|
||||||
selectedWeeks,
|
selectedWeeks,
|
||||||
selectedDocumentOrigin,
|
selectedDocumentOrigin,
|
||||||
setDocumentDetails
|
props.setDocumentDetails
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -935,7 +957,7 @@ const DocumentsTab = (props) => {
|
|||||||
orderBy,
|
orderBy,
|
||||||
fieldSort
|
fieldSort
|
||||||
).then((data) => {
|
).then((data) => {
|
||||||
setDocumentDetails(data);
|
props.setDocumentDetails(data);
|
||||||
return data;
|
return data;
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -1038,7 +1060,7 @@ const DocumentsTab = (props) => {
|
|||||||
selectedDocumentType,
|
selectedDocumentType,
|
||||||
selectedWeeks
|
selectedWeeks
|
||||||
).then((data) => {
|
).then((data) => {
|
||||||
setDocumentDetails(data);
|
props.setDocumentDetails(data);
|
||||||
setDocumentSearchState(true);
|
setDocumentSearchState(true);
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
@@ -1050,11 +1072,13 @@ const DocumentsTab = (props) => {
|
|||||||
//const searchDocumentResultsObj = docDetailsObj();
|
//const searchDocumentResultsObj = docDetailsObj();
|
||||||
}, [
|
}, [
|
||||||
incidentid,
|
incidentid,
|
||||||
setDocumentDetails,
|
props.setDocumentDetails,
|
||||||
selectedOption,
|
selectedOption,
|
||||||
selectedDocumentType,
|
selectedDocumentType,
|
||||||
fieldSortState,
|
fieldSortState,
|
||||||
orderByState,
|
orderByState,
|
||||||
|
getDocumentTypes,
|
||||||
|
getOrigin,
|
||||||
getDocumentResults,
|
getDocumentResults,
|
||||||
lang,
|
lang,
|
||||||
selectedWeeks
|
selectedWeeks
|
||||||
@@ -1083,7 +1107,9 @@ const DocumentsTab = (props) => {
|
|||||||
return (
|
return (
|
||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
<div className="govuk-grid-column-full">
|
<div className="govuk-grid-column-full">
|
||||||
<h1 className="">{t("case:documents-heading-label")}</h1>
|
<h2 className="govuk-heading-m ">
|
||||||
|
{t("case:documents-heading-label")}
|
||||||
|
</h2>
|
||||||
{/* <div className="">
|
{/* <div className="">
|
||||||
MDU :{" "}
|
MDU :{" "}
|
||||||
{countFieldValue(
|
{countFieldValue(
|
||||||
@@ -1108,7 +1134,7 @@ const DocumentsTab = (props) => {
|
|||||||
<select
|
<select
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
setSelectedWeeks(e.target.value);
|
setSelectedWeeks(e.target.value);
|
||||||
setCurrentPage(1);
|
props.setCurrentPage(1);
|
||||||
}}
|
}}
|
||||||
value={selectedWeeks}
|
value={selectedWeeks}
|
||||||
className="govuk-select"
|
className="govuk-select"
|
||||||
|
|||||||
@@ -4,12 +4,9 @@ import Link from "next/link";
|
|||||||
import { bytesToSize } from "../../../components/utils";
|
import { bytesToSize } from "../../../components/utils";
|
||||||
import {
|
import {
|
||||||
deleteMyRepresentationsFromBlob,
|
deleteMyRepresentationsFromBlob,
|
||||||
deleteAwaitingSubmissionsFromBlob,
|
deleteAwaitingSubmissionsFromBlob
|
||||||
getRepsFromBlobProxy
|
|
||||||
} from "../../../actions/services/documentService";
|
} from "../../../actions/services/documentService";
|
||||||
import { sendRepCompleteMessage } from "../../../actions/services/portalService";
|
import { sendRepCompleteMessage } from "../../../actions/services/portalService";
|
||||||
import { parseCookies } from "nookies";
|
|
||||||
import { consoleLogger } from "../../../actions/core/logger";
|
|
||||||
|
|
||||||
import { formatBlobDates } from "../utils/adminHelper";
|
import { formatBlobDates } from "../utils/adminHelper";
|
||||||
|
|
||||||
@@ -24,33 +21,6 @@ export default function StorageTab({ data, repCompleteCount }) {
|
|||||||
setShowTmpFile(newState);
|
setShowTmpFile(newState);
|
||||||
};
|
};
|
||||||
|
|
||||||
const deleteRepItem = (containerID, caseID, repfile) => {
|
|
||||||
let cookies = parseCookies();
|
|
||||||
//console.log("sssss", containerID, caseID, repfile);
|
|
||||||
|
|
||||||
deleteMyRepresentationsFromBlob(containerID, caseID, repfile)
|
|
||||||
.then((data) => {
|
|
||||||
return data;
|
|
||||||
})
|
|
||||||
.then(() => {
|
|
||||||
getRepsFromBlobProxy(containerID)
|
|
||||||
.then((data) => {
|
|
||||||
setMyRepresentations(data);
|
|
||||||
setMyRepresentationsDetails(data);
|
|
||||||
})
|
|
||||||
.catch((error) => {
|
|
||||||
consoleLogger(error);
|
|
||||||
return null;
|
|
||||||
})
|
|
||||||
.then(() => {
|
|
||||||
setCurrentView({
|
|
||||||
"viewName": "My Representations",
|
|
||||||
"viewKey": "myRepresentations"
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<h1>Storage Account Contents</h1>
|
<h1>Storage Account Contents</h1>
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ export async function fetchAdminStorageData() {
|
|||||||
const limit = pLimit(5);
|
const limit = pLimit(5);
|
||||||
let data = await Promise.all(
|
let data = await Promise.all(
|
||||||
users.map(async (user) => {
|
users.map(async (user) => {
|
||||||
return limit(async () => {
|
limit(async () => {
|
||||||
const containers = await listContainersForUser(
|
const containers = await listContainersForUser(
|
||||||
blobServiceClient,
|
blobServiceClient,
|
||||||
`${user.id}`,
|
`${user.id}`,
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ const Breadcrumbs = (props) => {
|
|||||||
watchedCases: () => t("myportal:watchedcases-card-title"),
|
watchedCases: () => t("myportal:watchedcases-card-title"),
|
||||||
myCases: () => t("myportal:mycases-card-title"),
|
myCases: () => t("myportal:mycases-card-title"),
|
||||||
myRepresentations: () => t("myportal:myrepresentations-card-title"),
|
myRepresentations: () => t("myportal:myrepresentations-card-title"),
|
||||||
mySubmittedReps: () => t("myportal:submitted-reps-card-title")
|
mySubmittedReps: "Submitted representations"
|
||||||
};
|
};
|
||||||
|
|
||||||
const viewAllLabelResolver = labelsByKey[viewKey];
|
const viewAllLabelResolver = labelsByKey[viewKey];
|
||||||
@@ -186,7 +186,7 @@ const Breadcrumbs = (props) => {
|
|||||||
<>
|
<>
|
||||||
{renderLinkCrumb(
|
{renderLinkCrumb(
|
||||||
isWelsh
|
isWelsh
|
||||||
? `/${router.locale}/dnsapplications`
|
? `${router.locale}/dnsapplications`
|
||||||
: "/dnsapplications",
|
: "/dnsapplications",
|
||||||
t("dnsCommon:service-name")
|
t("dnsCommon:service-name")
|
||||||
)}
|
)}
|
||||||
|
|||||||
+8
-1
@@ -44,8 +44,15 @@ const Case = (props) => {
|
|||||||
showLoginCheck={props.showLoginCheck}
|
showLoginCheck={props.showLoginCheck}
|
||||||
eventsObj={props.eventsObj}
|
eventsObj={props.eventsObj}
|
||||||
mediaObj={props.mediaObj}
|
mediaObj={props.mediaObj}
|
||||||
mapTarget={props.mapTarget}
|
|
||||||
/>
|
/>
|
||||||
|
{showRepresentations == true && (
|
||||||
|
<RepresentationList
|
||||||
|
incidentid={props.incidentid}
|
||||||
|
caseReference={props.caseReference}
|
||||||
|
representationsObj={props.representationsObj}
|
||||||
|
documentDetailsObj={props.documentDetailsObj}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
|
|||||||
+383
-24
@@ -5,7 +5,7 @@ import { useRouter } from "next/router";
|
|||||||
import { useCallback, useEffect, useRef, useState } from "react";
|
import { useCallback, useEffect, useRef, useState } from "react";
|
||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
import transLookup from "../../data/lookuptranslations.json";
|
import transLookup from "../../data/lookuptranslations.json";
|
||||||
import { formatDates, getDocLink, hasOwn } from "../utils";
|
import { formatDates, getDocLink } from "../utils";
|
||||||
import PaginationControl from "./pagination";
|
import PaginationControl from "./pagination";
|
||||||
import { sendGAEvent } from "@next/third-parties/google";
|
import { sendGAEvent } from "@next/third-parties/google";
|
||||||
|
|
||||||
@@ -19,7 +19,6 @@ import { setCurrentPage } from "../../store/currentView/action";
|
|||||||
import { setDocumentDetails } from "../../store/searchOutput/action";
|
import { setDocumentDetails } from "../../store/searchOutput/action";
|
||||||
import DocumentLink from "../utils/downloads";
|
import DocumentLink from "../utils/downloads";
|
||||||
import { useDownloadQueue } from "../utils/downloadmanager";
|
import { useDownloadQueue } from "../utils/downloadmanager";
|
||||||
import resolveCrmDisplayValue from "../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
|
|
||||||
const DocumentDetails = (props) => {
|
const DocumentDetails = (props) => {
|
||||||
let { t, lang } = useTranslation();
|
let { t, lang } = useTranslation();
|
||||||
@@ -39,8 +38,6 @@ const DocumentDetails = (props) => {
|
|||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { locale } = router;
|
const { locale } = router;
|
||||||
|
|
||||||
const appealType = props.currentView?.caseReference?.appealType;
|
|
||||||
|
|
||||||
var documentDetailsArr = documentDetailsObj || [];
|
var documentDetailsArr = documentDetailsObj || [];
|
||||||
const { startDownload, getStatus } = useDownloadQueue(3);
|
const { startDownload, getStatus } = useDownloadQueue(3);
|
||||||
const [selectedOption, setSelectedOption] = useState(10);
|
const [selectedOption, setSelectedOption] = useState(10);
|
||||||
@@ -95,6 +92,352 @@ const DocumentDetails = (props) => {
|
|||||||
};
|
};
|
||||||
let ShowDocLinks = getDocLink(docsOffline);
|
let ShowDocLinks = getDocLink(docsOffline);
|
||||||
|
|
||||||
|
const DocumentView = (documentDetailsArr) => {
|
||||||
|
documentDetailsArr = documentDetailsArr.value;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<p>
|
||||||
|
{documentDetailsObj["@odata.count"] > 1
|
||||||
|
? t("case:documents-count-label-1")
|
||||||
|
: t("case:documents-count-label-1a")}{" "}
|
||||||
|
{documentDetailsObj["@odata.count"]}{" "}
|
||||||
|
{documentDetailsObj["@odata.count"] > 1
|
||||||
|
? t("case:documents-count-label-2")
|
||||||
|
: t("case:documents-count-label-2a")}
|
||||||
|
</p>
|
||||||
|
<div className="documentFilters govuk-!-margin-top-5">
|
||||||
|
<div
|
||||||
|
id="recordDocumentTypeSelect"
|
||||||
|
className="govuk-grid-row govuk-!-margin-left-0"
|
||||||
|
>
|
||||||
|
<div className="govuk-form-group">
|
||||||
|
<label
|
||||||
|
className="govuk-label-s "
|
||||||
|
htmlFor="showDocumentType"
|
||||||
|
>
|
||||||
|
{t("case:documents-show-label")}
|
||||||
|
<select
|
||||||
|
onChange={(e) => {
|
||||||
|
setSelectedDocumentType(e.target.value);
|
||||||
|
setCurrentPage(1);
|
||||||
|
}}
|
||||||
|
value={selectedDocumentType}
|
||||||
|
className="govuk-select"
|
||||||
|
id="showDocumentType"
|
||||||
|
name="showDocumentType"
|
||||||
|
>
|
||||||
|
<option value="all" key="00">
|
||||||
|
{router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path: '$..[?(@ && @.value=="All")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true
|
||||||
|
})
|
||||||
|
: "All"}
|
||||||
|
</option>
|
||||||
|
{documentTypes.map((item, key) => {
|
||||||
|
return (
|
||||||
|
<option
|
||||||
|
key={key}
|
||||||
|
value={
|
||||||
|
item.pinswg_isharedocumentlocations
|
||||||
|
}
|
||||||
|
>
|
||||||
|
{router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
item.pinswg_isharedocumentlocationsLabel +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true
|
||||||
|
})
|
||||||
|
: item.pinswg_isharedocumentlocationsLabel ||
|
||||||
|
t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
</option>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</select>
|
||||||
|
{t("case:documents-count-label-2")}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{documentDetailsObj["@odata.count"] > 5 && (
|
||||||
|
<div
|
||||||
|
id="recordCountSelect"
|
||||||
|
className="govuk-grid-row govuk-!-margin-left-0"
|
||||||
|
>
|
||||||
|
<div className="govuk-form-group">
|
||||||
|
<label
|
||||||
|
className="govuk-label-s "
|
||||||
|
htmlFor="showNumberOfRecords"
|
||||||
|
>
|
||||||
|
{t(
|
||||||
|
"search:searchresults-show-records-label-a"
|
||||||
|
)}
|
||||||
|
<select
|
||||||
|
onChange={(e) => {
|
||||||
|
setSelectedOption(e.target.value);
|
||||||
|
setCurrentPage(1);
|
||||||
|
}}
|
||||||
|
value={selectedOption}
|
||||||
|
className="govuk-select"
|
||||||
|
id="showNumberOfRecords"
|
||||||
|
name="showNumberOfRecords"
|
||||||
|
>
|
||||||
|
<option value="5">5</option>
|
||||||
|
<option value="10">10</option>
|
||||||
|
<option value="20">20</option>
|
||||||
|
<option value="30">30</option>
|
||||||
|
<option value="50">50</option>
|
||||||
|
</select>{" "}
|
||||||
|
{t(
|
||||||
|
"search:searchresults-show-records-label-b"
|
||||||
|
)}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
{ShowDocLinks && (
|
||||||
|
<div className="govuk-warning-text ">
|
||||||
|
<span
|
||||||
|
className="govuk-warning-text__icon"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
!
|
||||||
|
</span>
|
||||||
|
<strong className="govuk-warning-text__text govuk-!-margin-top-2">
|
||||||
|
<span className="govuk-visually-hidden">
|
||||||
|
Notice
|
||||||
|
</span>
|
||||||
|
|
||||||
|
{t("case:documents-not-available-label")}
|
||||||
|
</strong>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
<dl className="documentList govuk-summary-list govuk-!-margin-bottom-9 results">
|
||||||
|
<div className="govuk-summary-list__row results-headings">
|
||||||
|
<dd className="govuk-summary-list__key govuk-!-font-size-16 ">
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onClick={() => sortDataBy("pinswg_name")}
|
||||||
|
className={
|
||||||
|
orderByState == "pinswg_name"
|
||||||
|
? fieldSortState == "asc"
|
||||||
|
? `govuk-link govuk-link--no-underline govuk-!-font-weight-bold govuk-!-font-size-16 sortAsc`
|
||||||
|
: `govuk-link govuk-link--no-underline govuk-!-font-weight-bold govuk-!-font-size-16 sortDesc`
|
||||||
|
: `govuk-link govuk-link--no-underline govuk-!-font-weight-bold govuk-!-font-size-16`
|
||||||
|
}
|
||||||
|
>
|
||||||
|
{t("case:documents-name-label")}
|
||||||
|
</button>
|
||||||
|
</dd>
|
||||||
|
<dd className="govuk-summary-list__key govuk-!-font-size-16">
|
||||||
|
{/* {t("case:documents-doc-type-label")} */}
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onClick={() =>
|
||||||
|
sortDataBy("pinswg_isharedocumentlocations")
|
||||||
|
}
|
||||||
|
className={
|
||||||
|
orderByState ==
|
||||||
|
"pinswg_isharedocumentlocations"
|
||||||
|
? fieldSortState == "asc"
|
||||||
|
? `govuk-link govuk-link--no-underline govuk-!-font-weight-bold govuk-!-font-size-16 sortAsc`
|
||||||
|
: `govuk-link govuk-link--no-underline govuk-!-font-weight-bold govuk-!-font-size-16 sortDesc`
|
||||||
|
: `govuk-link govuk-link--no-underline govuk-!-font-weight-bold govuk-!-font-size-16`
|
||||||
|
}
|
||||||
|
>
|
||||||
|
{t("case:documents-doc-type-label")}
|
||||||
|
</button>
|
||||||
|
</dd>
|
||||||
|
<dd className="govuk-summary-list__key govuk-!-font-size-16">
|
||||||
|
{/* {t("case:documents-date-published-label")} */}
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onClick={() => sortDataBy("createdon")}
|
||||||
|
className={
|
||||||
|
orderByState == "createdon"
|
||||||
|
? fieldSortState == "asc"
|
||||||
|
? `govuk-link govuk-link--no-underline govuk-!-font-weight-bold govuk-!-font-size-16 sortAsc`
|
||||||
|
: `govuk-link govuk-link--no-underline govuk-!-font-weight-bold govuk-!-font-size-16 sortDesc`
|
||||||
|
: `govuk-link govuk-link--no-underline govuk-!-font-weight-bold govuk-!-font-size-16`
|
||||||
|
}
|
||||||
|
>
|
||||||
|
{t("case:documents-date-published-label")}
|
||||||
|
</button>
|
||||||
|
</dd>
|
||||||
|
{/* <dd className="govuk-summary-list__key govuk-!-font-size-16">
|
||||||
|
{t("case:documents-size-label")}
|
||||||
|
</dd> */}
|
||||||
|
</div>
|
||||||
|
{showSpinnerState == true ? (
|
||||||
|
<div className="govuk-summary-list__row">
|
||||||
|
<div className="govuk-!-margin-top-4 govuk-!-margin-bottom-4 govuk-!-font-weight-bold govuk-!-font-size-20 ">
|
||||||
|
{t("common:spinner-fetching-data")}
|
||||||
|
<img
|
||||||
|
className="data-loading-icon"
|
||||||
|
src="/assets/images/loading.gif"
|
||||||
|
alt={
|
||||||
|
router.locale == "cy"
|
||||||
|
? "Nôl data"
|
||||||
|
: "Fetching data"
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
) : (
|
||||||
|
documentDetailsArr.map((item, key) => {
|
||||||
|
let detailsObj = jsonpath({
|
||||||
|
path:
|
||||||
|
"$..[?(@ && @._pinswg_documentids_value=='" +
|
||||||
|
incidentid +
|
||||||
|
"')]",
|
||||||
|
json: item,
|
||||||
|
sanbox: {}
|
||||||
|
});
|
||||||
|
detailsObj = item;
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
className="govuk-summary-list__row"
|
||||||
|
key={key}
|
||||||
|
>
|
||||||
|
<dd className="govuk-summary-list__value govuk-!-font-size-16 ">
|
||||||
|
{showDownloadingState === key && (
|
||||||
|
<div className="coverLoadingLink downloading">
|
||||||
|
{/* <img
|
||||||
|
className="data-loading-icon"
|
||||||
|
src="/assets/images/loading.gif"
|
||||||
|
alt={
|
||||||
|
router.locale ==
|
||||||
|
"cy"
|
||||||
|
? "Nôl data"
|
||||||
|
: "Fetching data"
|
||||||
|
}
|
||||||
|
/> */}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
|
||||||
|
{!ShowDocLinks ? (
|
||||||
|
<Link
|
||||||
|
scroll={false}
|
||||||
|
href={
|
||||||
|
detailsObj.pinswg_hashlink
|
||||||
|
}
|
||||||
|
key={key}
|
||||||
|
onClick={() => {
|
||||||
|
(toggleDownLoadLink(key),
|
||||||
|
sendGAEvent(
|
||||||
|
"event",
|
||||||
|
"DownloadedFile",
|
||||||
|
{
|
||||||
|
caseReference:
|
||||||
|
props.caseReference,
|
||||||
|
filename:
|
||||||
|
detailsObj.pinswg_name
|
||||||
|
}
|
||||||
|
));
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<span className="results-visually-hidden">
|
||||||
|
{t(
|
||||||
|
"case:documents-name-label"
|
||||||
|
)}
|
||||||
|
:
|
||||||
|
</span>
|
||||||
|
{_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_name"
|
||||||
|
)
|
||||||
|
? detailsObj.pinswg_name
|
||||||
|
: ""}
|
||||||
|
</Link>
|
||||||
|
) : (
|
||||||
|
<>
|
||||||
|
<span className="results-visually-hidden">
|
||||||
|
{t(
|
||||||
|
"case:documents-name-label"
|
||||||
|
)}
|
||||||
|
:
|
||||||
|
</span>
|
||||||
|
{_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_name"
|
||||||
|
)
|
||||||
|
? detailsObj.pinswg_name
|
||||||
|
: ""}
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
</dd>
|
||||||
|
<dd className="govuk-summary-list__value govuk-!-font-size-16">
|
||||||
|
<span className="results-visually-hidden">
|
||||||
|
{t("case:documents-doc-type-label")}
|
||||||
|
:
|
||||||
|
</span>
|
||||||
|
|
||||||
|
{router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
|
"pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
</dd>
|
||||||
|
<dd className="govuk-summary-list__value govuk-!-font-size-16">
|
||||||
|
<span className="results-visually-hidden">
|
||||||
|
{t(
|
||||||
|
"case:documents-date-published-label"
|
||||||
|
)}
|
||||||
|
:
|
||||||
|
</span>
|
||||||
|
|
||||||
|
{_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_latestpublisheddate"
|
||||||
|
)
|
||||||
|
? formatDates(
|
||||||
|
detailsObj.pinswg_latestpublisheddate
|
||||||
|
)
|
||||||
|
: ""}
|
||||||
|
</dd>
|
||||||
|
{/* <dd className="govuk-summary-list__value govuk-!-font-size-16">
|
||||||
|
<span className="results-visually-hidden">
|
||||||
|
{t("case:documents-size-label")}:
|
||||||
|
</span>
|
||||||
|
92
|
||||||
|
</dd> */}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
})
|
||||||
|
)}
|
||||||
|
</dl>
|
||||||
|
<PaginationControl
|
||||||
|
showNoOfRecords={selectedOption}
|
||||||
|
currentPage={currentPage}
|
||||||
|
searchResultsObj={documentDetailsObj}
|
||||||
|
spinnerState={spinnerState}
|
||||||
|
orderBy={orderByState}
|
||||||
|
fieldSort={fieldSortState}
|
||||||
|
getDocumentResults={getDocumentResults}
|
||||||
|
/>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
const FilteredDocumentView = (documentDetailsArr) => {
|
const FilteredDocumentView = (documentDetailsArr) => {
|
||||||
documentDetailsArr = documentDetailsArr.value;
|
documentDetailsArr = documentDetailsArr.value;
|
||||||
|
|
||||||
@@ -204,11 +547,19 @@ const DocumentDetails = (props) => {
|
|||||||
item.pinswg_isharedocumentlocations
|
item.pinswg_isharedocumentlocations
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: item.pinswg_isharedocumentlocationsLabel,
|
? jsonpath({
|
||||||
locale,
|
path:
|
||||||
translations: transLookup
|
'$..[?(@ && @.value=="' +
|
||||||
})}{" "}
|
item.pinswg_isharedocumentlocationsLabel +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true
|
||||||
|
})
|
||||||
|
: item.pinswg_isharedocumentlocationsLabel ||
|
||||||
|
t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}{" "}
|
||||||
- ({item.count})
|
- ({item.count})
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
@@ -434,7 +785,7 @@ const DocumentDetails = (props) => {
|
|||||||
)}
|
)}
|
||||||
:
|
:
|
||||||
</span>
|
</span>
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_name"
|
"pinswg_name"
|
||||||
)
|
)
|
||||||
@@ -450,7 +801,7 @@ const DocumentDetails = (props) => {
|
|||||||
)}
|
)}
|
||||||
:
|
:
|
||||||
</span>
|
</span>
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_name"
|
"pinswg_name"
|
||||||
)
|
)
|
||||||
@@ -466,13 +817,24 @@ const DocumentDetails = (props) => {
|
|||||||
)}
|
)}
|
||||||
:
|
:
|
||||||
</span>
|
</span>
|
||||||
{resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
{router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue"
|
"pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup
|
json: transLookup,
|
||||||
})}
|
eval: true
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
</dd>
|
</dd>
|
||||||
<dd className="govuk-summary-list__value govuk-!-font-size-16">
|
<dd className="govuk-summary-list__value govuk-!-font-size-16">
|
||||||
<span className="results-visually-hidden">
|
<span className="results-visually-hidden">
|
||||||
@@ -482,7 +844,7 @@ const DocumentDetails = (props) => {
|
|||||||
:
|
:
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_latestpublisheddate"
|
"pinswg_latestpublisheddate"
|
||||||
)
|
)
|
||||||
@@ -681,17 +1043,14 @@ const DocumentDetails = (props) => {
|
|||||||
<h3>
|
<h3>
|
||||||
{showDocumentSearchState == false
|
{showDocumentSearchState == false
|
||||||
? t("case:documents-checking-label")
|
? t("case:documents-checking-label")
|
||||||
: appealType === 846040002 ||
|
|
||||||
appealType === 846040011
|
|
||||||
? t(
|
|
||||||
"case:documents-non-available-app-label"
|
|
||||||
)
|
|
||||||
: t("case:documents-non-available-label")}
|
: t("case:documents-non-available-label")}
|
||||||
</h3>
|
</h3>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
) : (
|
) : showFilteredDocs == "true" ? (
|
||||||
FilteredDocumentView(documentDetailsArr)
|
FilteredDocumentView(documentDetailsArr)
|
||||||
|
) : (
|
||||||
|
DocumentView(documentDetailsArr)
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+72
-115
@@ -3,16 +3,9 @@ import { setCurrentPage } from "../../store/currentView/action";
|
|||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { formatDates } from "../utils";
|
import { formatDates } from "../utils";
|
||||||
import {
|
|
||||||
getLivePublishedEvent,
|
|
||||||
isEventLiveNow
|
|
||||||
} from "./summary/utils/liveEvent";
|
|
||||||
import { useRouter } from "next/router";
|
|
||||||
|
|
||||||
const EventsDetails = (props) => {
|
const EventsDetails = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
const router = useRouter();
|
|
||||||
const { locale } = router;
|
|
||||||
|
|
||||||
const EventView = (eventsArr) => {
|
const EventView = (eventsArr) => {
|
||||||
eventsArr = eventsArr.value;
|
eventsArr = eventsArr.value;
|
||||||
@@ -30,6 +23,8 @@ const EventsDetails = (props) => {
|
|||||||
return obj.hasOwnProperty(property) && obj[property] !== null;
|
return obj.hasOwnProperty(property) && obj[property] !== null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//console.log(eventsArr.length > 0);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
eventsArr.length > 0 && (
|
eventsArr.length > 0 && (
|
||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
@@ -68,26 +63,76 @@ const EventsDetails = (props) => {
|
|||||||
{item.pinswg_eventname}
|
{item.pinswg_eventname}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
</div>
|
||||||
|
<div className="eventColumn">
|
||||||
{hasOwnPropertyAndNotNull(
|
{hasOwnPropertyAndNotNull(
|
||||||
item,
|
item,
|
||||||
[
|
"pinswg_eventaddressline1"
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
|
||||||
]
|
|
||||||
) && (
|
) && (
|
||||||
|
<>
|
||||||
<div>
|
<div>
|
||||||
<b>
|
<b>
|
||||||
{t(
|
{t(
|
||||||
"case:event-type-of-event-label"
|
"case:event-address-label"
|
||||||
)}
|
)}
|
||||||
</b>
|
</b>
|
||||||
:{" "}
|
:
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
{
|
{
|
||||||
item[
|
item.pinswg_eventaddressline1
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
}
|
||||||
]
|
</div>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
|
||||||
|
{hasOwnPropertyAndNotNull(
|
||||||
|
item,
|
||||||
|
"pinswg_eventaddressline2"
|
||||||
|
) && (
|
||||||
|
<div>
|
||||||
|
{
|
||||||
|
item.pinswg_eventaddressline2
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
{hasOwnPropertyAndNotNull(
|
||||||
|
item,
|
||||||
|
"pinswg_eventaddresstown"
|
||||||
|
) && (
|
||||||
|
<div>
|
||||||
|
{
|
||||||
|
item.pinswg_eventaddresstown
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
{hasOwnPropertyAndNotNull(
|
||||||
|
item,
|
||||||
|
"pinswg_eventaddresscounty"
|
||||||
|
) && (
|
||||||
|
<div>
|
||||||
|
{
|
||||||
|
item.pinswg_eventaddresscounty
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
{hasOwnPropertyAndNotNull(
|
||||||
|
item,
|
||||||
|
"pinswg_eventaddresscounty"
|
||||||
|
) && (
|
||||||
|
<div>
|
||||||
|
{
|
||||||
|
item.pinswg_eventaddresspostcode
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
{/* type of event
|
||||||
|
start date date of event - end date of event
|
||||||
|
|
||||||
|
if virtual event no address showNoOfRecords
|
||||||
|
show event address */}
|
||||||
|
<div className="eventColumn">
|
||||||
{hasOwnPropertyAndNotNull(
|
{hasOwnPropertyAndNotNull(
|
||||||
item,
|
item,
|
||||||
"pinswg_dateeventrequested"
|
"pinswg_dateeventrequested"
|
||||||
@@ -126,114 +171,26 @@ const EventsDetails = (props) => {
|
|||||||
<div className="eventColumn">
|
<div className="eventColumn">
|
||||||
{hasOwnPropertyAndNotNull(
|
{hasOwnPropertyAndNotNull(
|
||||||
item,
|
item,
|
||||||
"pinswg_eventaddressline1"
|
[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue",
|
||||||
|
]
|
||||||
) && (
|
) && (
|
||||||
<>
|
<div>
|
||||||
<div
|
|
||||||
style={{
|
|
||||||
display: "flex"
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<b>
|
<b>
|
||||||
{t(
|
{t(
|
||||||
"case:event-address-label"
|
"case:event-type-of-event-label"
|
||||||
)}
|
)}
|
||||||
</b>
|
</b>
|
||||||
:
|
:{" "}
|
||||||
<div
|
|
||||||
style={{
|
|
||||||
display:
|
|
||||||
"flex",
|
|
||||||
marginLeft:
|
|
||||||
"10px",
|
|
||||||
flexDirection:
|
|
||||||
"column"
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
{hasOwnPropertyAndNotNull(
|
|
||||||
item,
|
|
||||||
"pinswg_eventaddressline1"
|
|
||||||
) && (
|
|
||||||
<span>
|
|
||||||
{
|
{
|
||||||
item.pinswg_eventaddressline1
|
item[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
</span>
|
|
||||||
)}
|
|
||||||
{hasOwnPropertyAndNotNull(
|
|
||||||
item,
|
|
||||||
"pinswg_eventaddressline2"
|
|
||||||
) && (
|
|
||||||
<span>
|
|
||||||
{
|
|
||||||
item.pinswg_eventaddressline2
|
|
||||||
}
|
|
||||||
</span>
|
|
||||||
)}
|
|
||||||
{hasOwnPropertyAndNotNull(
|
|
||||||
item,
|
|
||||||
"pinswg_eventaddresstown"
|
|
||||||
) && (
|
|
||||||
<span>
|
|
||||||
{
|
|
||||||
item.pinswg_eventaddresstown
|
|
||||||
}
|
|
||||||
</span>
|
|
||||||
)}
|
|
||||||
{hasOwnPropertyAndNotNull(
|
|
||||||
item,
|
|
||||||
"pinswg_eventaddresscounty"
|
|
||||||
) && (
|
|
||||||
<span>
|
|
||||||
{
|
|
||||||
item.pinswg_eventaddresscounty
|
|
||||||
}
|
|
||||||
</span>
|
|
||||||
)}
|
|
||||||
{hasOwnPropertyAndNotNull(
|
|
||||||
item,
|
|
||||||
"pinswg_eventaddresscounty"
|
|
||||||
) && (
|
|
||||||
<span>
|
|
||||||
{
|
|
||||||
item.pinswg_eventaddresspostcode
|
|
||||||
}
|
|
||||||
</span>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
{/* type of event
|
|
||||||
start date date of event - end date of event
|
|
||||||
|
|
||||||
if virtual event no address showNoOfRecords
|
|
||||||
show event address */}
|
|
||||||
|
|
||||||
{hasOwnPropertyAndNotNull(
|
|
||||||
item,
|
|
||||||
"pinswg_linktotheevent"
|
|
||||||
) &&
|
|
||||||
isEventLiveNow(item) && (
|
|
||||||
<div className="eventColumn">
|
|
||||||
<a
|
|
||||||
href={
|
|
||||||
locale === "en"
|
|
||||||
? item.pinswg_linktotheevent
|
|
||||||
: item.pinswg_linktotheeventstreamwelsh
|
|
||||||
}
|
|
||||||
className="govuk-link"
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener noreferrer"
|
|
||||||
>
|
|
||||||
{t(
|
|
||||||
"case:live-event-link"
|
|
||||||
)}
|
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
)}{" "}
|
)}{" "}
|
||||||
@@ -246,7 +203,7 @@ const EventsDetails = (props) => {
|
|||||||
|
|
||||||
const mapStateToProps = (state) => {
|
const mapStateToProps = (state) => {
|
||||||
return {
|
return {
|
||||||
...state
|
...state,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -257,7 +214,7 @@ const mapDispatchToProps = (dispatch) => {
|
|||||||
},
|
},
|
||||||
setCurrentPage: (currentPage) => {
|
setCurrentPage: (currentPage) => {
|
||||||
dispatch(setCurrentPage(currentPage));
|
dispatch(setCurrentPage(currentPage));
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
+411
-25
@@ -1,7 +1,404 @@
|
|||||||
|
// // import { setEventDetails } from "../../store/searchOutput/action";
|
||||||
|
// // import { setCurrentPage } from "../../store/currentView/action";
|
||||||
|
// // import { connect } from "react-redux";
|
||||||
|
// // import useTranslation from "next-translate/useTranslation";
|
||||||
|
// // import { formatDates } from "../utils";
|
||||||
|
|
||||||
|
// // const MediaDetails = (props) => {
|
||||||
|
// // let { t } = useTranslation();
|
||||||
|
|
||||||
|
// // const MediaView = (mediaArr) => {
|
||||||
|
// // mediaArr = mediaArr.value;
|
||||||
|
|
||||||
|
// // return mediaArr.map((item, key) => {
|
||||||
|
// // <div>{item.pinswg_name}</div>;
|
||||||
|
// // });
|
||||||
|
// // };
|
||||||
|
|
||||||
|
// // const mediaArr = props.mediaObj?.value || [];
|
||||||
|
|
||||||
|
// // // event publishiing flag set to true displa
|
||||||
|
|
||||||
|
// // function hasOwnPropertyAndNotNull(obj, property) {
|
||||||
|
// // return obj.hasOwnProperty(property) && obj[property] !== null;
|
||||||
|
// // }
|
||||||
|
|
||||||
|
// // //console.log(eventsArr.length > 0);
|
||||||
|
|
||||||
|
// // return (
|
||||||
|
// // mediaArr.length > 0 && (
|
||||||
|
// // <div className="govuk-grid-row">
|
||||||
|
// // <div className="card">
|
||||||
|
// // <div className="card-body">
|
||||||
|
// // <h2 className="govuk-heading-m ">
|
||||||
|
// // {t("case:event-title")}Media
|
||||||
|
// // </h2>
|
||||||
|
// // {mediaArr.map(
|
||||||
|
// // (item, key) =>
|
||||||
|
// // item.pinswg_publishtoweb && (
|
||||||
|
// // <>
|
||||||
|
// // {" "}
|
||||||
|
// // <div className="">
|
||||||
|
// // <div className="">
|
||||||
|
// // <div>
|
||||||
|
// // <b>
|
||||||
|
// // {" "}
|
||||||
|
// // {t(
|
||||||
|
// // "case:event-name-label",
|
||||||
|
// // )}
|
||||||
|
// // </b>
|
||||||
|
// // : {item.pinswg_name}
|
||||||
|
// // </div>
|
||||||
|
// // {hasOwnPropertyAndNotNull(
|
||||||
|
// // item,
|
||||||
|
// // "pinswg_description",
|
||||||
|
// // ) && (
|
||||||
|
// // <div>
|
||||||
|
// // <b>
|
||||||
|
// // {t(
|
||||||
|
// // "case:event-event-name-label",
|
||||||
|
// // )}
|
||||||
|
// // </b>
|
||||||
|
// // :{" "}
|
||||||
|
// // {
|
||||||
|
// // item.pinswg_description
|
||||||
|
// // }
|
||||||
|
// // </div>
|
||||||
|
// // )}
|
||||||
|
// // </div>
|
||||||
|
// // </div>
|
||||||
|
// // </>
|
||||||
|
// // ),
|
||||||
|
// // )}{" "}
|
||||||
|
// // </div>
|
||||||
|
// // </div>
|
||||||
|
// // </div>
|
||||||
|
// // )
|
||||||
|
// // );
|
||||||
|
// // };
|
||||||
|
|
||||||
|
// // const mapStateToProps = (state) => {
|
||||||
|
// // return {
|
||||||
|
// // ...state,
|
||||||
|
// // };
|
||||||
|
// // };
|
||||||
|
|
||||||
|
// // const mapDispatchToProps = (dispatch) => {
|
||||||
|
// // return {
|
||||||
|
// // setEventDetails: (mediaObj) => {
|
||||||
|
// // dispatch(setEventDetails(mediaObj));
|
||||||
|
// // },
|
||||||
|
// // setCurrentPage: (currentPage) => {
|
||||||
|
// // dispatch(setCurrentPage(currentPage));
|
||||||
|
// // },
|
||||||
|
// // };
|
||||||
|
// // };
|
||||||
|
|
||||||
|
// // export default connect(mapStateToProps, mapDispatchToProps)(MediaDetails);
|
||||||
|
// import { useEffect, useMemo, useState } from "react";
|
||||||
|
// import { connect } from "react-redux";
|
||||||
|
// import useTranslation from "next-translate/useTranslation";
|
||||||
|
// import { useRouter } from "next/router";
|
||||||
|
|
||||||
|
// const extractYouTubeId = (input) => {
|
||||||
|
// if (!input) return null;
|
||||||
|
// if (/^[a-zA-Z0-9_-]{11}$/.test(input)) return input;
|
||||||
|
|
||||||
|
// try {
|
||||||
|
// const url = new URL(input);
|
||||||
|
// if (url.hostname.includes("youtu.be"))
|
||||||
|
// return url.pathname.slice(1) || null;
|
||||||
|
|
||||||
|
// const v = url.searchParams.get("v");
|
||||||
|
// if (v) return v;
|
||||||
|
|
||||||
|
// const embedMatch = url.pathname.match(/\/embed\/([^/]+)/);
|
||||||
|
// if (embedMatch?.[1]) return embedMatch[1];
|
||||||
|
|
||||||
|
// const shortsMatch = url.pathname.match(/\/shorts\/([^/]+)/);
|
||||||
|
// if (shortsMatch?.[1]) return shortsMatch[1];
|
||||||
|
|
||||||
|
// return null;
|
||||||
|
// } catch {
|
||||||
|
// return null;
|
||||||
|
// }
|
||||||
|
// };
|
||||||
|
|
||||||
|
// export default function MediaDetails({ mediaObj, whichTab }) {
|
||||||
|
// const router = useRouter();
|
||||||
|
// const mediaArr = mediaObj?.value || [];
|
||||||
|
|
||||||
|
// const videoItems = useMemo(() => {
|
||||||
|
// const isWelsh = router.locale === "cy";
|
||||||
|
|
||||||
|
// return (mediaArr || [])
|
||||||
|
// .filter((x) => x?.pinswg_publishtoweb)
|
||||||
|
// .map((item) => {
|
||||||
|
// const url = isWelsh
|
||||||
|
// ? item.pinswg_mediaLinkCY
|
||||||
|
// : item.pinswg_mediaLinkEN;
|
||||||
|
// const videoId = extractYouTubeId(url);
|
||||||
|
// if (!videoId) return null;
|
||||||
|
|
||||||
|
// return {
|
||||||
|
// key:
|
||||||
|
// item.pinswg_documentid ||
|
||||||
|
// `${item.pinswg_name}-${videoId}`,
|
||||||
|
// videoId,
|
||||||
|
// name: item.pinswg_name || "Video",
|
||||||
|
// description: item.pinswg_description || "",
|
||||||
|
// thumbnail: `https://img.youtube.com/vi/${videoId}/hqdefault.jpg`,
|
||||||
|
// };
|
||||||
|
// })
|
||||||
|
// .filter(Boolean);
|
||||||
|
// }, [mediaArr, router.locale]);
|
||||||
|
|
||||||
|
// const [watchedIds, setWatchedIds] = useState(new Set());
|
||||||
|
// const [selectedIndex, setSelectedIndex] = useState(0);
|
||||||
|
|
||||||
|
// // Forces a fresh iframe instance whenever we need to hard-stop playback
|
||||||
|
// const [playerInstance, setPlayerInstance] = useState(0);
|
||||||
|
|
||||||
|
// const isActive = whichTab === "case-media";
|
||||||
|
// const selected = videoItems[selectedIndex] || null;
|
||||||
|
|
||||||
|
// // When leaving the media tab, hard-stop playback by unmounting (and bumping instance)
|
||||||
|
// useEffect(() => {
|
||||||
|
// if (!isActive) {
|
||||||
|
// setPlayerInstance((n) => n + 1);
|
||||||
|
// }
|
||||||
|
// }, [isActive]);
|
||||||
|
|
||||||
|
// // When list/locale changes, reset to first (no autoplay)
|
||||||
|
// useEffect(() => {
|
||||||
|
// setSelectedIndex(0);
|
||||||
|
// setPlayerInstance((n) => n + 1);
|
||||||
|
// }, [videoItems.length, router.locale]);
|
||||||
|
|
||||||
|
// if (!videoItems.length) return null;
|
||||||
|
|
||||||
|
// const embedBase = "https://www.youtube-nocookie.com/embed";
|
||||||
|
|
||||||
|
// // IMPORTANT:
|
||||||
|
// // - autoplay=0 for initial load
|
||||||
|
// // - autoplay=1 only when user clicks an item
|
||||||
|
// const [autoplay, setAutoplay] = useState(false);
|
||||||
|
|
||||||
|
// useEffect(() => {
|
||||||
|
// // whenever we leave tab or reset player, don't autoplay next time
|
||||||
|
// if (!isActive) setAutoplay(false);
|
||||||
|
// }, [isActive]);
|
||||||
|
|
||||||
|
// const embedSrc = selected
|
||||||
|
// ? `${embedBase}/${selected.videoId}?rel=0&modestbranding=1&playsinline=1&autoplay=${autoplay ? "1" : "0"}`
|
||||||
|
// : "";
|
||||||
|
|
||||||
|
// return (
|
||||||
|
// <div className="govuk-grid-row">
|
||||||
|
// <div className="card">
|
||||||
|
// <div className="card-body">
|
||||||
|
// <h2 className="govuk-heading-m">Media</h2>
|
||||||
|
|
||||||
|
// {/* Player: only render when tab is active */}
|
||||||
|
// {isActive && (
|
||||||
|
// <div className="videoWrapper govuk-!-margin-bottom-4">
|
||||||
|
// <iframe
|
||||||
|
// key={`${selected?.videoId}-${playerInstance}`}
|
||||||
|
// src={embedSrc}
|
||||||
|
// title={selected?.name || "YouTube video"}
|
||||||
|
// frameBorder="0"
|
||||||
|
// allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
||||||
|
// allowFullScreen
|
||||||
|
// />
|
||||||
|
// </div>
|
||||||
|
// )}
|
||||||
|
|
||||||
|
// <h3 className="govuk-heading-s">Videos</h3>
|
||||||
|
// <ul className="govuk-list govuk-list--spaced">
|
||||||
|
// {videoItems.map((v, idx) => {
|
||||||
|
// const isSelected = idx === selectedIndex;
|
||||||
|
// return (
|
||||||
|
// <li key={v.key}>
|
||||||
|
// <button
|
||||||
|
// type="button"
|
||||||
|
// className={`videoTabButton ${isSelected ? "active" : ""}`}
|
||||||
|
// onClick={() => {
|
||||||
|
// setSelectedIndex(idx);
|
||||||
|
// setAutoplay(true); // play only on user action
|
||||||
|
// setPlayerInstance((n) => n + 1); // ensure clean switch / stop previous
|
||||||
|
// setWatchedIds((prev) =>
|
||||||
|
// new Set(prev).add(v.videoId),
|
||||||
|
// );
|
||||||
|
// }}
|
||||||
|
// >
|
||||||
|
// <div className="videoTabContent">
|
||||||
|
// <div className="thumbnailWrapper">
|
||||||
|
// <img
|
||||||
|
// src={v.thumbnail}
|
||||||
|
// alt=""
|
||||||
|
// className="videoThumbnail"
|
||||||
|
// loading="lazy"
|
||||||
|
// />
|
||||||
|
// <span
|
||||||
|
// className="playIcon"
|
||||||
|
// aria-hidden="true"
|
||||||
|
// >
|
||||||
|
// ▶
|
||||||
|
// </span>
|
||||||
|
|
||||||
|
// {/* Duration badge (see section 2) */}
|
||||||
|
// {v.duration && (
|
||||||
|
// <span className="durationBadge">
|
||||||
|
// {v.duration}
|
||||||
|
// </span>
|
||||||
|
// )}
|
||||||
|
|
||||||
|
// {/* Watched indicator (see section 3) */}
|
||||||
|
// {watchedIds.has(v.videoId) && (
|
||||||
|
// <span className="watchedBadge">
|
||||||
|
// Watched
|
||||||
|
// </span>
|
||||||
|
// )}
|
||||||
|
// </div>
|
||||||
|
|
||||||
|
// <span className="videoTitle">
|
||||||
|
// {v.name}
|
||||||
|
// </span>
|
||||||
|
// </div>
|
||||||
|
// </button>
|
||||||
|
// </li>
|
||||||
|
// );
|
||||||
|
// })}
|
||||||
|
// </ul>
|
||||||
|
// </div>
|
||||||
|
// </div>
|
||||||
|
|
||||||
|
// <style jsx>{`
|
||||||
|
// .videoWrapper {
|
||||||
|
// position: relative;
|
||||||
|
// padding-bottom: 56.25%;
|
||||||
|
// height: 0;
|
||||||
|
// overflow: hidden;
|
||||||
|
// border: 1px solid #b1b4b6;
|
||||||
|
// border-radius: 4px;
|
||||||
|
// }
|
||||||
|
// .videoWrapper iframe {
|
||||||
|
// position: absolute;
|
||||||
|
// top: 0;
|
||||||
|
// left: 0;
|
||||||
|
// width: 100%;
|
||||||
|
// height: 100%;
|
||||||
|
// }
|
||||||
|
// .videoTabButton {
|
||||||
|
// width: 100%;
|
||||||
|
// text-align: left;
|
||||||
|
// background: transparent;
|
||||||
|
// border: 1px solid #b1b4b6;
|
||||||
|
// border-radius: 4px;
|
||||||
|
// padding: 10px 12px;
|
||||||
|
// cursor: pointer;
|
||||||
|
// }
|
||||||
|
// .videoTabButton:hover {
|
||||||
|
// background: #f3f2f1;
|
||||||
|
// }
|
||||||
|
// .videoTabButton.active {
|
||||||
|
// border-color: #1d70b8;
|
||||||
|
// box-shadow: inset 0 0 0 1px #1d70b8;
|
||||||
|
// background: #eef4ff;
|
||||||
|
// }
|
||||||
|
// .videoTabContent {
|
||||||
|
// display: flex;
|
||||||
|
// gap: 12px;
|
||||||
|
// align-items: center;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// .videoThumbnail {
|
||||||
|
// width: 120px;
|
||||||
|
// aspect-ratio: 16 / 9;
|
||||||
|
// object-fit: cover;
|
||||||
|
// border-radius: 4px;
|
||||||
|
// border: 1px solid #b1b4b6;
|
||||||
|
// background: #000;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// .videoTitle {
|
||||||
|
// font-weight: 600;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// @media (max-width: 40.0625em) {
|
||||||
|
// .videoThumbnail {
|
||||||
|
// width: 90px;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// .thumbnailWrapper {
|
||||||
|
// position: relative;
|
||||||
|
// width: 120px;
|
||||||
|
// flex-shrink: 0;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// .videoThumbnail {
|
||||||
|
// width: 100%;
|
||||||
|
// aspect-ratio: 16 / 9;
|
||||||
|
// object-fit: cover;
|
||||||
|
// border-radius: 4px;
|
||||||
|
// border: 1px solid #b1b4b6;
|
||||||
|
// background: #000;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// /* ▶ Play icon */
|
||||||
|
// .playIcon {
|
||||||
|
// position: absolute;
|
||||||
|
// inset: 0;
|
||||||
|
// display: flex;
|
||||||
|
// align-items: center;
|
||||||
|
// justify-content: center;
|
||||||
|
// font-size: 32px;
|
||||||
|
// color: white;
|
||||||
|
// text-shadow: 0 0 6px rgba(0, 0, 0, 0.7);
|
||||||
|
// pointer-events: none;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// /* ⏱ Duration badge */
|
||||||
|
// .durationBadge {
|
||||||
|
// position: absolute;
|
||||||
|
// bottom: 6px;
|
||||||
|
// right: 6px;
|
||||||
|
// background: rgba(0, 0, 0, 0.8);
|
||||||
|
// color: white;
|
||||||
|
// font-size: 12px;
|
||||||
|
// padding: 2px 6px;
|
||||||
|
// border-radius: 3px;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// /* 👁 Watched badge */
|
||||||
|
// .watchedBadge {
|
||||||
|
// position: absolute;
|
||||||
|
// top: 6px;
|
||||||
|
// left: 6px;
|
||||||
|
// background: #00703c; /* GOV green */
|
||||||
|
// color: white;
|
||||||
|
// font-size: 11px;
|
||||||
|
// padding: 2px 6px;
|
||||||
|
// border-radius: 3px;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// .videoTabContent {
|
||||||
|
// display: flex;
|
||||||
|
// gap: 12px;
|
||||||
|
// align-items: center;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// .videoTitle {
|
||||||
|
// font-weight: 600;
|
||||||
|
// }
|
||||||
|
// `}</style>
|
||||||
|
// </div>
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
|
||||||
import { useEffect, useMemo, useState } from "react";
|
import { useEffect, useMemo, useState } from "react";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import { getBilingualText } from "./summary/utils/helpers";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MediaDetails
|
* MediaDetails
|
||||||
@@ -50,19 +447,19 @@ const MediaDetails = ({ mediaObj, whichTab, title, useNoCookie = true }) => {
|
|||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
const sourceMedia = mediaObj?.value;
|
const mediaArr = mediaObj?.value || [];
|
||||||
const isActive = whichTab ? whichTab === "case-media" : true;
|
const isActive = whichTab ? whichTab === "case-media" : true;
|
||||||
|
|
||||||
// Build list of playable items (publishable only)
|
// Build list of playable items (publishable only)
|
||||||
const videoItems = useMemo(() => {
|
const videoItems = useMemo(() => {
|
||||||
const isWelsh = router.locale === "cy";
|
const isWelsh = router.locale === "cy";
|
||||||
|
|
||||||
return (sourceMedia || [])
|
return (mediaArr || [])
|
||||||
.filter((x) => x?.pinswg_publishtoweb)
|
.filter((x) => x?.pinswg_publishtoweb)
|
||||||
.map((item) => {
|
.map((item) => {
|
||||||
const link = isWelsh
|
const link = isWelsh
|
||||||
? item.pinswg_videoplatformurlwelsh
|
? item.pinswg_mediaLinkCY
|
||||||
: item.pinswg_videoplatformurl;
|
: item.pinswg_mediaLinkEN;
|
||||||
|
|
||||||
const videoId = extractYouTubeId(link);
|
const videoId = extractYouTubeId(link);
|
||||||
if (!videoId) return null;
|
if (!videoId) return null;
|
||||||
@@ -71,19 +468,19 @@ const MediaDetails = ({ mediaObj, whichTab, title, useNoCookie = true }) => {
|
|||||||
key:
|
key:
|
||||||
item.pinswg_documentid ||
|
item.pinswg_documentid ||
|
||||||
item.pinswg_mediaid ||
|
item.pinswg_mediaid ||
|
||||||
`${item.pinswg_eventrecordingid}-${videoId}`,
|
`${item.pinswg_name}-${videoId}`,
|
||||||
videoId,
|
videoId,
|
||||||
name: item.pinswg_eventrecordingname || "Video",
|
name: item.pinswg_name || "Video",
|
||||||
description: item.pinswg_description || "",
|
description: item.pinswg_description || "",
|
||||||
// If you later store duration in CRM, map it here (e.g. "03:42")
|
// If you later store duration in CRM, map it here (e.g. "03:42")
|
||||||
duration: item.pinswg_duration || null,
|
duration: item.pinswg_duration || null,
|
||||||
thumbnailHQ: `https://img.youtube.com/vi/${videoId}/hqdefault.jpg`,
|
thumbnailHQ: `https://img.youtube.com/vi/${videoId}/hqdefault.jpg`,
|
||||||
thumbnailMax: `https://img.youtube.com/vi/${videoId}/maxresdefault.jpg`,
|
thumbnailMax: `https://img.youtube.com/vi/${videoId}/maxresdefault.jpg`,
|
||||||
raw: item
|
raw: item,
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
.filter(Boolean);
|
.filter(Boolean);
|
||||||
}, [sourceMedia, router.locale]);
|
}, [mediaArr, router.locale]);
|
||||||
|
|
||||||
const [selectedIndex, setSelectedIndex] = useState(0);
|
const [selectedIndex, setSelectedIndex] = useState(0);
|
||||||
|
|
||||||
@@ -149,22 +546,14 @@ const MediaDetails = ({ mediaObj, whichTab, title, useNoCookie = true }) => {
|
|||||||
{selected && (
|
{selected && (
|
||||||
<div className="govuk-!-margin-bottom-4">
|
<div className="govuk-!-margin-bottom-4">
|
||||||
<div className="govuk-body">
|
<div className="govuk-body">
|
||||||
<b>{t("case:event-recording-name-label")}</b>:{" "}
|
<b>{t("case:event-name-label")}</b>:{" "}
|
||||||
{getBilingualText(selected.name, router.locale)}
|
{selected.name}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{!!selected.description && (
|
{!!selected.description && (
|
||||||
<div className="govuk-body">
|
<div className="govuk-body">
|
||||||
<b>
|
<b>{t("case:event-event-name-label")}</b>:{" "}
|
||||||
{t(
|
{selected.description}
|
||||||
"case:event-recording-description-label"
|
|
||||||
)}
|
|
||||||
</b>
|
|
||||||
:{" "}
|
|
||||||
{getBilingualText(
|
|
||||||
selected.description,
|
|
||||||
router.locale
|
|
||||||
)}
|
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
@@ -240,10 +629,7 @@ const MediaDetails = ({ mediaObj, whichTab, title, useNoCookie = true }) => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span className="videoTitle">
|
<span className="videoTitle">
|
||||||
{getBilingualText(
|
{v.name}
|
||||||
v.name,
|
|
||||||
router.locale
|
|
||||||
)}
|
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@@ -2,22 +2,22 @@ import useTranslation from "next-translate/useTranslation";
|
|||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
import { Field, change, reduxForm } from "redux-form";
|
import { Field, change, reduxForm } from "redux-form";
|
||||||
import { useEffect, useState } from "react";
|
import { useState } from "react";
|
||||||
|
|
||||||
import { bytesToSize, getThumbnailIconByExtension } from "../../utils";
|
import { bytesToSize, getThumbnailIconByExtension } from "../../utils";
|
||||||
import {
|
import {
|
||||||
FileUploadField,
|
FileUploadField,
|
||||||
RenderCondtionalRadioList,
|
RenderCondtionalRadioList,
|
||||||
|
RenderPickList,
|
||||||
RenderRichMultiline,
|
RenderRichMultiline,
|
||||||
shouldDisableButton
|
shouldDisableButton,
|
||||||
} from "./representationElements";
|
} from "./representationElements";
|
||||||
import RepresentationTypeSelectorBlock from "./elements/RepresentationTypeSelectorBlock";
|
|
||||||
|
|
||||||
import { useDropzone } from "react-dropzone";
|
import { useDropzone } from "react-dropzone";
|
||||||
import {
|
import {
|
||||||
setRepresentationCapacity,
|
setRepresentationCapacity,
|
||||||
setRepresentationSubmit,
|
setRepresentationSubmit,
|
||||||
setFilesForRepresentations
|
setFilesForRepresentations,
|
||||||
} from "../../../store/currentView/action";
|
} from "../../../store/currentView/action";
|
||||||
|
|
||||||
const ConsultationAgent = (props) => {
|
const ConsultationAgent = (props) => {
|
||||||
@@ -36,23 +36,9 @@ const ConsultationAgent = (props) => {
|
|||||||
setSavingStatus,
|
setSavingStatus,
|
||||||
savingStatus,
|
savingStatus,
|
||||||
setFilesForRepresentations,
|
setFilesForRepresentations,
|
||||||
onRepresentationTypeChange,
|
|
||||||
onTypeSelectionConfirmed
|
|
||||||
} = props;
|
} = props;
|
||||||
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
|
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
|
||||||
|
|
||||||
const persistedRepresentationType =
|
|
||||||
currentView?.caseReference?.repDetails?.representationType;
|
|
||||||
const [typeSelectionConfirmed, setTypeSelectionConfirmed] = useState(
|
|
||||||
!!persistedRepresentationType
|
|
||||||
);
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (persistedRepresentationType) {
|
|
||||||
setTypeSelectionConfirmed(true);
|
|
||||||
}
|
|
||||||
}, [persistedRepresentationType]);
|
|
||||||
|
|
||||||
if (JSON.stringify(formObj) != "{}") {
|
if (JSON.stringify(formObj) != "{}") {
|
||||||
setRepFileName(formObj.representationForm.values);
|
setRepFileName(formObj.representationForm.values);
|
||||||
|
|
||||||
@@ -77,43 +63,63 @@ const ConsultationAgent = (props) => {
|
|||||||
));
|
));
|
||||||
const required = (value) => (value ? undefined : "Required");
|
const required = (value) => (value ? undefined : "Required");
|
||||||
|
|
||||||
const selectedRepresentationType =
|
|
||||||
formObj?.representationForm?.values?.representationType ||
|
|
||||||
props.representationType;
|
|
||||||
|
|
||||||
const isTypeConfirmed =
|
|
||||||
!!selectedRepresentationType && typeSelectionConfirmed;
|
|
||||||
|
|
||||||
const selectedRepresentationTypeDisplay =
|
|
||||||
router.locale == "cy"
|
|
||||||
? selectedRepresentationType == "Questionnaire"
|
|
||||||
? "Holiadur"
|
|
||||||
: selectedRepresentationType == "Statement"
|
|
||||||
? "Datganiad"
|
|
||||||
: selectedRepresentationType == "Final comments"
|
|
||||||
? "Sylwadau terfynol"
|
|
||||||
: selectedRepresentationType
|
|
||||||
: selectedRepresentationType;
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<RepresentationTypeSelectorBlock
|
<div className="govuk-grid-row">
|
||||||
t={t}
|
<div className="govuk-form-group">
|
||||||
headingText={t(
|
{typeof formObj.representationForm.values
|
||||||
|
.representationType == "undefined" &&
|
||||||
|
props.representationType != "Select..." ? (
|
||||||
|
<>
|
||||||
|
<h2 className="govuk-heading-m ">
|
||||||
|
{t(
|
||||||
"myrepresentations:consultation-from-an-agent-heading"
|
"myrepresentations:consultation-from-an-agent-heading"
|
||||||
)}
|
)}
|
||||||
kindLabelText={t(
|
</h2>
|
||||||
|
|
||||||
|
<label
|
||||||
|
className="govuk-label govuk-body-m"
|
||||||
|
htmlFor="representationType"
|
||||||
|
>
|
||||||
|
{t(
|
||||||
"myrepresentations:kind-of-consultation-label"
|
"myrepresentations:kind-of-consultation-label"
|
||||||
)}
|
)}
|
||||||
isTypeSelected={isTypeConfirmed}
|
</label>
|
||||||
selectedTypeDisplay={selectedRepresentationTypeDisplay}
|
|
||||||
representationType={selectedRepresentationType}
|
<Field
|
||||||
setTypeSelectionConfirmed={setTypeSelectionConfirmed}
|
name="representationType"
|
||||||
onRepresentationTypeChange={onRepresentationTypeChange}
|
component={RenderPickList}
|
||||||
onTypeSelectionConfirmed={onTypeSelectionConfirmed}
|
datafieldname="representationType"
|
||||||
optionsArr={appellantApplicantRepresentationArr}
|
optionsArr={
|
||||||
|
appellantApplicantRepresentationArr
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
{isTypeConfirmed && (
|
</>
|
||||||
|
) : (
|
||||||
|
<label className="govuk-label govuk-body-m">
|
||||||
|
{t("myrepresentations:representation-type")}:{" "}
|
||||||
|
{router.locale == "cy"
|
||||||
|
? formObj.representationForm.values
|
||||||
|
.representationType == "Questionnaire"
|
||||||
|
? "Holiadur"
|
||||||
|
: formObj.representationForm.values
|
||||||
|
.representationType == "Statement"
|
||||||
|
? "Datganiad"
|
||||||
|
: formObj.representationForm.values
|
||||||
|
.representationType ==
|
||||||
|
"Final comments"
|
||||||
|
? "Sylwadau terfynol"
|
||||||
|
: formObj.representationForm.values
|
||||||
|
.representationType
|
||||||
|
: formObj.representationForm.values
|
||||||
|
.representationType}
|
||||||
|
</label>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{(typeof props.representationType != "undefined" ||
|
||||||
|
typeof formObj.representationForm.values
|
||||||
|
.representationType != "undefined") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
<div className="govuk-form-group">
|
<div className="govuk-form-group">
|
||||||
@@ -140,7 +146,8 @@ const ConsultationAgent = (props) => {
|
|||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
<div className="govuk-form-group">
|
<div className="govuk-form-group">
|
||||||
<p className="govuk-body">
|
<p className="govuk-body">
|
||||||
{selectedRepresentationType ==
|
{formObj.representationForm.values
|
||||||
|
.representationType ==
|
||||||
"Consultation Response"
|
"Consultation Response"
|
||||||
? t(
|
? t(
|
||||||
"myrepresentations:enter-comment-label"
|
"myrepresentations:enter-comment-label"
|
||||||
@@ -153,7 +160,8 @@ const ConsultationAgent = (props) => {
|
|||||||
className="govuk-fieldset"
|
className="govuk-fieldset"
|
||||||
aria-describedby="commentBox-hint"
|
aria-describedby="commentBox-hint"
|
||||||
>
|
>
|
||||||
{selectedRepresentationType ==
|
{formObj.representationForm.values
|
||||||
|
.representationType ==
|
||||||
"Consultation Response" && (
|
"Consultation Response" && (
|
||||||
<div className="govuk-form-group">
|
<div className="govuk-form-group">
|
||||||
<Field
|
<Field
|
||||||
@@ -215,8 +223,7 @@ const ConsultationAgent = (props) => {
|
|||||||
"myrepresentations:add-files-label"
|
"myrepresentations:add-files-label"
|
||||||
)}
|
)}
|
||||||
ticketnumber={
|
ticketnumber={
|
||||||
props.currentView.caseReference
|
props.props.caseReference
|
||||||
.ticketnumber
|
|
||||||
}
|
}
|
||||||
hint={"sdsd"}
|
hint={"sdsd"}
|
||||||
fileList={
|
fileList={
|
||||||
@@ -258,7 +265,8 @@ const ConsultationAgent = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{isTypeConfirmed && (
|
{typeof formObj.representationForm.values.representationType !=
|
||||||
|
"undefined" && (
|
||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
<div className="govuk-button-group">
|
<div className="govuk-button-group">
|
||||||
<button
|
<button
|
||||||
@@ -267,7 +275,7 @@ const ConsultationAgent = (props) => {
|
|||||||
data-module="govuk-button"
|
data-module="govuk-button"
|
||||||
disabled={shouldDisableButton({
|
disabled={shouldDisableButton({
|
||||||
props,
|
props,
|
||||||
formObj
|
formObj,
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
{t("common:continue-button")}
|
{t("common:continue-button")}
|
||||||
@@ -341,7 +349,7 @@ const mapDispatchToProps = (dispatch) => ({
|
|||||||
|
|
||||||
setFilesForRepresentations: (fileList) => {
|
setFilesForRepresentations: (fileList) => {
|
||||||
dispatch(setFilesForRepresentations(fileList));
|
dispatch(setFilesForRepresentations(fileList));
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
export default connect(
|
export default connect(
|
||||||
@@ -351,6 +359,6 @@ export default connect(
|
|||||||
reduxForm({
|
reduxForm({
|
||||||
form: "representationForm",
|
form: "representationForm",
|
||||||
enableReinitialize: true,
|
enableReinitialize: true,
|
||||||
destroyOnUnmount: false
|
destroyOnUnmount: false,
|
||||||
})(ConsultationAgent)
|
})(ConsultationAgent)
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -2,21 +2,21 @@ import useTranslation from "next-translate/useTranslation";
|
|||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
import { Field, change, reduxForm } from "redux-form";
|
import { Field, change, reduxForm } from "redux-form";
|
||||||
import { useEffect, useState } from "react";
|
import { useState } from "react";
|
||||||
|
|
||||||
import { bytesToSize, getThumbnailIconByExtension } from "../../utils";
|
import { bytesToSize, getThumbnailIconByExtension } from "../../utils";
|
||||||
import {
|
import {
|
||||||
FileUploadField,
|
FileUploadField,
|
||||||
|
RenderPickList,
|
||||||
RenderRichMultiline,
|
RenderRichMultiline,
|
||||||
shouldDisableButton
|
shouldDisableButton,
|
||||||
} from "./representationElements";
|
} from "./representationElements";
|
||||||
import RepresentationTypeSelectorBlock from "./elements/RepresentationTypeSelectorBlock";
|
|
||||||
|
|
||||||
import { useDropzone } from "react-dropzone";
|
import { useDropzone } from "react-dropzone";
|
||||||
import {
|
import {
|
||||||
setRepresentationCapacity,
|
setRepresentationCapacity,
|
||||||
setRepresentationSubmit,
|
setRepresentationSubmit,
|
||||||
setFilesForRepresentations
|
setFilesForRepresentations,
|
||||||
} from "../../../store/currentView/action";
|
} from "../../../store/currentView/action";
|
||||||
|
|
||||||
const ConsultationAppellant = (props) => {
|
const ConsultationAppellant = (props) => {
|
||||||
@@ -35,23 +35,9 @@ const ConsultationAppellant = (props) => {
|
|||||||
setSavingStatus,
|
setSavingStatus,
|
||||||
savingStatus,
|
savingStatus,
|
||||||
setFilesForRepresentations,
|
setFilesForRepresentations,
|
||||||
onRepresentationTypeChange,
|
|
||||||
onTypeSelectionConfirmed
|
|
||||||
} = props;
|
} = props;
|
||||||
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
|
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
|
||||||
|
|
||||||
const persistedRepresentationType =
|
|
||||||
currentView?.caseReference?.repDetails?.representationType;
|
|
||||||
const [typeSelectionConfirmed, setTypeSelectionConfirmed] = useState(
|
|
||||||
!!persistedRepresentationType
|
|
||||||
);
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (persistedRepresentationType) {
|
|
||||||
setTypeSelectionConfirmed(true);
|
|
||||||
}
|
|
||||||
}, [persistedRepresentationType]);
|
|
||||||
|
|
||||||
console.log(JSON.stringify(formObj) == "{}" ? "empty" : "value");
|
console.log(JSON.stringify(formObj) == "{}" ? "empty" : "value");
|
||||||
|
|
||||||
if (JSON.stringify(formObj) != "{}") {
|
if (JSON.stringify(formObj) != "{}") {
|
||||||
@@ -76,47 +62,66 @@ const ConsultationAppellant = (props) => {
|
|||||||
index === self.findIndex((t) => t.name === value.name)
|
index === self.findIndex((t) => t.name === value.name)
|
||||||
);
|
);
|
||||||
|
|
||||||
const selectedRepresentationType =
|
|
||||||
formObj?.representationForm?.values?.representationType ||
|
|
||||||
props.representationType;
|
|
||||||
|
|
||||||
const isTypeConfirmed =
|
|
||||||
!!selectedRepresentationType && typeSelectionConfirmed;
|
|
||||||
|
|
||||||
const selectedRepresentationTypeDisplay =
|
|
||||||
router.locale == "cy"
|
|
||||||
? selectedRepresentationType == "Questionnaire"
|
|
||||||
? "Holiadur"
|
|
||||||
: selectedRepresentationType == "Statement"
|
|
||||||
? "Datganiad"
|
|
||||||
: selectedRepresentationType == "Final comments"
|
|
||||||
? "Sylwadau terfynol"
|
|
||||||
: selectedRepresentationType
|
|
||||||
: selectedRepresentationType;
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<RepresentationTypeSelectorBlock
|
<div className="govuk-grid-row">
|
||||||
t={t}
|
<div className="govuk-form-group">
|
||||||
headingText={t(
|
{typeof formObj.representationForm.values
|
||||||
|
.representationType == "undefined" &&
|
||||||
|
props.representationType != "Select..." ? (
|
||||||
|
<>
|
||||||
|
<h2 className="govuk-heading-m ">
|
||||||
|
{t(
|
||||||
"myrepresentations:consultation-from-an-appellant-heading"
|
"myrepresentations:consultation-from-an-appellant-heading"
|
||||||
)}
|
)}
|
||||||
kindLabelText={t(
|
</h2>
|
||||||
|
<label
|
||||||
|
className="govuk-label govuk-body-m"
|
||||||
|
htmlFor="representationType"
|
||||||
|
>
|
||||||
|
{t(
|
||||||
"myrepresentations:kind-of-consultation-label"
|
"myrepresentations:kind-of-consultation-label"
|
||||||
)}
|
)}
|
||||||
isTypeSelected={isTypeConfirmed}
|
</label>
|
||||||
selectedTypeDisplay={selectedRepresentationTypeDisplay}
|
<Field
|
||||||
representationType={selectedRepresentationType}
|
name="representationType"
|
||||||
setTypeSelectionConfirmed={setTypeSelectionConfirmed}
|
component={RenderPickList}
|
||||||
onRepresentationTypeChange={onRepresentationTypeChange}
|
datafieldname="representationType"
|
||||||
onTypeSelectionConfirmed={onTypeSelectionConfirmed}
|
optionsArr={
|
||||||
optionsArr={appellantApplicantRepresentationArr}
|
appellantApplicantRepresentationArr
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
{isTypeConfirmed && (
|
</>
|
||||||
|
) : (
|
||||||
|
<label className="govuk-label govuk-body-m">
|
||||||
|
{t("myrepresentations:representation-type")}:{" "}
|
||||||
|
{router.locale == "cy"
|
||||||
|
? formObj.representationForm.values
|
||||||
|
.representationType == "Questionnaire"
|
||||||
|
? "Holiadur"
|
||||||
|
: formObj.representationForm.values
|
||||||
|
.representationType == "Statement"
|
||||||
|
? "Datganiad"
|
||||||
|
: formObj.representationForm.values
|
||||||
|
.representationType ==
|
||||||
|
"Final comments"
|
||||||
|
? "Sylwadau terfynol"
|
||||||
|
: formObj.representationForm.values
|
||||||
|
.representationType
|
||||||
|
: formObj.representationForm.values
|
||||||
|
.representationType}
|
||||||
|
</label>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{(typeof props.representationType != "undefined" ||
|
||||||
|
typeof formObj.representationForm.values
|
||||||
|
.representationType != "undefined") && (
|
||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
<div className="govuk-form-group">
|
<div className="govuk-form-group">
|
||||||
<p className="govuk-body">
|
<p className="govuk-body">
|
||||||
{selectedRepresentationType ==
|
{formObj.representationForm.values
|
||||||
|
.representationType ==
|
||||||
"Consultation Response"
|
"Consultation Response"
|
||||||
? t("myrepresentations:enter-comment-label")
|
? t("myrepresentations:enter-comment-label")
|
||||||
: t(
|
: t(
|
||||||
@@ -127,7 +132,8 @@ const ConsultationAppellant = (props) => {
|
|||||||
className="govuk-fieldset"
|
className="govuk-fieldset"
|
||||||
aria-describedby="commentBox-hint"
|
aria-describedby="commentBox-hint"
|
||||||
>
|
>
|
||||||
{selectedRepresentationType ==
|
{formObj.representationForm.values
|
||||||
|
.representationType ==
|
||||||
"Consultation Response" && (
|
"Consultation Response" && (
|
||||||
<div className="govuk-form-group">
|
<div className="govuk-form-group">
|
||||||
<Field
|
<Field
|
||||||
@@ -189,10 +195,7 @@ const ConsultationAppellant = (props) => {
|
|||||||
label={t(
|
label={t(
|
||||||
"myrepresentations:add-files-label"
|
"myrepresentations:add-files-label"
|
||||||
)}
|
)}
|
||||||
ticketnumber={
|
ticketnumber={props.props.caseReference}
|
||||||
props.currentView.caseReference
|
|
||||||
.ticketnumber
|
|
||||||
}
|
|
||||||
hint={"sdsd"}
|
hint={"sdsd"}
|
||||||
fileList={
|
fileList={
|
||||||
props.currentView.fileList
|
props.currentView.fileList
|
||||||
@@ -230,7 +233,8 @@ const ConsultationAppellant = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{isTypeConfirmed && (
|
{typeof formObj.representationForm.values.representationType !=
|
||||||
|
"undefined" && (
|
||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
<div className="govuk-button-group">
|
<div className="govuk-button-group">
|
||||||
<button
|
<button
|
||||||
@@ -239,7 +243,7 @@ const ConsultationAppellant = (props) => {
|
|||||||
data-module="govuk-button"
|
data-module="govuk-button"
|
||||||
disabled={shouldDisableButton({
|
disabled={shouldDisableButton({
|
||||||
props,
|
props,
|
||||||
formObj
|
formObj,
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
{t("common:continue-button")}
|
{t("common:continue-button")}
|
||||||
@@ -249,6 +253,7 @@ const ConsultationAppellant = (props) => {
|
|||||||
onClick={() => {
|
onClick={() => {
|
||||||
setRepresentationCapacity();
|
setRepresentationCapacity();
|
||||||
props.updateField(
|
props.updateField(
|
||||||
|
"representationForm",
|
||||||
"representationType",
|
"representationType",
|
||||||
""
|
""
|
||||||
);
|
);
|
||||||
@@ -316,7 +321,7 @@ const mapDispatchToProps = (dispatch) => {
|
|||||||
|
|
||||||
setFilesForRepresentations: (fileList) => {
|
setFilesForRepresentations: (fileList) => {
|
||||||
dispatch(setFilesForRepresentations(fileList));
|
dispatch(setFilesForRepresentations(fileList));
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -327,6 +332,6 @@ export default connect(
|
|||||||
reduxForm({
|
reduxForm({
|
||||||
form: "representationForm",
|
form: "representationForm",
|
||||||
enableReinitialize: true,
|
enableReinitialize: true,
|
||||||
destroyOnUnmount: false
|
destroyOnUnmount: false,
|
||||||
})(ConsultationAppellant)
|
})(ConsultationAppellant)
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -2,22 +2,22 @@ import useTranslation from "next-translate/useTranslation";
|
|||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
import { Field, change, reduxForm } from "redux-form";
|
import { Field, change, reduxForm } from "redux-form";
|
||||||
import { useEffect, useState } from "react";
|
import { useState } from "react";
|
||||||
|
|
||||||
import { bytesToSize, getThumbnailIconByExtension } from "../../utils";
|
import { bytesToSize, getThumbnailIconByExtension } from "../../utils";
|
||||||
import {
|
import {
|
||||||
FileUploadField,
|
FileUploadField,
|
||||||
RenderCondtionalRadioList,
|
RenderCondtionalRadioList,
|
||||||
|
RenderPickList,
|
||||||
RenderRichMultiline,
|
RenderRichMultiline,
|
||||||
shouldDisableButton
|
shouldDisableButton,
|
||||||
} from "./representationElements";
|
} from "./representationElements";
|
||||||
import RepresentationTypeSelectorBlock from "./elements/RepresentationTypeSelectorBlock";
|
|
||||||
|
|
||||||
import { useDropzone } from "react-dropzone";
|
import { useDropzone } from "react-dropzone";
|
||||||
import {
|
import {
|
||||||
setRepresentationCapacity,
|
setRepresentationCapacity,
|
||||||
setRepresentationSubmit,
|
setRepresentationSubmit,
|
||||||
setFilesForRepresentations
|
setFilesForRepresentations,
|
||||||
} from "../../../store/currentView/action";
|
} from "../../../store/currentView/action";
|
||||||
|
|
||||||
const ConsultationInterestedPartyPerson = (props) => {
|
const ConsultationInterestedPartyPerson = (props) => {
|
||||||
@@ -35,25 +35,11 @@ const ConsultationInterestedPartyPerson = (props) => {
|
|||||||
setSavingStatus,
|
setSavingStatus,
|
||||||
savingStatus,
|
savingStatus,
|
||||||
setFilesForRepresentations,
|
setFilesForRepresentations,
|
||||||
onRepresentationTypeChange,
|
|
||||||
onTypeSelectionConfirmed
|
|
||||||
} = props;
|
} = props;
|
||||||
const required = (value) => (value ? undefined : "Required");
|
const required = (value) => (value ? undefined : "Required");
|
||||||
|
|
||||||
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
|
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
|
||||||
|
|
||||||
const persistedRepresentationType =
|
|
||||||
props.currentView?.caseReference?.repDetails?.representationType;
|
|
||||||
const [typeSelectionConfirmed, setTypeSelectionConfirmed] = useState(
|
|
||||||
!!persistedRepresentationType
|
|
||||||
);
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (persistedRepresentationType) {
|
|
||||||
setTypeSelectionConfirmed(true);
|
|
||||||
}
|
|
||||||
}, [persistedRepresentationType]);
|
|
||||||
|
|
||||||
if (JSON.stringify(formObj) != "{}") {
|
if (JSON.stringify(formObj) != "{}") {
|
||||||
setRepFileName(formObj.representationForm.values);
|
setRepFileName(formObj.representationForm.values);
|
||||||
|
|
||||||
@@ -76,46 +62,67 @@ const ConsultationInterestedPartyPerson = (props) => {
|
|||||||
{file.path} - {file.size} bytes
|
{file.path} - {file.size} bytes
|
||||||
</li>
|
</li>
|
||||||
));
|
));
|
||||||
|
|
||||||
const selectedRepresentationType =
|
|
||||||
formObj?.representationForm?.values?.representationType ||
|
|
||||||
props.representationType;
|
|
||||||
|
|
||||||
const isTypeConfirmed =
|
|
||||||
!!selectedRepresentationType && typeSelectionConfirmed;
|
|
||||||
|
|
||||||
const selectedRepresentationTypeDisplay =
|
|
||||||
router.locale == "cy"
|
|
||||||
? selectedRepresentationType == "Questionnaire"
|
|
||||||
? "Holiadur"
|
|
||||||
: selectedRepresentationType == "Statement"
|
|
||||||
? "Datganiad"
|
|
||||||
: selectedRepresentationType == "Final comments"
|
|
||||||
? "Sylwadau terfynol"
|
|
||||||
: selectedRepresentationType
|
|
||||||
: selectedRepresentationType;
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<RepresentationTypeSelectorBlock
|
<div className="govuk-grid-row">
|
||||||
t={t}
|
<div className="govuk-form-group">
|
||||||
headingText={t(
|
{typeof formObj.representationForm.values
|
||||||
|
.representationType == "undefined" &&
|
||||||
|
props.representationType != "Select..." ? (
|
||||||
|
<>
|
||||||
|
<h2 className="govuk-heading-m ">
|
||||||
|
{t(
|
||||||
"myrepresentations:consultation-from-an-interested-person-heading"
|
"myrepresentations:consultation-from-an-interested-person-heading"
|
||||||
)}
|
)}
|
||||||
kindLabelText={t(
|
</h2>
|
||||||
|
|
||||||
|
<label
|
||||||
|
className="govuk-label govuk-body-m"
|
||||||
|
htmlFor="representationType"
|
||||||
|
>
|
||||||
|
{t(
|
||||||
"myrepresentations:kind-of-consultation-label"
|
"myrepresentations:kind-of-consultation-label"
|
||||||
)}
|
)}
|
||||||
isTypeSelected={isTypeConfirmed}
|
</label>
|
||||||
selectedTypeDisplay={selectedRepresentationTypeDisplay}
|
|
||||||
representationType={selectedRepresentationType}
|
<Field
|
||||||
setTypeSelectionConfirmed={setTypeSelectionConfirmed}
|
name="representationType"
|
||||||
onRepresentationTypeChange={onRepresentationTypeChange}
|
component={RenderPickList}
|
||||||
onTypeSelectionConfirmed={onTypeSelectionConfirmed}
|
datafieldname="representationType"
|
||||||
optionsArr={interestedPersonRepresentationArr}
|
|
||||||
validate={[required]}
|
validate={[required]}
|
||||||
errorMsg={t("myrepresentations:select-an-option-label")}
|
optionsArr={
|
||||||
|
interestedPersonRepresentationArr
|
||||||
|
}
|
||||||
|
errorMsg={t(
|
||||||
|
"myrepresentations:select-an-option-label"
|
||||||
|
)}
|
||||||
/>
|
/>
|
||||||
{isTypeConfirmed && (
|
</>
|
||||||
|
) : (
|
||||||
|
<label className="govuk-label govuk-body-m">
|
||||||
|
{t("myrepresentations:representation-type")}:{" "}
|
||||||
|
{router.locale == "cy"
|
||||||
|
? formObj.representationForm.values
|
||||||
|
.representationType == "Questionnaire"
|
||||||
|
? "Holiadur"
|
||||||
|
: formObj.representationForm.values
|
||||||
|
.representationType == "Statement"
|
||||||
|
? "Datganiad"
|
||||||
|
: formObj.representationForm.values
|
||||||
|
.representationType ==
|
||||||
|
"Final comments"
|
||||||
|
? "Sylwadau terfynol"
|
||||||
|
: formObj.representationForm.values
|
||||||
|
.representationType
|
||||||
|
: formObj.representationForm.values
|
||||||
|
.representationType}
|
||||||
|
</label>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{(typeof props.representationType != "undefined" ||
|
||||||
|
typeof formObj.representationForm.values
|
||||||
|
.representationType != "undefined") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
<div className="govuk-form-group">
|
<div className="govuk-form-group">
|
||||||
@@ -127,7 +134,7 @@ const ConsultationInterestedPartyPerson = (props) => {
|
|||||||
t(
|
t(
|
||||||
"myrepresentations:questionnaire-yes"
|
"myrepresentations:questionnaire-yes"
|
||||||
),
|
),
|
||||||
t("myrepresentations:questionnaire-no")
|
t("myrepresentations:questionnaire-no"),
|
||||||
]}
|
]}
|
||||||
id="representationOnBehalfOf"
|
id="representationOnBehalfOf"
|
||||||
className="govuk-radios__input"
|
className="govuk-radios__input"
|
||||||
@@ -147,7 +154,8 @@ const ConsultationInterestedPartyPerson = (props) => {
|
|||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
<div className="govuk-form-group">
|
<div className="govuk-form-group">
|
||||||
<p className="govuk-body">
|
<p className="govuk-body">
|
||||||
{selectedRepresentationType ==
|
{formObj.representationForm.values
|
||||||
|
.representationType ==
|
||||||
"Consultation Response"
|
"Consultation Response"
|
||||||
? t(
|
? t(
|
||||||
"myrepresentations:enter-comment-label"
|
"myrepresentations:enter-comment-label"
|
||||||
@@ -161,7 +169,8 @@ const ConsultationInterestedPartyPerson = (props) => {
|
|||||||
aria-describedby="commentBox-hint"
|
aria-describedby="commentBox-hint"
|
||||||
>
|
>
|
||||||
{" "}
|
{" "}
|
||||||
{selectedRepresentationType ==
|
{formObj.representationForm.values
|
||||||
|
.representationType ==
|
||||||
"Consultation Response" && (
|
"Consultation Response" && (
|
||||||
<div className="govuk-form-group">
|
<div className="govuk-form-group">
|
||||||
<Field
|
<Field
|
||||||
@@ -223,8 +232,7 @@ const ConsultationInterestedPartyPerson = (props) => {
|
|||||||
"myrepresentations:add-files-label"
|
"myrepresentations:add-files-label"
|
||||||
)}
|
)}
|
||||||
ticketnumber={
|
ticketnumber={
|
||||||
props.currentView.caseReference
|
props.props.caseReference
|
||||||
.ticketnumber
|
|
||||||
}
|
}
|
||||||
hint={"sdsd"}
|
hint={"sdsd"}
|
||||||
fileList={
|
fileList={
|
||||||
@@ -266,7 +274,8 @@ const ConsultationInterestedPartyPerson = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{isTypeConfirmed && (
|
{typeof formObj.representationForm.values.representationType !=
|
||||||
|
"undefined" && (
|
||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
<div className="govuk-button-group">
|
<div className="govuk-button-group">
|
||||||
<button
|
<button
|
||||||
@@ -275,7 +284,7 @@ const ConsultationInterestedPartyPerson = (props) => {
|
|||||||
data-module="govuk-button"
|
data-module="govuk-button"
|
||||||
disabled={shouldDisableButton({
|
disabled={shouldDisableButton({
|
||||||
props,
|
props,
|
||||||
formObj
|
formObj,
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
{t("common:continue-button")}
|
{t("common:continue-button")}
|
||||||
@@ -354,7 +363,7 @@ const mapDispatchToProps = (dispatch) => ({
|
|||||||
dispatch(change(form, field, newValue)),
|
dispatch(change(form, field, newValue)),
|
||||||
setFilesForRepresentations: (fileList) => {
|
setFilesForRepresentations: (fileList) => {
|
||||||
dispatch(setFilesForRepresentations(fileList));
|
dispatch(setFilesForRepresentations(fileList));
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
export default connect(
|
export default connect(
|
||||||
@@ -364,6 +373,6 @@ export default connect(
|
|||||||
reduxForm({
|
reduxForm({
|
||||||
form: "representationForm",
|
form: "representationForm",
|
||||||
enableReinitialize: true,
|
enableReinitialize: true,
|
||||||
destroyOnUnmount: false
|
destroyOnUnmount: false,
|
||||||
})(ConsultationInterestedPartyPerson)
|
})(ConsultationInterestedPartyPerson)
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,134 +1,17 @@
|
|||||||
import { Field } from "redux-form";
|
import { Field } from "redux-form";
|
||||||
import router from "next/router";
|
|
||||||
import Link from "next/link";
|
|
||||||
|
|
||||||
const getRepresentationTypeHint = (option, t) => {
|
import { RenderPickList } from "../representationElements";
|
||||||
const map = {
|
|
||||||
"Statement": t("myrepresentations:rep-type-statement-hint"),
|
|
||||||
"Final comments": t("myrepresentations:rep-type-final-comments-hint"),
|
|
||||||
"Questionnaire": t("myrepresentations:rep-type-questionnaire-hint"),
|
|
||||||
"Consultation Response": t(
|
|
||||||
"myrepresentations:rep-type-consultation-hint"
|
|
||||||
),
|
|
||||||
"Local Impact Report": t("myrepresentations:rep-type-lir-hint"),
|
|
||||||
"Marine Impact Report": t("myrepresentations:rep-type-mir-hint")
|
|
||||||
};
|
|
||||||
|
|
||||||
return map[option] || "";
|
|
||||||
};
|
|
||||||
|
|
||||||
const getRepresentationTypeLabel = (option) => {
|
|
||||||
if (router.locale !== "cy") {
|
|
||||||
return option;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (option === "Questionnaire") {
|
|
||||||
return "Holiadur";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (option === "Statement") {
|
|
||||||
return "Datganiad";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (option === "Final comments") {
|
|
||||||
return "Sylwadau terfynol";
|
|
||||||
}
|
|
||||||
|
|
||||||
return option;
|
|
||||||
};
|
|
||||||
|
|
||||||
const RenderRepresentationTypeRadioList = ({
|
|
||||||
name,
|
|
||||||
optionsArr,
|
|
||||||
errorMsg,
|
|
||||||
onRepresentationTypeChange,
|
|
||||||
input,
|
|
||||||
meta: { touched, error }
|
|
||||||
}) => {
|
|
||||||
return (
|
|
||||||
<div
|
|
||||||
className={
|
|
||||||
touched && error
|
|
||||||
? "govuk-form-group govuk-form-group--error"
|
|
||||||
: "govuk-form-group"
|
|
||||||
}
|
|
||||||
>
|
|
||||||
{touched && error && (
|
|
||||||
<span id={`${name}-error`} className="govuk-error-message">
|
|
||||||
<span className="govuk-visually-hidden">Error:</span>{" "}
|
|
||||||
{errorMsg}
|
|
||||||
</span>
|
|
||||||
)}
|
|
||||||
|
|
||||||
<div className="govuk-radios govuk-radios--small">
|
|
||||||
{optionsArr.map((option, index) => {
|
|
||||||
const optionId = `${name}_${index}`;
|
|
||||||
const hintId = `${optionId}-hint`;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div
|
|
||||||
key={option.value || optionId}
|
|
||||||
className="govuk-radios__item representation-type-option"
|
|
||||||
>
|
|
||||||
<input
|
|
||||||
className="govuk-radios__input"
|
|
||||||
id={optionId}
|
|
||||||
name={input.name}
|
|
||||||
type="radio"
|
|
||||||
value={option.value}
|
|
||||||
checked={input.value === option.value}
|
|
||||||
onChange={() => input.onChange(option.value)}
|
|
||||||
aria-describedby={
|
|
||||||
option.hint ? hintId : undefined
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
|
|
||||||
<label
|
|
||||||
className="govuk-label govuk-radios__label govuk-!-font-weight-bold "
|
|
||||||
htmlFor={optionId}
|
|
||||||
>
|
|
||||||
{option.label}
|
|
||||||
|
|
||||||
{option.hint && (
|
|
||||||
<div
|
|
||||||
id={hintId}
|
|
||||||
className="govuk-hint govuk-!-margin-top-2"
|
|
||||||
>
|
|
||||||
{option.hint}
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
})}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
const RepresentationTypeSelectorBlock = ({
|
const RepresentationTypeSelectorBlock = ({
|
||||||
t,
|
t,
|
||||||
headingText,
|
headingText,
|
||||||
kindLabelText,
|
kindLabelText,
|
||||||
isTypeSelected,
|
isTypeSelected,
|
||||||
selectedTypeDisplay,
|
selectedTypeDisplay,
|
||||||
representationType,
|
|
||||||
setTypeSelectionConfirmed,
|
|
||||||
onRepresentationTypeChange,
|
|
||||||
onTypeSelectionConfirmed,
|
|
||||||
optionsArr,
|
optionsArr,
|
||||||
validate,
|
validate,
|
||||||
errorMsg
|
errorMsg
|
||||||
}) => {
|
}) => {
|
||||||
const enhancedOptions = (optionsArr || [])
|
|
||||||
.filter((option) => option && option !== "Select...")
|
|
||||||
.map((option) => ({
|
|
||||||
value: option,
|
|
||||||
label: getRepresentationTypeLabel(option),
|
|
||||||
hint: getRepresentationTypeHint(option, t)
|
|
||||||
}));
|
|
||||||
|
|
||||||
const hasSelectableOptions = enhancedOptions.length > 0;
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
<div className="govuk-form-group">
|
<div className="govuk-form-group">
|
||||||
@@ -137,59 +20,20 @@ const RepresentationTypeSelectorBlock = ({
|
|||||||
<h2 className="govuk-heading-m ">{headingText}</h2>
|
<h2 className="govuk-heading-m ">{headingText}</h2>
|
||||||
|
|
||||||
<label
|
<label
|
||||||
className="govuk-label govuk-body-m govuk-!-margin-bottom-2"
|
className="govuk-label govuk-body-m"
|
||||||
htmlFor="representationType"
|
htmlFor="representationType"
|
||||||
>
|
>
|
||||||
{kindLabelText}
|
{kindLabelText}
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
{hasSelectableOptions ? (
|
|
||||||
<>
|
|
||||||
<Field
|
<Field
|
||||||
name="representationType"
|
name="representationType"
|
||||||
component={
|
component={RenderPickList}
|
||||||
RenderRepresentationTypeRadioList
|
datafieldname="representationType"
|
||||||
}
|
|
||||||
onRepresentationTypeChange={
|
|
||||||
onRepresentationTypeChange
|
|
||||||
}
|
|
||||||
validate={validate}
|
validate={validate}
|
||||||
optionsArr={enhancedOptions}
|
optionsArr={optionsArr}
|
||||||
errorMsg={errorMsg}
|
errorMsg={errorMsg}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
className="govuk-button"
|
|
||||||
data-module="govuk-button"
|
|
||||||
disabled={!representationType}
|
|
||||||
onClick={() => {
|
|
||||||
if (representationType) {
|
|
||||||
setTypeSelectionConfirmed(true);
|
|
||||||
onTypeSelectionConfirmed &&
|
|
||||||
onTypeSelectionConfirmed(
|
|
||||||
representationType
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
{t("common:continue-button")}
|
|
||||||
</button>
|
|
||||||
</>
|
|
||||||
) : (
|
|
||||||
<>
|
|
||||||
<p className="govuk-body">
|
|
||||||
{t(
|
|
||||||
"myrepresentations:representation-type-unavailable-label"
|
|
||||||
)}
|
|
||||||
</p>
|
|
||||||
<Link className="govuk-link" href="/">
|
|
||||||
{t(
|
|
||||||
"myrepresentations:return-home-link-label"
|
|
||||||
)}
|
|
||||||
</Link>
|
|
||||||
</>
|
|
||||||
)}
|
|
||||||
</>
|
</>
|
||||||
) : (
|
) : (
|
||||||
<label className="govuk-label govuk-body-m">
|
<label className="govuk-label govuk-body-m">
|
||||||
|
|||||||
@@ -52,18 +52,12 @@ import {
|
|||||||
buildSubmitEnrichedValues,
|
buildSubmitEnrichedValues,
|
||||||
runFinalisationSequence
|
runFinalisationSequence
|
||||||
} from "./utils/finalisationBoundary";
|
} from "./utils/finalisationBoundary";
|
||||||
import { buildRepresentationContext } from "./utils/buildRepsArrRules";
|
|
||||||
import { getAvailableRepresentationTypes } from "../../../lib/domain/representation-type-policy/getAvailableRepresentationTypes";
|
|
||||||
|
|
||||||
let MakeRepresentation = (props) => {
|
let MakeRepresentation = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
|
|
||||||
const [savingStatus, setSavingStatus] = useState(false);
|
const [savingStatus, setSavingStatus] = useState(false);
|
||||||
const [finaliseAppealProcess, setFinaliseAppealProcess] = useState(false);
|
const [finaliseAppealProcess, setFinaliseAppealProcess] = useState(false);
|
||||||
const [representationTypeConfirmed, setRepresentationTypeConfirmed] =
|
|
||||||
useState(
|
|
||||||
!!props?.currentView?.caseReference?.repDetails?.representationType
|
|
||||||
);
|
|
||||||
|
|
||||||
//const [questionnaireCount, setQuestionnaireCount] = useState(0);
|
//const [questionnaireCount, setQuestionnaireCount] = useState(0);
|
||||||
|
|
||||||
@@ -255,14 +249,9 @@ let MakeRepresentation = (props) => {
|
|||||||
|
|
||||||
var detailsObj = {};
|
var detailsObj = {};
|
||||||
|
|
||||||
// const isAppellant =
|
|
||||||
// props.props.accountDetails.accountDetails.pinswg_typeofinvolvement ===
|
|
||||||
// 846040001;
|
|
||||||
|
|
||||||
const isAppellant =
|
const isAppellant =
|
||||||
props.props.accountDetails.accountDetails.emailaddress1 ==
|
props.props.accountDetails.accountDetails.pinswg_typeofinvolvement ===
|
||||||
props.searchResultsObj?.searchResultsObj?.value[0].customerid_contact
|
846040001;
|
||||||
.emailaddress1;
|
|
||||||
|
|
||||||
const capacityOptionsArr = [];
|
const capacityOptionsArr = [];
|
||||||
|
|
||||||
@@ -314,25 +303,259 @@ let MakeRepresentation = (props) => {
|
|||||||
const safeDetailsObj = detailsObj || {};
|
const safeDetailsObj = detailsObj || {};
|
||||||
const safeResultsObj = resultsObj || {};
|
const safeResultsObj = resultsObj || {};
|
||||||
|
|
||||||
|
// blocked out build reps arr for refactoring
|
||||||
|
// const buildRepsArr = (detailsObj) => {
|
||||||
|
// const buildArr = [];
|
||||||
|
// const todaysDate = new Date();
|
||||||
|
|
||||||
|
// const isDNS = appealType === 846040011;
|
||||||
|
// const isSIPS = appealType === 846040002;
|
||||||
|
// const isIP = true;
|
||||||
|
|
||||||
|
// const isAppellant =
|
||||||
|
// props.props.accountDetails.accountDetails
|
||||||
|
// .pinswg_typeofinvolvement === 846040001;
|
||||||
|
|
||||||
|
// // Determine key dates based on appeal type
|
||||||
|
// const startDate = new Date(
|
||||||
|
// isDNS
|
||||||
|
// ? detailsObj.pinswg_applicationacceptedasvalid
|
||||||
|
// : detailsObj.pinswg_startdate || detailsObj.pinswg_startdates
|
||||||
|
// );
|
||||||
|
|
||||||
|
// const questionnaireDate = new Date(
|
||||||
|
// isDNS
|
||||||
|
// ? detailsObj.pinswg_endofrepresentationperiod
|
||||||
|
// : detailsObj.pinswg_questionnaireduedate
|
||||||
|
// );
|
||||||
|
// questionnaireDate.setHours(23, 59, 59, 999);
|
||||||
|
|
||||||
|
// const finalCommentsDate = new Date(
|
||||||
|
// isDNS
|
||||||
|
// ? detailsObj.pinswg_endofrepresentationperiod
|
||||||
|
// : detailsObj.pinswg_finalcommentsduedate
|
||||||
|
// );
|
||||||
|
// finalCommentsDate.setHours(23, 59, 59, 999);
|
||||||
|
|
||||||
|
// const statementDueDate = new Date(
|
||||||
|
// isDNS
|
||||||
|
// ? detailsObj.pinswg_endofrepresentationperiod
|
||||||
|
// : detailsObj.pinswg_statementduedate ||
|
||||||
|
// detailsObj.pinswg_statementsduedate
|
||||||
|
// );
|
||||||
|
// statementDueDate.setHours(23, 59, 59, 999);
|
||||||
|
|
||||||
|
// // Shared condition
|
||||||
|
// const isWithin = (start, end) =>
|
||||||
|
// todaysDate >= start && todaysDate <= end;
|
||||||
|
// const notAppeal = (...types) => !types.includes(appealType);
|
||||||
|
|
||||||
|
// // Questionnaire
|
||||||
|
// if (
|
||||||
|
// isLPA &&
|
||||||
|
// notAppeal(846040019, 846040011, 846040015, 846040016) &&
|
||||||
|
// isWithin(startDate, finalCommentsDate)
|
||||||
|
// ) {
|
||||||
|
// buildArr.push("Questionnaire");
|
||||||
|
// }
|
||||||
|
|
||||||
|
// // DNS LPA Documents
|
||||||
|
// if (
|
||||||
|
// isLPA &&
|
||||||
|
// isDNS &&
|
||||||
|
// appealType !== 846040019 &&
|
||||||
|
// isWithin(startDate, finalCommentsDate)
|
||||||
|
// ) {
|
||||||
|
// buildArr.push("Local Impact Report", "Statement");
|
||||||
|
// }
|
||||||
|
|
||||||
|
// // Non-DNS Statement
|
||||||
|
// if (
|
||||||
|
// !isDNS &&
|
||||||
|
// appealType !== 846040004 &&
|
||||||
|
// isWithin(startDate, statementDueDate)
|
||||||
|
// ) {
|
||||||
|
// buildArr.push("Statement");
|
||||||
|
// }
|
||||||
|
|
||||||
|
// // DNS Non-LPA Statement
|
||||||
|
// if (isDNS && !isLPA && isWithin(startDate, statementDueDate)) {
|
||||||
|
// buildArr.push("Statement");
|
||||||
|
// }
|
||||||
|
|
||||||
|
// // Final Comments
|
||||||
|
// const isSpecialistNonHearing =
|
||||||
|
// currentView.caseReference.specialistProcess !== 846040001;
|
||||||
|
|
||||||
|
// if (
|
||||||
|
// (appealType !== 846040004 ||
|
||||||
|
// (appealType === 846040015 && isSpecialistNonHearing)) &&
|
||||||
|
// isWithin(statementDueDate, finalCommentsDate)
|
||||||
|
// ) {
|
||||||
|
// buildArr.push("Final comments");
|
||||||
|
// }
|
||||||
|
|
||||||
|
// if (
|
||||||
|
// appealType === 846040004 &&
|
||||||
|
// isSpecialistNonHearing &&
|
||||||
|
// isWithin(statementDueDate, finalCommentsDate)
|
||||||
|
// ) {
|
||||||
|
// buildArr.push("Final comments");
|
||||||
|
// }
|
||||||
|
|
||||||
|
// // Remove "Statement" for LPA Advert Part 3 (no statement)
|
||||||
|
// if (
|
||||||
|
// isLPA &&
|
||||||
|
// appealType === 846040018 &&
|
||||||
|
// currentView.caseReference.specialistProcess === 846040000
|
||||||
|
// ) {
|
||||||
|
// const index = buildArr.indexOf("Statement");
|
||||||
|
// if (index !== -1) buildArr.splice(index, 1);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// // SIPS-related documents
|
||||||
|
// if (isSIPS) {
|
||||||
|
// const capacity = repCapacityType();
|
||||||
|
// if (capacity === "appellant") {
|
||||||
|
// buildArr.push("Consultation Response");
|
||||||
|
// } else {
|
||||||
|
// buildArr.push("Consultation Response", "Local Impact Report");
|
||||||
|
// }
|
||||||
|
|
||||||
|
// if (isNRW) {
|
||||||
|
// buildArr.push("Marine Impact Report");
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// return buildArr;
|
||||||
|
// };
|
||||||
|
|
||||||
const buildRepsArr = (detailsObj) => {
|
const buildRepsArr = (detailsObj) => {
|
||||||
const isCaseOwner =
|
const buildArr = [];
|
||||||
props.props.accountDetails.accountDetails.emailaddress1 ==
|
const todaysDate = new Date();
|
||||||
props.searchResultsObj?.searchResultsObj?.value[0]
|
|
||||||
.customerid_contact.emailaddress1;
|
|
||||||
|
|
||||||
const ctx = buildRepresentationContext({
|
const isDNS = appealType === 846040011;
|
||||||
detailsObj,
|
const isSIPS = appealType === 846040002;
|
||||||
appealType,
|
const specialistProcess = currentView.caseReference.specialistProcess;
|
||||||
specialistProcess: currentView.caseReference.specialistProcess,
|
|
||||||
involvementType:
|
const isSpecialistNonHearing = specialistProcess !== 846040001;
|
||||||
|
|
||||||
|
const involvementType =
|
||||||
props.props?.accountDetails?.accountDetails
|
props.props?.accountDetails?.accountDetails
|
||||||
?.pinswg_typeofinvolvement,
|
?.pinswg_typeofinvolvement;
|
||||||
selectedCapacity: repCapacityType(),
|
|
||||||
isCaseOwner,
|
|
||||||
isNRW
|
|
||||||
});
|
|
||||||
|
|
||||||
return getAvailableRepresentationTypes(ctx);
|
const isAppellant = involvementType === 846040001;
|
||||||
|
const isAgent = involvementType === 846040000;
|
||||||
|
const isIP = involvementType === 846040061;
|
||||||
|
//const isLPA = involvementType === 846040000;
|
||||||
|
|
||||||
|
const startDate = new Date(
|
||||||
|
isDNS
|
||||||
|
? detailsObj.pinswg_applicationacceptedasvalid
|
||||||
|
: detailsObj.pinswg_startdate || detailsObj.pinswg_startdates
|
||||||
|
);
|
||||||
|
|
||||||
|
const finalCommentsDate = new Date(
|
||||||
|
isDNS
|
||||||
|
? detailsObj.pinswg_endofrepresentationperiod
|
||||||
|
: detailsObj.pinswg_finalcommentsduedate
|
||||||
|
);
|
||||||
|
finalCommentsDate.setHours(23, 59, 59, 999);
|
||||||
|
|
||||||
|
const statementDueDate = new Date(
|
||||||
|
isDNS
|
||||||
|
? detailsObj.pinswg_endofrepresentationperiod
|
||||||
|
: detailsObj.pinswg_statementduedate ||
|
||||||
|
detailsObj.pinswg_statementsduedate
|
||||||
|
);
|
||||||
|
statementDueDate.setHours(23, 59, 59, 999);
|
||||||
|
|
||||||
|
const isWithin = (start, end) =>
|
||||||
|
todaysDate >= start && todaysDate <= end;
|
||||||
|
|
||||||
|
const addRep = (value) => {
|
||||||
|
if (!buildArr.includes(value)) {
|
||||||
|
buildArr.push(value);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const canAddQuestionnaire =
|
||||||
|
isLPA &&
|
||||||
|
![846040019, 846040011, 846040015, 846040016].includes(
|
||||||
|
appealType
|
||||||
|
) &&
|
||||||
|
isWithin(startDate, finalCommentsDate);
|
||||||
|
|
||||||
|
if (canAddQuestionnaire) {
|
||||||
|
addRep("Questionnaire");
|
||||||
|
}
|
||||||
|
|
||||||
|
const isLpaAdvertPart3NoStatement =
|
||||||
|
isLPA &&
|
||||||
|
appealType === 846040018 &&
|
||||||
|
specialistProcess === 846040000;
|
||||||
|
|
||||||
|
const canAddDnsLpaDocs =
|
||||||
|
isLPA &&
|
||||||
|
isDNS &&
|
||||||
|
appealType !== 846040019 &&
|
||||||
|
!isAppellant &&
|
||||||
|
isWithin(startDate, finalCommentsDate);
|
||||||
|
|
||||||
|
if (canAddDnsLpaDocs) {
|
||||||
|
addRep("Local Impact Report");
|
||||||
|
addRep("Statement");
|
||||||
|
}
|
||||||
|
|
||||||
|
const canAddStatementForNonDns =
|
||||||
|
!isDNS &&
|
||||||
|
appealType !== 846040004 &&
|
||||||
|
!isLpaAdvertPart3NoStatement &&
|
||||||
|
!isAppellant &&
|
||||||
|
isWithin(startDate, statementDueDate);
|
||||||
|
|
||||||
|
if (canAddStatementForNonDns) {
|
||||||
|
addRep("Statement");
|
||||||
|
}
|
||||||
|
|
||||||
|
const canAddStatementForDnsNonLpa =
|
||||||
|
isDNS &&
|
||||||
|
!isLPA &&
|
||||||
|
!isAppellant &&
|
||||||
|
isWithin(startDate, statementDueDate);
|
||||||
|
|
||||||
|
if (canAddStatementForDnsNonLpa) {
|
||||||
|
addRep("Statement");
|
||||||
|
}
|
||||||
|
|
||||||
|
const canSubmitFinalComments = isAppellant || isAgent || isIP || isLPA;
|
||||||
|
|
||||||
|
const canAddFinalComments =
|
||||||
|
canSubmitFinalComments &&
|
||||||
|
isWithin(statementDueDate, finalCommentsDate) &&
|
||||||
|
(appealType !== 846040004 || isSpecialistNonHearing);
|
||||||
|
|
||||||
|
// IP and Agents and LPA can do final comments.
|
||||||
|
|
||||||
|
if (canAddFinalComments) {
|
||||||
|
addRep("Final comments");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isSIPS) {
|
||||||
|
const capacity = repCapacityType();
|
||||||
|
|
||||||
|
addRep("Consultation Response");
|
||||||
|
|
||||||
|
if (capacity !== "appellant") {
|
||||||
|
addRep("Local Impact Report");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isNRW) {
|
||||||
|
addRep("Marine Impact Report");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return buildArr;
|
||||||
};
|
};
|
||||||
|
|
||||||
const repCapacityType = () => {
|
const repCapacityType = () => {
|
||||||
@@ -363,10 +586,7 @@ let MakeRepresentation = (props) => {
|
|||||||
updateRepresentation,
|
updateRepresentation,
|
||||||
setSavingStatus,
|
setSavingStatus,
|
||||||
savingStatus,
|
savingStatus,
|
||||||
setCurrentReference,
|
setCurrentReference
|
||||||
onRepresentationTypeChange: () =>
|
|
||||||
setRepresentationTypeConfirmed(false),
|
|
||||||
onTypeSelectionConfirmed: () => setRepresentationTypeConfirmed(true)
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const { controlKey } = resolveRepresentationControlKey({
|
const { controlKey } = resolveRepresentationControlKey({
|
||||||
@@ -571,7 +791,7 @@ let MakeRepresentation = (props) => {
|
|||||||
loggedinUserEmail
|
loggedinUserEmail
|
||||||
} = props.props;
|
} = props.props;
|
||||||
const incidentID = props.appealType.caseReference.incidentid;
|
const incidentID = props.appealType.caseReference.incidentid;
|
||||||
const currentRef = caseReferenceObj.ticketnumber;
|
const currentRef = caseReferenceObj.currentReference;
|
||||||
const containerID = accountDetails.containerID;
|
const containerID = accountDetails.containerID;
|
||||||
|
|
||||||
setSavingStatus(useSaveStatus);
|
setSavingStatus(useSaveStatus);
|
||||||
@@ -872,29 +1092,15 @@ let MakeRepresentation = (props) => {
|
|||||||
// Prepare data object for upload
|
// Prepare data object for upload
|
||||||
const dataObj = cleanedValues;
|
const dataObj = cleanedValues;
|
||||||
|
|
||||||
const caseFolderReference =
|
|
||||||
props.caseReference ||
|
|
||||||
dataObj.ticketnumber ||
|
|
||||||
currentView?.caseReference?.ticketnumber ||
|
|
||||||
currentView?.caseReference?.currentReference ||
|
|
||||||
dataObj.caseRef ||
|
|
||||||
"";
|
|
||||||
|
|
||||||
// Update links on values
|
// Update links on values
|
||||||
const updatedValues = updateLinks(cleanedValues);
|
const updatedValues = updateLinks(cleanedValues);
|
||||||
|
|
||||||
const resolvedContainerID =
|
|
||||||
updatedValues.containerID ||
|
|
||||||
dataObj.containerID ||
|
|
||||||
props?.props?.accountDetails?.containerID ||
|
|
||||||
props?.props?.accountDetails?.accountDetails?.containerID;
|
|
||||||
|
|
||||||
// Perform file upload and return the promise
|
// Perform file upload and return the promise
|
||||||
return uploadRepFiles(
|
return uploadRepFiles(
|
||||||
dataObj,
|
dataObj,
|
||||||
[{}],
|
[{}],
|
||||||
resolvedContainerID,
|
updatedValues.containerID,
|
||||||
`${caseFolderReference}/${dataObj.repfile_name}`
|
`${props.caseReference}/${dataObj.repfile_name}`
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -902,7 +1108,7 @@ let MakeRepresentation = (props) => {
|
|||||||
|
|
||||||
const isQuestionnaire =
|
const isQuestionnaire =
|
||||||
formObj?.representationForm?.values?.representationType ===
|
formObj?.representationForm?.values?.representationType ===
|
||||||
"Questionnaire" && representationTypeConfirmed;
|
"Questionnaire";
|
||||||
|
|
||||||
const appealIsConsultation = appealType === 846040002;
|
const appealIsConsultation = appealType === 846040002;
|
||||||
const appealIsLocalImpact =
|
const appealIsLocalImpact =
|
||||||
@@ -1004,12 +1210,8 @@ let MakeRepresentation = (props) => {
|
|||||||
<RepresentationFlowFormStage
|
<RepresentationFlowFormStage
|
||||||
t={t}
|
t={t}
|
||||||
appealIsConsultation={appealIsConsultation}
|
appealIsConsultation={appealIsConsultation}
|
||||||
currentReference={ticketnumber}
|
currentReference={
|
||||||
caseTitle={
|
currentView.caseReference.currentReference
|
||||||
currentView?.caseReference?.repDetails
|
|
||||||
?.pinswg_name ||
|
|
||||||
currentView?.currentReference ||
|
|
||||||
currentView?.caseReference.currentReference
|
|
||||||
}
|
}
|
||||||
whichControl={whichControl}
|
whichControl={whichControl}
|
||||||
appealIsLocalImpact={appealIsLocalImpact}
|
appealIsLocalImpact={appealIsLocalImpact}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import useTranslation from "next-translate/useTranslation";
|
|||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
import { Field, change, reduxForm } from "redux-form";
|
import { Field, change, reduxForm } from "redux-form";
|
||||||
import { useEffect, useState } from "react";
|
import { useState } from "react";
|
||||||
|
|
||||||
import { bytesToSize, getThumbnailIconByExtension } from "../../utils";
|
import { bytesToSize, getThumbnailIconByExtension } from "../../utils";
|
||||||
import {
|
import {
|
||||||
@@ -36,24 +36,10 @@ const RepAgent = (props) => {
|
|||||||
updateRepresentation,
|
updateRepresentation,
|
||||||
setSavingStatus,
|
setSavingStatus,
|
||||||
savingStatus,
|
savingStatus,
|
||||||
setFilesForRepresentations,
|
setFilesForRepresentations
|
||||||
onRepresentationTypeChange,
|
|
||||||
onTypeSelectionConfirmed
|
|
||||||
} = props;
|
} = props;
|
||||||
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
|
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
|
||||||
|
|
||||||
const persistedRepresentationType =
|
|
||||||
currentView?.caseReference?.repDetails?.representationType;
|
|
||||||
const [typeSelectionConfirmed, setTypeSelectionConfirmed] = useState(
|
|
||||||
!!persistedRepresentationType
|
|
||||||
);
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (persistedRepresentationType) {
|
|
||||||
setTypeSelectionConfirmed(true);
|
|
||||||
}
|
|
||||||
}, [persistedRepresentationType]);
|
|
||||||
|
|
||||||
if (JSON.stringify(formObj) != "{}") {
|
if (JSON.stringify(formObj) != "{}") {
|
||||||
setRepFileName(formObj.representationForm.values);
|
setRepFileName(formObj.representationForm.values);
|
||||||
|
|
||||||
@@ -78,23 +64,23 @@ const RepAgent = (props) => {
|
|||||||
));
|
));
|
||||||
const required = (value) => (value ? undefined : "Required");
|
const required = (value) => (value ? undefined : "Required");
|
||||||
|
|
||||||
const selectedRepresentationType =
|
const hasTypeSelectionInline =
|
||||||
formObj?.representationForm?.values?.representationType ||
|
typeof formObj.representationForm.values.representationType ==
|
||||||
props.representationType;
|
"undefined" && props.representationType != "Select...";
|
||||||
|
|
||||||
const isTypeConfirmed =
|
|
||||||
!!selectedRepresentationType && typeSelectionConfirmed;
|
|
||||||
|
|
||||||
const selectedRepresentationTypeDisplay =
|
const selectedRepresentationTypeDisplay =
|
||||||
router.locale == "cy"
|
router.locale == "cy"
|
||||||
? selectedRepresentationType == "Questionnaire"
|
? formObj.representationForm.values.representationType ==
|
||||||
|
"Questionnaire"
|
||||||
? "Holiadur"
|
? "Holiadur"
|
||||||
: selectedRepresentationType == "Statement"
|
: formObj.representationForm.values.representationType ==
|
||||||
|
"Statement"
|
||||||
? "Datganiad"
|
? "Datganiad"
|
||||||
: selectedRepresentationType == "Final comments"
|
: formObj.representationForm.values.representationType ==
|
||||||
|
"Final comments"
|
||||||
? "Sylwadau terfynol"
|
? "Sylwadau terfynol"
|
||||||
: selectedRepresentationType
|
: formObj.representationForm.values.representationType
|
||||||
: selectedRepresentationType;
|
: formObj.representationForm.values.representationType;
|
||||||
|
|
||||||
const handleSaveExit = () => {
|
const handleSaveExit = () => {
|
||||||
let valuesObj = props.props.props.form[props.form].values || {};
|
let valuesObj = props.props.props.form[props.form].values || {};
|
||||||
@@ -112,15 +98,13 @@ const RepAgent = (props) => {
|
|||||||
"myrepresentations:representation-from-an-agent-heading"
|
"myrepresentations:representation-from-an-agent-heading"
|
||||||
)}
|
)}
|
||||||
kindLabelText={t("myrepresentations:kind-of-rep-label")}
|
kindLabelText={t("myrepresentations:kind-of-rep-label")}
|
||||||
isTypeSelected={isTypeConfirmed}
|
isTypeSelected={!hasTypeSelectionInline}
|
||||||
selectedTypeDisplay={selectedRepresentationTypeDisplay}
|
selectedTypeDisplay={selectedRepresentationTypeDisplay}
|
||||||
representationType={selectedRepresentationType}
|
|
||||||
setTypeSelectionConfirmed={setTypeSelectionConfirmed}
|
|
||||||
onRepresentationTypeChange={onRepresentationTypeChange}
|
|
||||||
onTypeSelectionConfirmed={onTypeSelectionConfirmed}
|
|
||||||
optionsArr={appellantApplicantRepresentationArr}
|
optionsArr={appellantApplicantRepresentationArr}
|
||||||
/>
|
/>
|
||||||
{isTypeConfirmed && (
|
{(typeof props.representationType != "undefined" ||
|
||||||
|
typeof formObj.representationForm.values
|
||||||
|
.representationType != "undefined") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
<div className="govuk-form-group">
|
<div className="govuk-form-group">
|
||||||
@@ -243,7 +227,8 @@ const RepAgent = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{isTypeConfirmed && (
|
{typeof formObj.representationForm.values.representationType !=
|
||||||
|
"undefined" && (
|
||||||
<RepresentationActionButtons
|
<RepresentationActionButtons
|
||||||
t={t}
|
t={t}
|
||||||
locale={router.locale}
|
locale={router.locale}
|
||||||
|
|||||||
@@ -2,11 +2,12 @@ import useTranslation from "next-translate/useTranslation";
|
|||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
import { Field, change, reduxForm } from "redux-form";
|
import { Field, change, reduxForm } from "redux-form";
|
||||||
import { useEffect, useState } from "react";
|
import { useState } from "react";
|
||||||
|
|
||||||
import { bytesToSize, getThumbnailIconByExtension } from "../../utils";
|
import { bytesToSize, getThumbnailIconByExtension } from "../../utils";
|
||||||
import {
|
import {
|
||||||
FileUploadField,
|
FileUploadField,
|
||||||
|
RenderPickList,
|
||||||
RenderRichMultiline,
|
RenderRichMultiline,
|
||||||
shouldDisableButton
|
shouldDisableButton
|
||||||
} from "./representationElements";
|
} from "./representationElements";
|
||||||
@@ -35,24 +36,10 @@ const RepAppellant = (props) => {
|
|||||||
updateRepresentation,
|
updateRepresentation,
|
||||||
setSavingStatus,
|
setSavingStatus,
|
||||||
savingStatus,
|
savingStatus,
|
||||||
setFilesForRepresentations,
|
setFilesForRepresentations
|
||||||
onRepresentationTypeChange,
|
|
||||||
onTypeSelectionConfirmed
|
|
||||||
} = props;
|
} = props;
|
||||||
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
|
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
|
||||||
|
|
||||||
const persistedRepresentationType =
|
|
||||||
currentView?.caseReference?.repDetails?.representationType;
|
|
||||||
const [typeSelectionConfirmed, setTypeSelectionConfirmed] = useState(
|
|
||||||
!!persistedRepresentationType
|
|
||||||
);
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (persistedRepresentationType) {
|
|
||||||
setTypeSelectionConfirmed(true);
|
|
||||||
}
|
|
||||||
}, [persistedRepresentationType]);
|
|
||||||
|
|
||||||
console.log(JSON.stringify(formObj) == "{}" ? "empty" : "value");
|
console.log(JSON.stringify(formObj) == "{}" ? "empty" : "value");
|
||||||
|
|
||||||
if (JSON.stringify(formObj) != "{}") {
|
if (JSON.stringify(formObj) != "{}") {
|
||||||
@@ -77,23 +64,23 @@ const RepAppellant = (props) => {
|
|||||||
index === self.findIndex((t) => t.name === value.name)
|
index === self.findIndex((t) => t.name === value.name)
|
||||||
);
|
);
|
||||||
|
|
||||||
const selectedRepresentationType =
|
const hasTypeSelectionInline =
|
||||||
formObj?.representationForm?.values?.representationType ||
|
typeof formObj.representationForm.values.representationType ==
|
||||||
props.representationType;
|
"undefined" && props.representationType != "Select...";
|
||||||
|
|
||||||
const isTypeConfirmed =
|
|
||||||
!!selectedRepresentationType && typeSelectionConfirmed;
|
|
||||||
|
|
||||||
const selectedRepresentationTypeDisplay =
|
const selectedRepresentationTypeDisplay =
|
||||||
router.locale == "cy"
|
router.locale == "cy"
|
||||||
? selectedRepresentationType == "Questionnaire"
|
? formObj.representationForm.values.representationType ==
|
||||||
|
"Questionnaire"
|
||||||
? "Holiadur"
|
? "Holiadur"
|
||||||
: selectedRepresentationType == "Statement"
|
: formObj.representationForm.values.representationType ==
|
||||||
|
"Statement"
|
||||||
? "Datganiad"
|
? "Datganiad"
|
||||||
: selectedRepresentationType == "Final comments"
|
: formObj.representationForm.values.representationType ==
|
||||||
|
"Final comments"
|
||||||
? "Sylwadau terfynol"
|
? "Sylwadau terfynol"
|
||||||
: selectedRepresentationType
|
: formObj.representationForm.values.representationType
|
||||||
: selectedRepresentationType;
|
: formObj.representationForm.values.representationType;
|
||||||
|
|
||||||
const handleSaveExit = () => {
|
const handleSaveExit = () => {
|
||||||
let valuesObj = props.props.props.form[props.form].values || {};
|
let valuesObj = props.props.props.form[props.form].values || {};
|
||||||
@@ -111,15 +98,13 @@ const RepAppellant = (props) => {
|
|||||||
"myrepresentations:representation-from-an-appellant-heading"
|
"myrepresentations:representation-from-an-appellant-heading"
|
||||||
)}
|
)}
|
||||||
kindLabelText={t("myrepresentations:kind-of-rep-label")}
|
kindLabelText={t("myrepresentations:kind-of-rep-label")}
|
||||||
isTypeSelected={isTypeConfirmed}
|
isTypeSelected={!hasTypeSelectionInline}
|
||||||
selectedTypeDisplay={selectedRepresentationTypeDisplay}
|
selectedTypeDisplay={selectedRepresentationTypeDisplay}
|
||||||
representationType={selectedRepresentationType}
|
|
||||||
setTypeSelectionConfirmed={setTypeSelectionConfirmed}
|
|
||||||
onRepresentationTypeChange={onRepresentationTypeChange}
|
|
||||||
onTypeSelectionConfirmed={onTypeSelectionConfirmed}
|
|
||||||
optionsArr={appellantApplicantRepresentationArr}
|
optionsArr={appellantApplicantRepresentationArr}
|
||||||
/>
|
/>
|
||||||
{isTypeConfirmed && (
|
{(typeof props.representationType != "undefined" ||
|
||||||
|
typeof formObj.representationForm.values
|
||||||
|
.representationType != "undefined") && (
|
||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
<div className="govuk-form-group">
|
<div className="govuk-form-group">
|
||||||
<p className="govuk-body">
|
<p className="govuk-body">
|
||||||
@@ -235,7 +220,8 @@ const RepAppellant = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{isTypeConfirmed && (
|
{typeof formObj.representationForm.values.representationType !=
|
||||||
|
"undefined" && (
|
||||||
<RepresentationActionButtons
|
<RepresentationActionButtons
|
||||||
t={t}
|
t={t}
|
||||||
locale={router.locale}
|
locale={router.locale}
|
||||||
|
|||||||
@@ -66,8 +66,7 @@ const RepComplete = (props) => {
|
|||||||
(props.props.currentView.representationMessageSent != true &&
|
(props.props.currentView.representationMessageSent != true &&
|
||||||
(setRepInvolvment(
|
(setRepInvolvment(
|
||||||
props.props.currentView.caseReference.incidentid,
|
props.props.currentView.caseReference.incidentid,
|
||||||
props.props.props.props.accountDetails.accountDetails.contactid,
|
props.props.props.props.accountDetails.accountDetails.contactid
|
||||||
props.props.currentView.representationCapacity
|
|
||||||
),
|
),
|
||||||
sendRepCompleteMessage(
|
sendRepCompleteMessage(
|
||||||
props.props.props.props.accountDetails.containerID,
|
props.props.props.props.accountDetails.containerID,
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
@@ -12,7 +13,6 @@ import {
|
|||||||
bytesToSize,
|
bytesToSize,
|
||||||
getThumbnailIconByExtension,
|
getThumbnailIconByExtension,
|
||||||
formatDates,
|
formatDates,
|
||||||
hasOwn,
|
|
||||||
updateLinks,
|
updateLinks,
|
||||||
getDocLink
|
getDocLink
|
||||||
} from "../../utils";
|
} from "../../utils";
|
||||||
@@ -233,41 +233,35 @@ const RepCompleteSubmit = (props) => {
|
|||||||
let filterFiles = [];
|
let filterFiles = [];
|
||||||
|
|
||||||
function showRepsEnded(endDate) {
|
function showRepsEnded(endDate) {
|
||||||
if (!endDate) {
|
let date = new Date();
|
||||||
return false;
|
date = new Date(date.toDateString());
|
||||||
}
|
let end = new Date(endDate);
|
||||||
|
end.setUTCHours(23);
|
||||||
|
end.setUTCMinutes(59);
|
||||||
|
end.setUTCSeconds(59);
|
||||||
|
end.toISOString();
|
||||||
|
|
||||||
const end = new Date(endDate);
|
return end > date ? false : true;
|
||||||
|
|
||||||
if (Number.isNaN(end.getTime())) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
const today = new Date();
|
|
||||||
today.setHours(0, 0, 0, 0);
|
|
||||||
|
|
||||||
end.setHours(23, 59, 59, 999);
|
|
||||||
|
|
||||||
return end <= today;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const checkRepDatePassed = () => {
|
const checkRepDatePassed = () => {
|
||||||
if (repFormData.representationType === "Questionnaire") {
|
if (repFormData.representationType == "Questionnaire") {
|
||||||
return false;
|
return false;
|
||||||
|
} else {
|
||||||
|
if (repFormData.representationType == "Final comments") {
|
||||||
|
return repFormData.hasOwnProperty(
|
||||||
|
"pinswg_finalcommentsduedate"
|
||||||
|
) && showRepsEnded(repFormData.pinswg_finalcommentsduedate)
|
||||||
|
? true
|
||||||
|
: false;
|
||||||
}
|
}
|
||||||
|
if (repFormData.representationType == "Statement") {
|
||||||
if (repFormData.representationType === "Final comments") {
|
return repFormData.hasOwnProperty("pinswg_statementduedate") &&
|
||||||
return showRepsEnded(repFormData.pinswg_finalcommentsduedate);
|
showRepsEnded(repFormData.pinswg_statementduedate)
|
||||||
|
? true
|
||||||
|
: false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (repFormData.representationType === "Statement") {
|
|
||||||
return (
|
|
||||||
showRepsEnded(repFormData.pinswg_statementduedate) ||
|
|
||||||
showRepsEnded(repFormData.pinswg_endofrepresentationperiod)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const triggerQuestionnaireDownload = async () => {
|
const triggerQuestionnaireDownload = async () => {
|
||||||
@@ -405,7 +399,7 @@ const RepCompleteSubmit = (props) => {
|
|||||||
</a> */}
|
</a> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{hasOwn(
|
{_.has(
|
||||||
repFormData,
|
repFormData,
|
||||||
"representationOnBehalfOf"
|
"representationOnBehalfOf"
|
||||||
) && (
|
) && (
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const RepDetails = (props) => {
|
const RepDetails = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -32,7 +31,7 @@ const RepDetails = (props) => {
|
|||||||
detailsObj = jsonpath({
|
detailsObj = jsonpath({
|
||||||
path: '$..[?(@ && @.ticketnumber=="' + ticketnumber + '")]',
|
path: '$..[?(@ && @.ticketnumber=="' + ticketnumber + '")]',
|
||||||
json: setCaseDetailsObj,
|
json: setCaseDetailsObj,
|
||||||
eval: true
|
eval: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
detailsObj = detailsObj[0];
|
detailsObj = detailsObj[0];
|
||||||
@@ -62,43 +61,34 @@ const RepDetails = (props) => {
|
|||||||
{t("case:summary-site-address-label")}
|
{t("case:summary-site-address-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(detailsObj, "pinswg_siteaddressline1")
|
{_.has(detailsObj, "pinswg_siteaddressline1")
|
||||||
? detailsObj.pinswg_siteaddressline1
|
? detailsObj.pinswg_siteaddressline1
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(detailsObj, "pinswg_siteaddressline1") &&
|
||||||
detailsObj,
|
|
||||||
"pinswg_siteaddressline1"
|
|
||||||
) &&
|
|
||||||
detailsObj.pinswg_siteaddressline1 !=
|
detailsObj.pinswg_siteaddressline1 !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(detailsObj, "pinswg_siteaddressline2")
|
{_.has(detailsObj, "pinswg_siteaddressline2")
|
||||||
? detailsObj.pinswg_siteaddressline2
|
? detailsObj.pinswg_siteaddressline2
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(detailsObj, "pinswg_siteaddressline2") &&
|
||||||
detailsObj,
|
|
||||||
"pinswg_siteaddressline2"
|
|
||||||
) &&
|
|
||||||
detailsObj.pinswg_siteaddressline2 !=
|
detailsObj.pinswg_siteaddressline2 !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(detailsObj, "pinswg_siteaddresstown")
|
{_.has(detailsObj, "pinswg_siteaddresstown")
|
||||||
? detailsObj.pinswg_siteaddresstown
|
? detailsObj.pinswg_siteaddresstown
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(detailsObj, "pinswg_siteaddresstown") &&
|
{_.has(detailsObj, "pinswg_siteaddresstown") &&
|
||||||
detailsObj.pinswg_siteaddresstown !=
|
detailsObj.pinswg_siteaddresstown !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(detailsObj, "pinswg_siteaddresscounty")
|
{_.has(detailsObj, "pinswg_siteaddresscounty")
|
||||||
? detailsObj.pinswg_siteaddresscounty
|
? detailsObj.pinswg_siteaddresscounty
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddresscounty"
|
"pinswg_siteaddresscounty"
|
||||||
) &&
|
) &&
|
||||||
detailsObj.pinswg_siteaddresscounty !=
|
detailsObj.pinswg_siteaddresscounty !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(
|
{_.has(detailsObj, "pinswg_siteaddresspostcode")
|
||||||
detailsObj,
|
|
||||||
"pinswg_siteaddresspostcode"
|
|
||||||
)
|
|
||||||
? detailsObj.pinswg_siteaddresspostcode
|
? detailsObj.pinswg_siteaddresspostcode
|
||||||
: ""}
|
: ""}
|
||||||
</dd>
|
</dd>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import useTranslation from "next-translate/useTranslation";
|
|||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
import { Field, change, reduxForm } from "redux-form";
|
import { Field, change, reduxForm } from "redux-form";
|
||||||
import { useEffect, useState } from "react";
|
import { useState } from "react";
|
||||||
|
|
||||||
import { bytesToSize, getThumbnailIconByExtension } from "../../utils";
|
import { bytesToSize, getThumbnailIconByExtension } from "../../utils";
|
||||||
import {
|
import {
|
||||||
@@ -35,26 +35,12 @@ const RepInterestedPartyPerson = (props) => {
|
|||||||
updateRepresentation,
|
updateRepresentation,
|
||||||
setSavingStatus,
|
setSavingStatus,
|
||||||
savingStatus,
|
savingStatus,
|
||||||
setFilesForRepresentations,
|
setFilesForRepresentations
|
||||||
onRepresentationTypeChange,
|
|
||||||
onTypeSelectionConfirmed
|
|
||||||
} = props;
|
} = props;
|
||||||
const required = (value) => (value ? undefined : "Required");
|
const required = (value) => (value ? undefined : "Required");
|
||||||
|
|
||||||
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
|
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
|
||||||
|
|
||||||
const persistedRepresentationType =
|
|
||||||
props.currentView?.caseReference?.repDetails?.representationType;
|
|
||||||
const [typeSelectionConfirmed, setTypeSelectionConfirmed] = useState(
|
|
||||||
!!persistedRepresentationType
|
|
||||||
);
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (persistedRepresentationType) {
|
|
||||||
setTypeSelectionConfirmed(true);
|
|
||||||
}
|
|
||||||
}, [persistedRepresentationType]);
|
|
||||||
|
|
||||||
if (JSON.stringify(formObj) != "{}") {
|
if (JSON.stringify(formObj) != "{}") {
|
||||||
setRepFileName(formObj.representationForm.values);
|
setRepFileName(formObj.representationForm.values);
|
||||||
|
|
||||||
@@ -78,23 +64,23 @@ const RepInterestedPartyPerson = (props) => {
|
|||||||
</li>
|
</li>
|
||||||
));
|
));
|
||||||
|
|
||||||
const selectedRepresentationType =
|
const hasTypeSelectionInline =
|
||||||
formObj?.representationForm?.values?.representationType ||
|
typeof formObj.representationForm.values.representationType ==
|
||||||
props.representationType;
|
"undefined" && props.representationType != "Select...";
|
||||||
|
|
||||||
const isTypeConfirmed =
|
|
||||||
!!selectedRepresentationType && typeSelectionConfirmed;
|
|
||||||
|
|
||||||
const selectedRepresentationTypeDisplay =
|
const selectedRepresentationTypeDisplay =
|
||||||
router.locale == "cy"
|
router.locale == "cy"
|
||||||
? selectedRepresentationType == "Questionnaire"
|
? formObj.representationForm.values.representationType ==
|
||||||
|
"Questionnaire"
|
||||||
? "Holiadur"
|
? "Holiadur"
|
||||||
: selectedRepresentationType == "Statement"
|
: formObj.representationForm.values.representationType ==
|
||||||
|
"Statement"
|
||||||
? "Datganiad"
|
? "Datganiad"
|
||||||
: selectedRepresentationType == "Final comments"
|
: formObj.representationForm.values.representationType ==
|
||||||
|
"Final comments"
|
||||||
? "Sylwadau terfynol"
|
? "Sylwadau terfynol"
|
||||||
: selectedRepresentationType
|
: formObj.representationForm.values.representationType
|
||||||
: selectedRepresentationType;
|
: formObj.representationForm.values.representationType;
|
||||||
|
|
||||||
const handleSaveExit = () => {
|
const handleSaveExit = () => {
|
||||||
let valuesObj = props.props.props.form[props.form].values || {};
|
let valuesObj = props.props.props.form[props.form].values || {};
|
||||||
@@ -109,20 +95,18 @@ const RepInterestedPartyPerson = (props) => {
|
|||||||
<RepresentationTypeSelectorBlock
|
<RepresentationTypeSelectorBlock
|
||||||
t={t}
|
t={t}
|
||||||
headingText={t(
|
headingText={t(
|
||||||
"myrepresentations:representation-from-an-interested-person-heading"
|
"myrepresentations:consultation-from-an-interested-person-heading"
|
||||||
)}
|
)}
|
||||||
kindLabelText={t("myrepresentations:kind-of-rep-label")}
|
kindLabelText={t("myrepresentations:kind-of-rep-label")}
|
||||||
isTypeSelected={isTypeConfirmed}
|
isTypeSelected={!hasTypeSelectionInline}
|
||||||
selectedTypeDisplay={selectedRepresentationTypeDisplay}
|
selectedTypeDisplay={selectedRepresentationTypeDisplay}
|
||||||
representationType={selectedRepresentationType}
|
|
||||||
setTypeSelectionConfirmed={setTypeSelectionConfirmed}
|
|
||||||
onRepresentationTypeChange={onRepresentationTypeChange}
|
|
||||||
onTypeSelectionConfirmed={onTypeSelectionConfirmed}
|
|
||||||
optionsArr={interestedPersonRepresentationArr}
|
optionsArr={interestedPersonRepresentationArr}
|
||||||
validate={[required]}
|
validate={[required]}
|
||||||
errorMsg={t("myrepresentations:select-an-option-label")}
|
errorMsg={t("myrepresentations:select-an-option-label")}
|
||||||
/>
|
/>
|
||||||
{isTypeConfirmed && (
|
{(typeof props.representationType != "undefined" ||
|
||||||
|
typeof formObj.representationForm.values
|
||||||
|
.representationType != "undefined") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
<div className="govuk-form-group">
|
<div className="govuk-form-group">
|
||||||
@@ -229,7 +213,8 @@ const RepInterestedPartyPerson = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{isTypeConfirmed && (
|
{typeof formObj.representationForm.values.representationType !=
|
||||||
|
"undefined" && (
|
||||||
<RepresentationActionButtons
|
<RepresentationActionButtons
|
||||||
t={t}
|
t={t}
|
||||||
locale={router.locale}
|
locale={router.locale}
|
||||||
|
|||||||
@@ -10,9 +10,9 @@ import { useState, useEffect } from "react";
|
|||||||
import {
|
import {
|
||||||
FileUploadField,
|
FileUploadField,
|
||||||
RenderMultiline,
|
RenderMultiline,
|
||||||
shouldDisableButton
|
RenderPickList,
|
||||||
|
shouldDisableButton,
|
||||||
} from "./representationElements";
|
} from "./representationElements";
|
||||||
import RepresentationTypeSelectorBlock from "./elements/RepresentationTypeSelectorBlock";
|
|
||||||
import RepresentationProgress_enforcement from "./representationProgress/representationProgress_enforcement";
|
import RepresentationProgress_enforcement from "./representationProgress/representationProgress_enforcement";
|
||||||
import RepresentationProgress_s78 from "./representationProgress/representationProgress_s78";
|
import RepresentationProgress_s78 from "./representationProgress/representationProgress_s78";
|
||||||
import Enforcement_Questionnaire from "./representationQuestionnaires/representationLPAQuestionnaire_enforcement";
|
import Enforcement_Questionnaire from "./representationQuestionnaires/representationLPAQuestionnaire_enforcement";
|
||||||
@@ -23,7 +23,7 @@ import {
|
|||||||
setRepresentationSubmit,
|
setRepresentationSubmit,
|
||||||
setFilesForRepresentations,
|
setFilesForRepresentations,
|
||||||
setCurrentPage,
|
setCurrentPage,
|
||||||
setCurrentReference
|
setCurrentReference,
|
||||||
} from "../../../store/currentView/action";
|
} from "../../../store/currentView/action";
|
||||||
|
|
||||||
let RepLPA = (props) => {
|
let RepLPA = (props) => {
|
||||||
@@ -49,8 +49,6 @@ let RepLPA = (props) => {
|
|||||||
setSavingStatus,
|
setSavingStatus,
|
||||||
savingStatus,
|
savingStatus,
|
||||||
setFilesForRepresentations,
|
setFilesForRepresentations,
|
||||||
onRepresentationTypeChange,
|
|
||||||
onTypeSelectionConfirmed
|
|
||||||
} = props;
|
} = props;
|
||||||
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
|
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
|
||||||
|
|
||||||
@@ -61,36 +59,6 @@ let RepLPA = (props) => {
|
|||||||
));
|
));
|
||||||
const required = (value) => (value ? undefined : "Required");
|
const required = (value) => (value ? undefined : "Required");
|
||||||
|
|
||||||
const persistedRepresentationType =
|
|
||||||
currentView?.caseReference?.repDetails?.representationType;
|
|
||||||
const [typeSelectionConfirmed, setTypeSelectionConfirmed] = useState(
|
|
||||||
!!persistedRepresentationType
|
|
||||||
);
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (persistedRepresentationType) {
|
|
||||||
setTypeSelectionConfirmed(true);
|
|
||||||
}
|
|
||||||
}, [persistedRepresentationType]);
|
|
||||||
|
|
||||||
const selectedRepresentationType =
|
|
||||||
formObj?.representationForm?.values?.representationType ||
|
|
||||||
props.representationType;
|
|
||||||
|
|
||||||
const isTypeConfirmed =
|
|
||||||
!!selectedRepresentationType && typeSelectionConfirmed;
|
|
||||||
|
|
||||||
const selectedRepresentationTypeDisplay =
|
|
||||||
router.locale == "cy"
|
|
||||||
? selectedRepresentationType == "Questionnaire"
|
|
||||||
? "Holiadur"
|
|
||||||
: selectedRepresentationType == "Statement"
|
|
||||||
? "Datganiad"
|
|
||||||
: selectedRepresentationType == "Final comments"
|
|
||||||
? "Sylwadau terfynol"
|
|
||||||
: selectedRepresentationType
|
|
||||||
: selectedRepresentationType;
|
|
||||||
|
|
||||||
const whichQuestionnaire = () => {
|
const whichQuestionnaire = () => {
|
||||||
{
|
{
|
||||||
switch (currentView.caseReference.appealType) {
|
switch (currentView.caseReference.appealType) {
|
||||||
@@ -215,7 +183,7 @@ let RepLPA = (props) => {
|
|||||||
currentView.caseReference.currentReference +
|
currentView.caseReference.currentReference +
|
||||||
'")]',
|
'")]',
|
||||||
json: setCaseDetailsObj,
|
json: setCaseDetailsObj,
|
||||||
eval: true
|
eval: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
let setCaseResultssObj = router.query.hasOwnProperty("state")
|
let setCaseResultssObj = router.query.hasOwnProperty("state")
|
||||||
@@ -234,7 +202,7 @@ let RepLPA = (props) => {
|
|||||||
currentView.caseReference.currentReference +
|
currentView.caseReference.currentReference +
|
||||||
'")]',
|
'")]',
|
||||||
json: setCaseResultssObj,
|
json: setCaseResultssObj,
|
||||||
eval: true
|
eval: true,
|
||||||
});
|
});
|
||||||
resultsObj = resultsObj[0];
|
resultsObj = resultsObj[0];
|
||||||
|
|
||||||
@@ -257,26 +225,62 @@ let RepLPA = (props) => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<RepresentationTypeSelectorBlock
|
|
||||||
t={t}
|
|
||||||
headingText={t(
|
|
||||||
"myrepresentations:representation-from-an-lpa-heading"
|
|
||||||
)}
|
|
||||||
kindLabelText={t("myrepresentations:kind-of-rep-label")}
|
|
||||||
isTypeSelected={isTypeConfirmed}
|
|
||||||
selectedTypeDisplay={selectedRepresentationTypeDisplay}
|
|
||||||
representationType={selectedRepresentationType}
|
|
||||||
setTypeSelectionConfirmed={setTypeSelectionConfirmed}
|
|
||||||
onRepresentationTypeChange={onRepresentationTypeChange}
|
|
||||||
onTypeSelectionConfirmed={onTypeSelectionConfirmed}
|
|
||||||
optionsArr={appellantApplicantRepresentationArr}
|
|
||||||
validate={[required]}
|
|
||||||
errorMsg={t("myrepresentations:select-an-option-label")}
|
|
||||||
/>
|
|
||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
<div className="govuk-form-group">
|
<div className="govuk-form-group">
|
||||||
{isTypeConfirmed &&
|
{!_.has(
|
||||||
(selectedRepresentationType != "Questionnaire" ? (
|
formObj["representationForm"],
|
||||||
|
["values", "representationType"] ||
|
||||||
|
typeof props.currentView.caseReference.repDetails !=
|
||||||
|
"undefined"
|
||||||
|
) ? (
|
||||||
|
<>
|
||||||
|
<label
|
||||||
|
className="govuk-label govuk-body-m"
|
||||||
|
htmlFor="representationType"
|
||||||
|
>
|
||||||
|
{t(
|
||||||
|
"myrepresentations:representation-from-an-lpa-heading"
|
||||||
|
)}
|
||||||
|
</label>
|
||||||
|
<Field
|
||||||
|
id="representationType"
|
||||||
|
name="representationType"
|
||||||
|
component={RenderPickList}
|
||||||
|
datafieldname="representationType"
|
||||||
|
optionsArr={appellantApplicantRepresentationArr}
|
||||||
|
/>
|
||||||
|
</>
|
||||||
|
) : (
|
||||||
|
<label className="govuk-label govuk-body-m">
|
||||||
|
{t("myrepresentations:representation-type")}:{" "}
|
||||||
|
{router.locale == "cy"
|
||||||
|
? formObj.representationForm.values
|
||||||
|
.representationType == "Questionnaire"
|
||||||
|
? "Holiadur"
|
||||||
|
: formObj.representationForm.values
|
||||||
|
.representationType == "Statement"
|
||||||
|
? "Datganiad"
|
||||||
|
: formObj.representationForm.values
|
||||||
|
.representationType ==
|
||||||
|
"Final comments"
|
||||||
|
? "Sylwadau terfynol"
|
||||||
|
: formObj.representationForm.values
|
||||||
|
.representationType
|
||||||
|
: formObj.representationForm.values
|
||||||
|
.representationType}
|
||||||
|
</label>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="govuk-grid-row">
|
||||||
|
<div className="govuk-form-group">
|
||||||
|
{(_.has(formObj["representationForm"], [
|
||||||
|
"values",
|
||||||
|
"representationType",
|
||||||
|
]) ||
|
||||||
|
typeof props.representationType != "undefined") &&
|
||||||
|
(props.representationType != "Questionnaire" &&
|
||||||
|
props.representationType != "Select..." ? (
|
||||||
<>
|
<>
|
||||||
<p className="govuk-body">
|
<p className="govuk-body">
|
||||||
{t("myrepresentations:enter-comment-label")}
|
{t("myrepresentations:enter-comment-label")}
|
||||||
@@ -350,8 +354,7 @@ let RepLPA = (props) => {
|
|||||||
"myrepresentations:add-files-label"
|
"myrepresentations:add-files-label"
|
||||||
)}
|
)}
|
||||||
ticketnumber={
|
ticketnumber={
|
||||||
props.currentView.caseReference
|
props.currentView.caseReference.ticketnumber
|
||||||
.ticketnumber
|
|
||||||
}
|
}
|
||||||
hint={"sdsd"}
|
hint={"sdsd"}
|
||||||
fileList={
|
fileList={
|
||||||
@@ -398,8 +401,9 @@ let RepLPA = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
<div className="govuk-button-group">
|
<div className="govuk-button-group">
|
||||||
{isTypeConfirmed &&
|
{(typeof props.representationType != "undefined" ||
|
||||||
selectedRepresentationType == "Questionnaire" && (
|
_.has(formObj, "values", "representationType")) &&
|
||||||
|
props.representationType == "Questionnaire" && (
|
||||||
<>
|
<>
|
||||||
{showQuestionnaireSection <
|
{showQuestionnaireSection <
|
||||||
questionnaireCount && (
|
questionnaireCount && (
|
||||||
@@ -439,14 +443,14 @@ let RepLPA = (props) => {
|
|||||||
// top: 0,
|
// top: 0,
|
||||||
// behavior: "smooth",
|
// behavior: "smooth",
|
||||||
// });
|
// });
|
||||||
(setRepFileName(
|
setRepFileName(
|
||||||
props.formObj[
|
props.formObj[
|
||||||
"representationForm"
|
"representationForm"
|
||||||
].values
|
].values
|
||||||
),
|
),
|
||||||
setShowQuestionnaireSection(
|
setShowQuestionnaireSection(
|
||||||
showQuestionnaireSection - 1
|
showQuestionnaireSection - 1
|
||||||
));
|
);
|
||||||
}}
|
}}
|
||||||
className="govuk-link"
|
className="govuk-link"
|
||||||
>
|
>
|
||||||
@@ -499,8 +503,9 @@ let RepLPA = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}{" "}
|
)}{" "}
|
||||||
{isTypeConfirmed &&
|
{(typeof props.representationType != "undefined" ||
|
||||||
selectedRepresentationType != "Questionnaire" && (
|
_.has(formObj, "values", "representationType")) &&
|
||||||
|
props.representationType != "Questionnaire" && (
|
||||||
<>
|
<>
|
||||||
<button
|
<button
|
||||||
type="submit"
|
type="submit"
|
||||||
@@ -508,7 +513,7 @@ let RepLPA = (props) => {
|
|||||||
data-module="govuk-button"
|
data-module="govuk-button"
|
||||||
disabled={shouldDisableButton({
|
disabled={shouldDisableButton({
|
||||||
props,
|
props,
|
||||||
formObj
|
formObj,
|
||||||
})}
|
})}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
let valuesObj =
|
let valuesObj =
|
||||||
@@ -607,7 +612,7 @@ RepLPA = connect((state) => {
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
procedureType,
|
procedureType,
|
||||||
representationType
|
representationType,
|
||||||
};
|
};
|
||||||
})(RepLPA);
|
})(RepLPA);
|
||||||
|
|
||||||
@@ -620,7 +625,7 @@ const mapDispatchToProps = (dispatch) => ({
|
|||||||
},
|
},
|
||||||
setCurrentReference: (currentReference) => {
|
setCurrentReference: (currentReference) => {
|
||||||
dispatch(setCurrentReference(currentReference));
|
dispatch(setCurrentReference(currentReference));
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const mapStateToProps = (state, props) => {
|
const mapStateToProps = (state, props) => {
|
||||||
@@ -636,7 +641,8 @@ const mapStateToProps = (state, props) => {
|
|||||||
],
|
],
|
||||||
"firstname":
|
"firstname":
|
||||||
props.props.props.accountDetails.accountDetails.firstname,
|
props.props.props.accountDetails.accountDetails.firstname,
|
||||||
"lastname": props.props.props.accountDetails.accountDetails.lastname
|
"lastname":
|
||||||
|
props.props.props.accountDetails.accountDetails.lastname,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
return {
|
return {
|
||||||
@@ -647,7 +653,7 @@ const mapStateToProps = (state, props) => {
|
|||||||
currentView: state.currentView,
|
currentView: state.currentView,
|
||||||
myRepresentations: state.myRepresentations,
|
myRepresentations: state.myRepresentations,
|
||||||
watchedCases: state.watchedCases,
|
watchedCases: state.watchedCases,
|
||||||
initialValues: initialValuesTemp
|
initialValues: initialValuesTemp,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -658,6 +664,6 @@ export default connect(
|
|||||||
reduxForm({
|
reduxForm({
|
||||||
form: "representationForm",
|
form: "representationForm",
|
||||||
enableReinitialize: true,
|
enableReinitialize: true,
|
||||||
destroyOnUnmount: false
|
destroyOnUnmount: false,
|
||||||
})(RepLPA)
|
})(RepLPA)
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const RepLPADetails = (props) => {
|
const RepLPADetails = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -24,7 +23,7 @@ const RepLPADetails = (props) => {
|
|||||||
detailsObj = jsonpath({
|
detailsObj = jsonpath({
|
||||||
path: '$..[?(@ && @.ticketnumber=="' + ticketnumber + '")]',
|
path: '$..[?(@ && @.ticketnumber=="' + ticketnumber + '")]',
|
||||||
json: setCaseDetailsObj,
|
json: setCaseDetailsObj,
|
||||||
eval: true
|
eval: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
detailsObj = detailsObj[0];
|
detailsObj = detailsObj[0];
|
||||||
@@ -52,43 +51,34 @@ const RepLPADetails = (props) => {
|
|||||||
{t("case:summary-site-address-label")}
|
{t("case:summary-site-address-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(detailsObj, "pinswg_siteaddressline1")
|
{_.has(detailsObj, "pinswg_siteaddressline1")
|
||||||
? detailsObj.pinswg_siteaddressline1
|
? detailsObj.pinswg_siteaddressline1
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(detailsObj, "pinswg_siteaddressline1") &&
|
||||||
detailsObj,
|
|
||||||
"pinswg_siteaddressline1"
|
|
||||||
) &&
|
|
||||||
detailsObj.pinswg_siteaddressline1 !=
|
detailsObj.pinswg_siteaddressline1 !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(detailsObj, "pinswg_siteaddressline2")
|
{_.has(detailsObj, "pinswg_siteaddressline2")
|
||||||
? detailsObj.pinswg_siteaddressline2
|
? detailsObj.pinswg_siteaddressline2
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(detailsObj, "pinswg_siteaddressline2") &&
|
||||||
detailsObj,
|
|
||||||
"pinswg_siteaddressline2"
|
|
||||||
) &&
|
|
||||||
detailsObj.pinswg_siteaddressline2 !=
|
detailsObj.pinswg_siteaddressline2 !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(detailsObj, "pinswg_siteaddresstown")
|
{_.has(detailsObj, "pinswg_siteaddresstown")
|
||||||
? detailsObj.pinswg_siteaddresstown
|
? detailsObj.pinswg_siteaddresstown
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(detailsObj, "pinswg_siteaddresstown") &&
|
{_.has(detailsObj, "pinswg_siteaddresstown") &&
|
||||||
detailsObj.pinswg_siteaddresstown !=
|
detailsObj.pinswg_siteaddresstown !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(detailsObj, "pinswg_siteaddresscounty")
|
{_.has(detailsObj, "pinswg_siteaddresscounty")
|
||||||
? detailsObj.pinswg_siteaddresscounty
|
? detailsObj.pinswg_siteaddresscounty
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddresscounty"
|
"pinswg_siteaddresscounty"
|
||||||
) &&
|
) &&
|
||||||
detailsObj.pinswg_siteaddresscounty !=
|
detailsObj.pinswg_siteaddresscounty !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(
|
{_.has(detailsObj, "pinswg_siteaddresspostcode")
|
||||||
detailsObj,
|
|
||||||
"pinswg_siteaddresspostcode"
|
|
||||||
)
|
|
||||||
? detailsObj.pinswg_siteaddresspostcode
|
? detailsObj.pinswg_siteaddresspostcode
|
||||||
: ""}
|
: ""}
|
||||||
</dd>
|
</dd>
|
||||||
|
|||||||
+63
-62
@@ -1,5 +1,6 @@
|
|||||||
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { formatDates, hasOwn, updateLinks } from "../../../utils";
|
import { formatDates, updateLinks } from "../../../utils";
|
||||||
|
|
||||||
let RepLPAQuestionnaireCheck_s78 = (props) => {
|
let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -10,7 +11,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
showQuestionnaireSection,
|
showQuestionnaireSection,
|
||||||
setShowQuestionnaireSection,
|
setShowQuestionnaireSection,
|
||||||
setRepresentationSubmit,
|
setRepresentationSubmit,
|
||||||
questionnaireCount
|
questionnaireCount,
|
||||||
} = props;
|
} = props;
|
||||||
|
|
||||||
let repFormData = formObj.representationForm.values;
|
let repFormData = formObj.representationForm.values;
|
||||||
@@ -21,7 +22,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<>
|
<>
|
||||||
{showQuestionnaireSection}
|
{showQuestionnaireSection}
|
||||||
|
|
||||||
{hasOwn(repFormData, "procedureType") && (
|
{_.has(repFormData, "procedureType") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -83,7 +84,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "enterToView") && (
|
{_.has(repFormData, "enterToView") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -116,7 +117,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "enterNeighbouringLandToViewSite") && (
|
{_.has(repFormData, "enterNeighbouringLandToViewSite") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -159,7 +160,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.enterNeighbouringLandToViewSiteEvidence
|
__html: repFormData.enterNeighbouringLandToViewSiteEvidence,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
@@ -186,7 +187,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "enterNeighbouringLandAccessRequired") && (
|
{_.has(repFormData, "enterNeighbouringLandAccessRequired") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -230,7 +231,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.enterNeighbouringLandAccessRequiredEvidence
|
__html: repFormData.enterNeighbouringLandAccessRequiredEvidence,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
@@ -257,7 +258,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "healthAndSafetyIssues") && (
|
{_.has(repFormData, "healthAndSafetyIssues") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -300,7 +301,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.healthAndSafetyIssuesEvidence
|
__html: repFormData.healthAndSafetyIssuesEvidence,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
@@ -336,11 +337,11 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
</dt>
|
</dt>
|
||||||
|
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(repFormData, "LPAcontactDetails") ? (
|
{_.has(repFormData, "LPAcontactDetails") ? (
|
||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.LPAcontactDetails
|
__html: repFormData.LPAcontactDetails,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
@@ -377,11 +378,11 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
</dt>
|
</dt>
|
||||||
|
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(repFormData, "LPAcaseFileAndReps") ? (
|
{_.has(repFormData, "LPAcaseFileAndReps") ? (
|
||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.LPAcaseFileAndReps
|
__html: repFormData.LPAcaseFileAndReps,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
@@ -418,11 +419,11 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
</dt>
|
</dt>
|
||||||
|
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(repFormData, "LPAldpAndMap") ? (
|
{_.has(repFormData, "LPAldpAndMap") ? (
|
||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.LPAldpAndMap
|
__html: repFormData.LPAldpAndMap,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
@@ -459,11 +460,11 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
</dt>
|
</dt>
|
||||||
|
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(repFormData, "LPAlocalGuidance") ? (
|
{_.has(repFormData, "LPAlocalGuidance") ? (
|
||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.LPAlocalGuidance
|
__html: repFormData.LPAlocalGuidance,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
@@ -492,7 +493,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
|
|
||||||
{hasOwn(repFormData, "LPAintentionToSubmitFullStatement") && (
|
{_.has(repFormData, "LPAintentionToSubmitFullStatement") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -525,7 +526,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "AONB") && (
|
{_.has(repFormData, "AONB") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -557,7 +558,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "ROW") && (
|
{_.has(repFormData, "ROW") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -599,7 +600,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.ROWEvidence
|
__html: repFormData.ROWEvidence,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
@@ -626,7 +627,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "conservationArea") && (
|
{_.has(repFormData, "conservationArea") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -669,7 +670,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.conservationAreaEvidence
|
__html: repFormData.conservationAreaEvidence,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
@@ -696,7 +697,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "affectListedBuilding") && (
|
{_.has(repFormData, "affectListedBuilding") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -739,7 +740,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.affectListedBuildingEvidence
|
__html: repFormData.affectListedBuildingEvidence,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
@@ -766,7 +767,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "TPO") && (
|
{_.has(repFormData, "TPO") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -809,7 +810,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.TPOEvidence
|
__html: repFormData.TPOEvidence,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
@@ -836,7 +837,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "natureConservationSite") && (
|
{_.has(repFormData, "natureConservationSite") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -879,7 +880,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.natureConservationSiteEvidence
|
__html: repFormData.natureConservationSiteEvidence,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
@@ -906,7 +907,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "protectedSpecies") && (
|
{_.has(repFormData, "protectedSpecies") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -949,7 +950,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.protectedSpeciesEvidence
|
__html: repFormData.protectedSpeciesEvidence,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
@@ -976,7 +977,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "gypsyTravellerInvolvment") && (
|
{_.has(repFormData, "gypsyTravellerInvolvment") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -1009,7 +1010,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "governmentDepartmentComments") && (
|
{_.has(repFormData, "governmentDepartmentComments") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -1052,7 +1053,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.governmentDepartmentCommentsEvidence
|
__html: repFormData.governmentDepartmentCommentsEvidence,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
@@ -1079,7 +1080,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "developmentNotBeginLaterThanFiveYears") && (
|
{_.has(repFormData, "developmentNotBeginLaterThanFiveYears") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -1112,7 +1113,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "developmentCarriedOutInAccordance") && (
|
{_.has(repFormData, "developmentCarriedOutInAccordance") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -1155,7 +1156,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.developmentCarriedOutInAccordanceEvidence
|
__html: repFormData.developmentCarriedOutInAccordanceEvidence,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
@@ -1182,7 +1183,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "developmentNotTakePlaceBiodiversity") && (
|
{_.has(repFormData, "developmentNotTakePlaceBiodiversity") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -1215,7 +1216,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "developmentNotTakePlaceBroadband") && (
|
{_.has(repFormData, "developmentNotTakePlaceBroadband") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -1258,7 +1259,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.developmentNotTakePlaceBroadbandEvidence
|
__html: repFormData.developmentNotTakePlaceBroadbandEvidence,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
@@ -1285,7 +1286,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "developmentAnyOtherConditions") && (
|
{_.has(repFormData, "developmentAnyOtherConditions") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -1328,7 +1329,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.developmentAnyOtherConditionsEvidence
|
__html: repFormData.developmentAnyOtherConditionsEvidence,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
@@ -1355,7 +1356,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "copyOfApplicantsCertificate") && (
|
{_.has(repFormData, "copyOfApplicantsCertificate") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -1398,7 +1399,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.copyOfApplicantsCertificateEvidence
|
__html: repFormData.copyOfApplicantsCertificateEvidence,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
@@ -1425,7 +1426,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "advertismentGiven") && (
|
{_.has(repFormData, "advertismentGiven") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -1468,7 +1469,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.advertismentGivenEvidence
|
__html: repFormData.advertismentGivenEvidence,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
@@ -1495,7 +1496,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "copyOfLetterOfAppealNotification") && (
|
{_.has(repFormData, "copyOfLetterOfAppealNotification") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -1538,7 +1539,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.copyOfLetterOfAppealNotificationEvidence
|
__html: repFormData.copyOfLetterOfAppealNotificationEvidence,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
@@ -1565,7 +1566,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "lpaEIAOS") && (
|
{_.has(repFormData, "lpaEIAOS") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -1608,7 +1609,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.lpaEIAOSEvidence
|
__html: repFormData.lpaEIAOSEvidence,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
@@ -1635,7 +1636,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "advertismentConsentDiscontinuanceNotice") && (
|
{_.has(repFormData, "advertismentConsentDiscontinuanceNotice") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -1680,7 +1681,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.advertismentConsentDiscontinuanceNoticeEvidence
|
__html: repFormData.advertismentConsentDiscontinuanceNoticeEvidence,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
@@ -1707,7 +1708,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "detailsOfOtherAppeals") && (
|
{_.has(repFormData, "detailsOfOtherAppeals") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -1750,7 +1751,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.detailsOfOtherAppeals
|
__html: repFormData.detailsOfOtherAppeals,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
@@ -1777,7 +1778,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "detailsOfPreviousAppeals") && (
|
{_.has(repFormData, "detailsOfPreviousAppeals") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -1820,7 +1821,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.detailsOfPreviousAppealsEvidence
|
__html: repFormData.detailsOfPreviousAppealsEvidence,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
@@ -1847,7 +1848,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "otherRelevantInformation") && (
|
{_.has(repFormData, "otherRelevantInformation") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -1890,7 +1891,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
<div
|
<div
|
||||||
className="govuk-summary-list-check-ellipsis"
|
className="govuk-summary-list-check-ellipsis"
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: repFormData.otherRelevantInformationEvidence
|
__html: repFormData.otherRelevantInformationEvidence,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
@@ -1917,7 +1918,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "signedDate") && (
|
{_.has(repFormData, "signedDate") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -1949,7 +1950,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "caseOfficer") && (
|
{_.has(repFormData, "caseOfficer") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -1982,7 +1983,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{hasOwn(repFormData, "onBehalfOfLPA") && (
|
{_.has(repFormData, "onBehalfOfLPA") && (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ const RepresentationFlowFormStage = ({
|
|||||||
t,
|
t,
|
||||||
appealIsConsultation,
|
appealIsConsultation,
|
||||||
currentReference,
|
currentReference,
|
||||||
caseTitle,
|
|
||||||
whichControl,
|
whichControl,
|
||||||
appealIsLocalImpact,
|
appealIsLocalImpact,
|
||||||
renderDueDate,
|
renderDueDate,
|
||||||
@@ -23,7 +22,7 @@ const RepresentationFlowFormStage = ({
|
|||||||
: t(
|
: t(
|
||||||
"myrepresentations:make-a-representation-on-label"
|
"myrepresentations:make-a-representation-on-label"
|
||||||
)}{" "}
|
)}{" "}
|
||||||
{caseTitle}{" "}
|
{currentReference}{" "}
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<div id="rep-form">
|
<div id="rep-form">
|
||||||
|
|||||||
@@ -1,119 +0,0 @@
|
|||||||
const {
|
|
||||||
getAvailableRepresentationTypes
|
|
||||||
} = require("../../../../lib/domain/representation-type-policy/getAvailableRepresentationTypes");
|
|
||||||
|
|
||||||
export const APPEAL_TYPES = {
|
|
||||||
SIPS: 846040002,
|
|
||||||
DNS: 846040011,
|
|
||||||
HOUSEHOLDER: 846040004,
|
|
||||||
ADVERT: 846040018,
|
|
||||||
EXCLUDE_QUESTIONNAIRE_1: 846040019,
|
|
||||||
EXCLUDE_QUESTIONNAIRE_2: 846040015,
|
|
||||||
EXCLUDE_QUESTIONNAIRE_3: 846040016
|
|
||||||
};
|
|
||||||
|
|
||||||
export const SPECIALIST_PROCESS = {
|
|
||||||
WRITTEN_REPS: 846040000,
|
|
||||||
HEARING: 846040001
|
|
||||||
};
|
|
||||||
|
|
||||||
export const INVOLVEMENT_TYPES = {
|
|
||||||
LPA: 846040012
|
|
||||||
};
|
|
||||||
|
|
||||||
export const REPRESENTATION_OPTIONS = {
|
|
||||||
QUESTIONNAIRE: "Questionnaire",
|
|
||||||
STATEMENT: "Statement",
|
|
||||||
FINAL_COMMENTS: "Final comments",
|
|
||||||
CONSULTATION_RESPONSE: "Consultation Response",
|
|
||||||
LOCAL_IMPACT_REPORT: "Local Impact Report",
|
|
||||||
MARINE_IMPACT_REPORT: "Marine Impact Report"
|
|
||||||
};
|
|
||||||
|
|
||||||
const isValidDate = (date) =>
|
|
||||||
date instanceof Date && !Number.isNaN(date.getTime());
|
|
||||||
|
|
||||||
const toDateOrNull = (value) => {
|
|
||||||
const date = new Date(value);
|
|
||||||
return isValidDate(date) ? date : null;
|
|
||||||
};
|
|
||||||
|
|
||||||
const endOfDay = (date) => {
|
|
||||||
if (!isValidDate(date)) return null;
|
|
||||||
const next = new Date(date);
|
|
||||||
next.setHours(23, 59, 59, 999);
|
|
||||||
return next;
|
|
||||||
};
|
|
||||||
|
|
||||||
const isWithinWindow = (now, start, end) => {
|
|
||||||
if (!isValidDate(now) || !isValidDate(start) || !isValidDate(end)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return now >= start && now <= end;
|
|
||||||
};
|
|
||||||
|
|
||||||
const normalizeCapacity = (value) =>
|
|
||||||
(value || "")
|
|
||||||
.toString()
|
|
||||||
.toLowerCase()
|
|
||||||
.replace(/(\band|[\s\-\+\(\)\,\&])/g, "");
|
|
||||||
|
|
||||||
export const buildRepresentationContext = ({
|
|
||||||
detailsObj = {},
|
|
||||||
appealType,
|
|
||||||
specialistProcess,
|
|
||||||
involvementType,
|
|
||||||
selectedCapacity,
|
|
||||||
isCaseOwner,
|
|
||||||
isNRW,
|
|
||||||
now = new Date()
|
|
||||||
}) => {
|
|
||||||
const isDNS = appealType === APPEAL_TYPES.DNS;
|
|
||||||
|
|
||||||
const startDate = toDateOrNull(
|
|
||||||
isDNS
|
|
||||||
? detailsObj.pinswg_applicationacceptedasvalid
|
|
||||||
: detailsObj.pinswg_startdate || detailsObj.pinswg_startdates
|
|
||||||
);
|
|
||||||
|
|
||||||
const statementDueDate = endOfDay(
|
|
||||||
toDateOrNull(
|
|
||||||
isDNS
|
|
||||||
? detailsObj.pinswg_endofrepresentationperiod
|
|
||||||
: detailsObj.pinswg_statementduedate ||
|
|
||||||
detailsObj.pinswg_statementsduedate
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
const finalCommentsDueDate = endOfDay(
|
|
||||||
toDateOrNull(
|
|
||||||
isDNS
|
|
||||||
? detailsObj.pinswg_endofrepresentationperiod
|
|
||||||
: detailsObj.pinswg_finalcommentsduedate
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
const capacity = normalizeCapacity(selectedCapacity);
|
|
||||||
const isLPA = involvementType === INVOLVEMENT_TYPES.LPA;
|
|
||||||
|
|
||||||
return {
|
|
||||||
appealType,
|
|
||||||
specialistProcess,
|
|
||||||
isDNS,
|
|
||||||
isSIPS: appealType === APPEAL_TYPES.SIPS,
|
|
||||||
isLPA,
|
|
||||||
isNRW: !!isNRW,
|
|
||||||
isCaseOwner: !!isCaseOwner,
|
|
||||||
isSelectedAppellant: capacity === "appellant",
|
|
||||||
isSelectedAgent: capacity === "agent",
|
|
||||||
isSelectedInterestedParty: capacity === "interestedparty",
|
|
||||||
now,
|
|
||||||
startDate,
|
|
||||||
statementDueDate,
|
|
||||||
finalCommentsDueDate
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
export const buildRepsArrFromContext = (ctx) => {
|
|
||||||
return getAvailableRepresentationTypes(ctx);
|
|
||||||
};
|
|
||||||
@@ -58,7 +58,7 @@ export const buildSubmitEnrichedValues = ({
|
|||||||
incidentID:
|
incidentID:
|
||||||
caseReferenceObj.incidentid ||
|
caseReferenceObj.incidentid ||
|
||||||
caseReferenceObj.repDetails.incidentid,
|
caseReferenceObj.repDetails.incidentid,
|
||||||
caseRef: caseReferenceObj.ticketnumber,
|
caseRef: caseReferenceObj.currentReference,
|
||||||
casereference: caseReferenceObj.currentReference,
|
casereference: caseReferenceObj.currentReference,
|
||||||
pinswg_questionnaireduedate: detailsObj.pinswg_questionnaireduedate,
|
pinswg_questionnaireduedate: detailsObj.pinswg_questionnaireduedate,
|
||||||
pinswg_endofrepresentationperiod:
|
pinswg_endofrepresentationperiod:
|
||||||
|
|||||||
@@ -88,13 +88,23 @@ const RepresentationList = (props) => {
|
|||||||
{t("case:documents-doc-type-label")}:
|
{t("case:documents-doc-type-label")}:
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue"
|
"pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup
|
json: transLookup,
|
||||||
})}
|
sanbox: {}
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
</dd>
|
</dd>
|
||||||
<dd className="govuk-summary-list__value govuk-!-font-size-16">
|
<dd className="govuk-summary-list__value govuk-!-font-size-16">
|
||||||
<span className="results-visually-hidden">
|
<span className="results-visually-hidden">
|
||||||
|
|||||||
@@ -1,130 +0,0 @@
|
|||||||
import useTranslation from "next-translate/useTranslation";
|
|
||||||
import { useState } from "react";
|
|
||||||
import { getLifecycleStagesForCase } from "../../lib/domain/case-lifecycle";
|
|
||||||
|
|
||||||
const statusClassMap = {
|
|
||||||
complete: "govuk-tag govuk-!-margin-top-2",
|
|
||||||
"in-progress": "govuk-tag govuk-tag--yellow govuk-!-margin-top-2",
|
|
||||||
"not-started": "govuk-tag govuk-tag--grey govuk-!-margin-top-2",
|
|
||||||
blocked: "govuk-tag govuk-tag--red govuk-!-margin-top-2"
|
|
||||||
};
|
|
||||||
|
|
||||||
const statusTextMap = {
|
|
||||||
complete: "status-complete",
|
|
||||||
"in-progress": "status-in-progress",
|
|
||||||
"not-started": "status-not-started",
|
|
||||||
blocked: "status-blocked"
|
|
||||||
};
|
|
||||||
|
|
||||||
const StatusDetails = (props) => {
|
|
||||||
let { t } = useTranslation();
|
|
||||||
|
|
||||||
const caseResult = props.searchResultsObj?.value?.[0];
|
|
||||||
const caseDetails = props.searchDetailsObj?.[0]?.value?.[0];
|
|
||||||
|
|
||||||
const statusCode = Number(caseResult?.statuscode);
|
|
||||||
const appealType = Number(caseResult?.pinswg_appealcasetype);
|
|
||||||
|
|
||||||
const specialistProcess = caseDetails?.pinswg_specialistcaseprocess;
|
|
||||||
|
|
||||||
const stages = getLifecycleStagesForCase(
|
|
||||||
appealType,
|
|
||||||
statusCode,
|
|
||||||
specialistProcess
|
|
||||||
);
|
|
||||||
|
|
||||||
function hasOwnPropertyAndNotNull(obj, property) {
|
|
||||||
return obj.hasOwnProperty(property) && obj[property] !== null;
|
|
||||||
}
|
|
||||||
|
|
||||||
const [expandAll, setExpandAll] = useState(null);
|
|
||||||
// null = use default (in-progress open)
|
|
||||||
// true = force open all
|
|
||||||
// false = force close all
|
|
||||||
|
|
||||||
const handleToggleAll = () => {
|
|
||||||
setExpandAll((prev) => (prev === true ? false : true));
|
|
||||||
};
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div className="govuk-grid-row">
|
|
||||||
<div className="govuk-grid-row">
|
|
||||||
<div className="govuk-grid-column-full">
|
|
||||||
<h2 className="govuk-heading-m ">
|
|
||||||
{t("case:status-title")}
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
className="govuk-!-margin-bottom-3 govuk-link watchCase govuk-!-font-size-16 "
|
|
||||||
onClick={handleToggleAll}
|
|
||||||
>
|
|
||||||
{expandAll === true
|
|
||||||
? t("case:status-hide-all-label")
|
|
||||||
: t("case:status-show-all-label")}
|
|
||||||
</button>
|
|
||||||
<ul className="govuk-task-list">
|
|
||||||
{stages.map((stage) => {
|
|
||||||
const isDefaultOpen =
|
|
||||||
stage.status === "in-progress";
|
|
||||||
|
|
||||||
const isOpen =
|
|
||||||
expandAll === null ? isDefaultOpen : expandAll;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<li
|
|
||||||
className="govuk-task-list__item"
|
|
||||||
key={stage.id}
|
|
||||||
>
|
|
||||||
<div className="govuk-task-list__name-and-hint">
|
|
||||||
{stage.descriptionKey && (
|
|
||||||
<details
|
|
||||||
className="govuk-details govuk-!-margin-top-2 govuk-!-margin-bottom-2"
|
|
||||||
open={isOpen}
|
|
||||||
>
|
|
||||||
<summary className="govuk-details__summary">
|
|
||||||
<span className="govuk-details__summary-text">
|
|
||||||
{t(
|
|
||||||
`case-stages:${stage.titleKey}`
|
|
||||||
)}
|
|
||||||
</span>
|
|
||||||
</summary>
|
|
||||||
<div className="govuk-details__text">
|
|
||||||
{t(
|
|
||||||
`case-stages:${stage.descriptionKey}`
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
</details>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div
|
|
||||||
className="govuk-task-list__status "
|
|
||||||
id={`${stage.id}-status`}
|
|
||||||
>
|
|
||||||
<strong
|
|
||||||
className={
|
|
||||||
statusClassMap[stage.status] ||
|
|
||||||
"govuk-tag govuk-tag--grey govuk-!-margin-top-2"
|
|
||||||
}
|
|
||||||
>
|
|
||||||
{t(
|
|
||||||
`case-stages:${
|
|
||||||
statusTextMap[
|
|
||||||
stage.status
|
|
||||||
] || "status-not-started"
|
|
||||||
}`
|
|
||||||
)}
|
|
||||||
</strong>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
);
|
|
||||||
})}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default StatusDetails;
|
|
||||||
+90
-269
@@ -9,7 +9,6 @@ import transLookup from "../../data/lookuptranslations.json";
|
|||||||
import Documents from "./documents";
|
import Documents from "./documents";
|
||||||
import EventsDetails from "./events";
|
import EventsDetails from "./events";
|
||||||
import MediaDetails from "./media";
|
import MediaDetails from "./media";
|
||||||
import StatusDetails from "./status";
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
createWatchedCases,
|
createWatchedCases,
|
||||||
@@ -24,7 +23,6 @@ import {
|
|||||||
setCurrentReference,
|
setCurrentReference,
|
||||||
setCurrentView
|
setCurrentView
|
||||||
} from "../../store/currentView/action";
|
} from "../../store/currentView/action";
|
||||||
import resolveCrmDisplayValue from "../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
setWatchedCases,
|
setWatchedCases,
|
||||||
@@ -33,11 +31,7 @@ import {
|
|||||||
|
|
||||||
import { signIn, useSession } from "next-auth/react";
|
import { signIn, useSession } from "next-auth/react";
|
||||||
import { destroyCookie, parseCookies, setCookie } from "nookies";
|
import { destroyCookie, parseCookies, setCookie } from "nookies";
|
||||||
import { getFormCollectionByID, getDetailsProxy, hasOwn } from "../utils";
|
import { getFormCollectionByID, getDetailsProxy } from "../utils";
|
||||||
import {
|
|
||||||
getLivePublishedEvent,
|
|
||||||
isEventLiveNow
|
|
||||||
} from "./summary/utils/liveEvent";
|
|
||||||
|
|
||||||
import * as CaseTypes from "./summaryTypes"; // ✅ must match filename exactly
|
import * as CaseTypes from "./summaryTypes"; // ✅ must match filename exactly
|
||||||
import {
|
import {
|
||||||
@@ -67,7 +61,7 @@ import CaseNoticeBanner from "./caseNoticeBanner";
|
|||||||
import WatchModal from "./watchmodal";
|
import WatchModal from "./watchmodal";
|
||||||
import EIADetails from "./eia";
|
import EIADetails from "./eia";
|
||||||
|
|
||||||
import MapComponent from "../mapping";
|
import GoogleMapComponent from "../mapping";
|
||||||
import OSPoint from "ospoint";
|
import OSPoint from "ospoint";
|
||||||
|
|
||||||
const CaseSummary = (props) => {
|
const CaseSummary = (props) => {
|
||||||
@@ -96,8 +90,7 @@ const CaseSummary = (props) => {
|
|||||||
currentView,
|
currentView,
|
||||||
messagesObj,
|
messagesObj,
|
||||||
docsOffline,
|
docsOffline,
|
||||||
ticketnumber,
|
ticketnumber
|
||||||
mapTarget
|
|
||||||
} = props;
|
} = props;
|
||||||
|
|
||||||
const showLoginCheck =
|
const showLoginCheck =
|
||||||
@@ -203,10 +196,6 @@ const CaseSummary = (props) => {
|
|||||||
return isEmail;
|
return isEmail;
|
||||||
};
|
};
|
||||||
|
|
||||||
const primaryId = getFormCollectionByID(
|
|
||||||
appealTypeID || setCaseQueryObj.value[0].pinswg_appealcasetype
|
|
||||||
).PrimaryIdAttribute;
|
|
||||||
|
|
||||||
const deleteItem = (caseID, topThreeType) => {
|
const deleteItem = (caseID, topThreeType) => {
|
||||||
let cookies = parseCookies();
|
let cookies = parseCookies();
|
||||||
topThreeType == "watchedCases" &&
|
topThreeType == "watchedCases" &&
|
||||||
@@ -322,20 +311,6 @@ const CaseSummary = (props) => {
|
|||||||
|
|
||||||
let hasEndDate = typeof d != "undefined";
|
let hasEndDate = typeof d != "undefined";
|
||||||
|
|
||||||
const hasEventsTabData =
|
|
||||||
isObjectNotEmpty(props, "eventsObj") &&
|
|
||||||
Array.isArray(props.eventsObj?.value) &&
|
|
||||||
props.eventsObj.value.length > 0;
|
|
||||||
|
|
||||||
const hasMediaTabData =
|
|
||||||
isObjectNotEmpty(props, "mediaObj") &&
|
|
||||||
Array.isArray(props.mediaObj?.value) &&
|
|
||||||
props.mediaObj.value.length > 0;
|
|
||||||
|
|
||||||
const livePublishedEvent = hasEventsTabData
|
|
||||||
? getLivePublishedEvent(props.eventsObj)
|
|
||||||
: null;
|
|
||||||
|
|
||||||
let point = {};
|
let point = {};
|
||||||
let siteCoords = {};
|
let siteCoords = {};
|
||||||
let center = {};
|
let center = {};
|
||||||
@@ -374,47 +349,6 @@ const CaseSummary = (props) => {
|
|||||||
showDetails == true ? (
|
showDetails == true ? (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-frontend-supported">
|
<div className="govuk-frontend-supported">
|
||||||
{livePublishedEvent && (
|
|
||||||
<div
|
|
||||||
className="govuk-notification-banner govuk-!-margin-bottom-6"
|
|
||||||
role="region"
|
|
||||||
aria-labelledby="live-event-title"
|
|
||||||
data-module="govuk-notification-banner"
|
|
||||||
>
|
|
||||||
<div className="govuk-notification-banner__header">
|
|
||||||
<h2
|
|
||||||
className="govuk-notification-banner__title"
|
|
||||||
id="live-event-title"
|
|
||||||
>
|
|
||||||
{t("case:live-event-subheading")}
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
<div className="govuk-notification-banner__content">
|
|
||||||
<p className="govuk-notification-banner__heading">
|
|
||||||
{t("case:live-event-copy")}
|
|
||||||
</p>
|
|
||||||
|
|
||||||
{livePublishedEvent.pinswg_eventname && (
|
|
||||||
<p className="govuk-body">
|
|
||||||
{livePublishedEvent.pinswg_eventname}
|
|
||||||
</p>
|
|
||||||
)}
|
|
||||||
|
|
||||||
<a
|
|
||||||
href={
|
|
||||||
locale === "en"
|
|
||||||
? livePublishedEvent.pinswg_linktotheevent
|
|
||||||
: livePublishedEvent.pinswg_linktotheeventstreamwelsh
|
|
||||||
}
|
|
||||||
className="govuk-link govuk-link--no-visited-state"
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener noreferrer"
|
|
||||||
>
|
|
||||||
{t("case:live-event-link")}
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
<div className="govuk-grid-column-full">
|
<div className="govuk-grid-column-full">
|
||||||
<h1 className="govuk-heading-xl govuk-!-margin-bottom-7">
|
<h1 className="govuk-heading-xl govuk-!-margin-bottom-7">
|
||||||
@@ -429,7 +363,6 @@ const CaseSummary = (props) => {
|
|||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="govuk-tabs" data-module="govuk-tabs">
|
<div className="govuk-tabs" data-module="govuk-tabs">
|
||||||
<h2 className="govuk-tabs__title">Contents</h2>
|
<h2 className="govuk-tabs__title">Contents</h2>
|
||||||
<ul className="govuk-tabs__list">
|
<ul className="govuk-tabs__list">
|
||||||
@@ -510,11 +443,12 @@ const CaseSummary = (props) => {
|
|||||||
href="#case-eia"
|
href="#case-eia"
|
||||||
onClick={() => setWhichTab("case-eia")}
|
onClick={() => setWhichTab("case-eia")}
|
||||||
>
|
>
|
||||||
{router.locale == "cy" ? "AEA" : "EIA"}
|
{" "}
|
||||||
|
EIA
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
)}
|
)}
|
||||||
{hasEventsTabData && (
|
{isObjectNotEmpty(props, "eventsObj") && (
|
||||||
<li
|
<li
|
||||||
className={
|
className={
|
||||||
whichTab == "case-events"
|
whichTab == "case-events"
|
||||||
@@ -534,7 +468,7 @@ const CaseSummary = (props) => {
|
|||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
)}
|
)}
|
||||||
{hasMediaTabData && (
|
{isObjectNotEmpty(props, "mediaObj") && (
|
||||||
<li
|
<li
|
||||||
className={
|
className={
|
||||||
whichTab == "case-media"
|
whichTab == "case-media"
|
||||||
@@ -571,21 +505,6 @@ const CaseSummary = (props) => {
|
|||||||
{t("case:summary-tab-documents-label")}
|
{t("case:summary-tab-documents-label")}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li
|
|
||||||
className={
|
|
||||||
whichTab == "case-status"
|
|
||||||
? "govuk-tabs__list-item govuk-tabs__list-item--selected"
|
|
||||||
: "govuk-tabs__list-item "
|
|
||||||
}
|
|
||||||
>
|
|
||||||
<a
|
|
||||||
className="govuk-tabs__tab"
|
|
||||||
href="#case-status"
|
|
||||||
onClick={() => setWhichTab("case-status")}
|
|
||||||
>
|
|
||||||
{t("case:status-title")}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
<div
|
<div
|
||||||
className={
|
className={
|
||||||
@@ -607,15 +526,27 @@ const CaseSummary = (props) => {
|
|||||||
<dl className="govuk-summary-list govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-margin-bottom-9">
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{primaryId === "pinswg_dnsid" ||
|
{getFormCollectionByID(
|
||||||
primaryId ===
|
appealTypeID ||
|
||||||
"pinswg_nonvalidationid" ||
|
setCaseQueryObj.value[0]
|
||||||
primaryId === "pinswg_sipscase"
|
.pinswg_appealcasetype
|
||||||
|
).PrimaryIdAttribute ==
|
||||||
|
"pinswg_dnsid"
|
||||||
? t(
|
? t(
|
||||||
"case:summary-applicantonly-label"
|
"case:summary-applicantonly-label"
|
||||||
)
|
)
|
||||||
: t(
|
: getFormCollectionByID(
|
||||||
|
appealTypeID ||
|
||||||
|
setCaseQueryObj
|
||||||
|
.value[0]
|
||||||
|
.pinswg_appealcasetype
|
||||||
|
).PrimaryIdAttribute ==
|
||||||
|
"pinswg_nonvalidationid"
|
||||||
|
? t(
|
||||||
"case:summary-appellantonly-label"
|
"case:summary-appellantonly-label"
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-applicant-label"
|
||||||
)}
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
@@ -631,7 +562,7 @@ const CaseSummary = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
{detailsObj.pinswg_agentcontactname !=
|
{detailsObj.pinswg_agentcontactname !=
|
||||||
null &&
|
null &&
|
||||||
(hasOwn(
|
(_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_agentcontactname"
|
"pinswg_agentcontactname"
|
||||||
) ? (
|
) ? (
|
||||||
@@ -642,7 +573,7 @@ const CaseSummary = (props) => {
|
|||||||
)}
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_agentcontactname"
|
"pinswg_agentcontactname"
|
||||||
)
|
)
|
||||||
@@ -686,103 +617,103 @@ const CaseSummary = (props) => {
|
|||||||
)[0]
|
)[0]
|
||||||
: ""
|
: ""
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddressline1"
|
"pinswg_siteaddressline1"
|
||||||
)
|
)
|
||||||
? detailsObj.pinswg_siteaddressline1
|
? detailsObj.pinswg_siteaddressline1
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_addressline1"
|
"pinswg_addressline1"
|
||||||
)
|
)
|
||||||
? detailsObj.pinswg_addressline1
|
? detailsObj.pinswg_addressline1
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddressline1"
|
"pinswg_siteaddressline1"
|
||||||
) &&
|
) &&
|
||||||
detailsObj.pinswg_siteaddressline1 !=
|
detailsObj.pinswg_siteaddressline1 !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_addressline1"
|
"pinswg_addressline1"
|
||||||
) &&
|
) &&
|
||||||
detailsObj.pinswg_addressline1 !=
|
detailsObj.pinswg_addressline1 !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddressline2"
|
"pinswg_siteaddressline2"
|
||||||
)
|
)
|
||||||
? detailsObj.pinswg_siteaddressline2
|
? detailsObj.pinswg_siteaddressline2
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_addressline2"
|
"pinswg_addressline2"
|
||||||
)
|
)
|
||||||
? detailsObj.pinswg_addressline2
|
? detailsObj.pinswg_addressline2
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_addressline2"
|
"pinswg_addressline2"
|
||||||
) &&
|
) &&
|
||||||
detailsObj.pinswg_addressline2 !=
|
detailsObj.pinswg_addressline2 !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddresstown"
|
"pinswg_siteaddresstown"
|
||||||
)
|
)
|
||||||
? detailsObj.pinswg_siteaddresstown
|
? detailsObj.pinswg_siteaddresstown
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_addresstown"
|
"pinswg_addresstown"
|
||||||
)
|
)
|
||||||
? detailsObj.pinswg_addresstown
|
? detailsObj.pinswg_addresstown
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddresstown"
|
"pinswg_siteaddresstown"
|
||||||
) &&
|
) &&
|
||||||
detailsObj.pinswg_siteaddresstown !=
|
detailsObj.pinswg_siteaddresstown !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_addresstown"
|
"pinswg_addresstown"
|
||||||
) &&
|
) &&
|
||||||
detailsObj.pinswg_addresstown !=
|
detailsObj.pinswg_addresstown !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddresscounty"
|
"pinswg_siteaddresscounty"
|
||||||
)
|
)
|
||||||
? detailsObj.pinswg_siteaddresscounty
|
? detailsObj.pinswg_siteaddresscounty
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_addresscounty"
|
"pinswg_addresscounty"
|
||||||
)
|
)
|
||||||
? detailsObj.pinswg_addresscounty
|
? detailsObj.pinswg_addresscounty
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddresscounty"
|
"pinswg_siteaddresscounty"
|
||||||
) &&
|
) &&
|
||||||
detailsObj.pinswg_siteaddresscounty !=
|
detailsObj.pinswg_siteaddresscounty !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_addresscounty"
|
"pinswg_addresscounty"
|
||||||
) &&
|
) &&
|
||||||
detailsObj.pinswg_addresscounty !=
|
detailsObj.pinswg_addresscounty !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddresspostcode"
|
"pinswg_siteaddresspostcode"
|
||||||
)
|
)
|
||||||
? detailsObj.pinswg_siteaddresspostcode
|
? detailsObj.pinswg_siteaddresspostcode
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_postcode"
|
"pinswg_postcode"
|
||||||
)
|
)
|
||||||
@@ -877,52 +808,6 @@ const CaseSummary = (props) => {
|
|||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
<div className="govuk-grid-column-full">
|
<div className="govuk-grid-column-full">
|
||||||
<div className="">
|
<div className="">
|
||||||
{getFormCollectionByID(
|
|
||||||
appealTypeID
|
|
||||||
).PrimaryIdAttribute ==
|
|
||||||
"pinswg_sipscase" &&
|
|
||||||
isConsultationWindowOpen(
|
|
||||||
detailsObj
|
|
||||||
) && (
|
|
||||||
<p>
|
|
||||||
{t(
|
|
||||||
"case:summary-make-consultation-response-para-a"
|
|
||||||
)}
|
|
||||||
<Link
|
|
||||||
target="_blank"
|
|
||||||
className="govuk-link"
|
|
||||||
href={t(
|
|
||||||
"case:summary-make-representation-para-a-link"
|
|
||||||
)}
|
|
||||||
>
|
|
||||||
{t(
|
|
||||||
"case:summary-make-representation-para-a-label"
|
|
||||||
)}
|
|
||||||
</Link>
|
|
||||||
</p>
|
|
||||||
)}
|
|
||||||
{isGeneralRepresentationWindowOpen(
|
|
||||||
detailsObj
|
|
||||||
) && (
|
|
||||||
<div className="govuk-button-group">
|
|
||||||
<p>
|
|
||||||
{t(
|
|
||||||
"case:summary-make-representation-para-a"
|
|
||||||
)}
|
|
||||||
<Link
|
|
||||||
target="_blank"
|
|
||||||
className="govuk-link"
|
|
||||||
href={t(
|
|
||||||
"case:summary-make-representation-para-a-link"
|
|
||||||
)}
|
|
||||||
>
|
|
||||||
{t(
|
|
||||||
"case:summary-make-representation-para-a-label"
|
|
||||||
)}
|
|
||||||
</Link>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
<div className="govuk-button-group">
|
<div className="govuk-button-group">
|
||||||
{getFormCollectionByID(
|
{getFormCollectionByID(
|
||||||
appealTypeID
|
appealTypeID
|
||||||
@@ -954,13 +839,13 @@ const CaseSummary = (props) => {
|
|||||||
case:
|
case:
|
||||||
currentType ==
|
currentType ==
|
||||||
"searchResultsObj"
|
"searchResultsObj"
|
||||||
? detailsObj.ticketnumber
|
? detailsObj.pinswg_name
|
||||||
: currentType ==
|
: currentType ==
|
||||||
"watchedCases"
|
"watchedCases"
|
||||||
? casesObj.pinswg_title
|
? casesObj.pinswg_title
|
||||||
: currentType ==
|
: currentType ==
|
||||||
"directResultsObj"
|
"directResultsObj"
|
||||||
? detailsObj.ticketnumber
|
? detailsObj.pinswg_name
|
||||||
: casesObj.reference
|
: casesObj.reference
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
@@ -1029,7 +914,6 @@ const CaseSummary = (props) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{isGeneralRepresentationWindowOpen(
|
{isGeneralRepresentationWindowOpen(
|
||||||
detailsObj
|
detailsObj
|
||||||
) && (
|
) && (
|
||||||
@@ -1483,7 +1367,7 @@ const CaseSummary = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
<div className="govuk-grid-column-full">
|
<div className="govuk-grid-column-full">
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_startdate"
|
"pinswg_startdate"
|
||||||
) &&
|
) &&
|
||||||
@@ -1573,11 +1457,9 @@ const CaseSummary = (props) => {
|
|||||||
width: "100%"
|
width: "100%"
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<MapComponent
|
<GoogleMapComponent
|
||||||
center={center}
|
center={center}
|
||||||
zoom={zoom}
|
zoom={zoom}
|
||||||
locale={router.locale}
|
|
||||||
mapTarget={mapTarget}
|
|
||||||
/>
|
/>
|
||||||
{/* <OSMapComponent center={center} zoom={zoom} /> */}
|
{/* <OSMapComponent center={center} zoom={zoom} /> */}
|
||||||
</div>
|
</div>
|
||||||
@@ -1616,103 +1498,103 @@ const CaseSummary = (props) => {
|
|||||||
)[0]
|
)[0]
|
||||||
: ""
|
: ""
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddressline1"
|
"pinswg_siteaddressline1"
|
||||||
)
|
)
|
||||||
? detailsObj.pinswg_siteaddressline1
|
? detailsObj.pinswg_siteaddressline1
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_addressline1"
|
"pinswg_addressline1"
|
||||||
)
|
)
|
||||||
? detailsObj.pinswg_addressline1
|
? detailsObj.pinswg_addressline1
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddressline1"
|
"pinswg_siteaddressline1"
|
||||||
) &&
|
) &&
|
||||||
detailsObj.pinswg_siteaddressline1 !=
|
detailsObj.pinswg_siteaddressline1 !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_addressline1"
|
"pinswg_addressline1"
|
||||||
) &&
|
) &&
|
||||||
detailsObj.pinswg_addressline1 !=
|
detailsObj.pinswg_addressline1 !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddressline2"
|
"pinswg_siteaddressline2"
|
||||||
)
|
)
|
||||||
? detailsObj.pinswg_siteaddressline2
|
? detailsObj.pinswg_siteaddressline2
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_addressline2"
|
"pinswg_addressline2"
|
||||||
)
|
)
|
||||||
? detailsObj.pinswg_addressline2
|
? detailsObj.pinswg_addressline2
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_addressline2"
|
"pinswg_addressline2"
|
||||||
) &&
|
) &&
|
||||||
detailsObj.pinswg_addressline2 !=
|
detailsObj.pinswg_addressline2 !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddresstown"
|
"pinswg_siteaddresstown"
|
||||||
)
|
)
|
||||||
? detailsObj.pinswg_siteaddresstown
|
? detailsObj.pinswg_siteaddresstown
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_addresstown"
|
"pinswg_addresstown"
|
||||||
)
|
)
|
||||||
? detailsObj.pinswg_addresstown
|
? detailsObj.pinswg_addresstown
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddresstown"
|
"pinswg_siteaddresstown"
|
||||||
) &&
|
) &&
|
||||||
detailsObj.pinswg_siteaddresstown !=
|
detailsObj.pinswg_siteaddresstown !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_addresstown"
|
"pinswg_addresstown"
|
||||||
) &&
|
) &&
|
||||||
detailsObj.pinswg_addresstown !=
|
detailsObj.pinswg_addresstown !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddresscounty"
|
"pinswg_siteaddresscounty"
|
||||||
)
|
)
|
||||||
? detailsObj.pinswg_siteaddresscounty
|
? detailsObj.pinswg_siteaddresscounty
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_addresscounty"
|
"pinswg_addresscounty"
|
||||||
)
|
)
|
||||||
? detailsObj.pinswg_addresscounty
|
? detailsObj.pinswg_addresscounty
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddresscounty"
|
"pinswg_siteaddresscounty"
|
||||||
) &&
|
) &&
|
||||||
detailsObj.pinswg_siteaddresscounty !=
|
detailsObj.pinswg_siteaddresscounty !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_addresscounty"
|
"pinswg_addresscounty"
|
||||||
) &&
|
) &&
|
||||||
detailsObj.pinswg_addresscounty !=
|
detailsObj.pinswg_addresscounty !=
|
||||||
null && <br />}
|
null && <br />}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_siteaddresspostcode"
|
"pinswg_siteaddresspostcode"
|
||||||
)
|
)
|
||||||
? detailsObj.pinswg_siteaddresspostcode
|
? detailsObj.pinswg_siteaddresspostcode
|
||||||
: ""}
|
: ""}
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_postcode"
|
"pinswg_postcode"
|
||||||
)
|
)
|
||||||
@@ -1740,20 +1622,16 @@ const CaseSummary = (props) => {
|
|||||||
<div className="card-body">
|
<div className="card-body">
|
||||||
<div>
|
<div>
|
||||||
<h4 className="govuk-heading-s ">
|
<h4 className="govuk-heading-s ">
|
||||||
{t(
|
EIA Screening
|
||||||
"case:summary-eia-screening-heading"
|
|
||||||
)}
|
|
||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t(
|
Screening start date
|
||||||
"case:summary-eia-screening-start-date-label"
|
|
||||||
)}
|
|
||||||
</dt>{" "}
|
</dt>{" "}
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_screeningstartdate"
|
"pinswg_screeningstartdate"
|
||||||
)
|
)
|
||||||
@@ -1773,12 +1651,10 @@ const CaseSummary = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t(
|
EIA target date
|
||||||
"case:summary-eia-screening-target-date-label"
|
|
||||||
)}
|
|
||||||
</dt>{" "}
|
</dt>{" "}
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_eiatargetdate"
|
"pinswg_eiatargetdate"
|
||||||
)
|
)
|
||||||
@@ -1803,12 +1679,10 @@ const CaseSummary = (props) => {
|
|||||||
) && (
|
) && (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t(
|
Target Extended
|
||||||
"case:summary-eia-screening-target-extended-label"
|
|
||||||
)}
|
|
||||||
</dt>{" "}
|
</dt>{" "}
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_targetextended"
|
"pinswg_targetextended"
|
||||||
)
|
)
|
||||||
@@ -1829,12 +1703,11 @@ const CaseSummary = (props) => {
|
|||||||
)}
|
)}
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t(
|
Direction Issued
|
||||||
"case:summary-eia-screening-direction-issued-label"
|
Date
|
||||||
)}
|
|
||||||
</dt>{" "}
|
</dt>{" "}
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_directionissueddate"
|
"pinswg_directionissueddate"
|
||||||
)
|
)
|
||||||
@@ -1864,7 +1737,7 @@ const CaseSummary = (props) => {
|
|||||||
)}
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_eiarequired"
|
"pinswg_eiarequired"
|
||||||
)
|
)
|
||||||
@@ -1883,35 +1756,6 @@ const CaseSummary = (props) => {
|
|||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{hasValidKey(
|
|
||||||
detailsObj,
|
|
||||||
"pinswg_sipseiarequired"
|
|
||||||
) && (
|
|
||||||
<div className="govuk-summary-list__row">
|
|
||||||
<dt className="govuk-summary-list__key">
|
|
||||||
{t(
|
|
||||||
"case:summary-eia-required-label"
|
|
||||||
)}
|
|
||||||
</dt>
|
|
||||||
<dd className="govuk-summary-list__value">
|
|
||||||
{resolveCrmDisplayValue(
|
|
||||||
{
|
|
||||||
value: detailsObj[
|
|
||||||
"pinswg_sipseiarequired@OData.Community.Display.V1.FormattedValue"
|
|
||||||
],
|
|
||||||
locale,
|
|
||||||
translations:
|
|
||||||
transLookup,
|
|
||||||
fallbackValue:
|
|
||||||
t(
|
|
||||||
"case:summary-awaiting-information-label"
|
|
||||||
)
|
|
||||||
}
|
|
||||||
)}
|
|
||||||
</dd>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1920,20 +1764,16 @@ const CaseSummary = (props) => {
|
|||||||
<div className="card-body">
|
<div className="card-body">
|
||||||
<div>
|
<div>
|
||||||
<h4 className="govuk-heading-s ">
|
<h4 className="govuk-heading-s ">
|
||||||
{t(
|
EIA Scoping
|
||||||
"case:summary-eia-scoping-heading"
|
|
||||||
)}
|
|
||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t(
|
Scoping Start Date
|
||||||
"case:summary-eia-scoping-start-date-label"
|
|
||||||
)}
|
|
||||||
</dt>{" "}
|
</dt>{" "}
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_scopingstartdate"
|
"pinswg_scopingstartdate"
|
||||||
)
|
)
|
||||||
@@ -1953,12 +1793,10 @@ const CaseSummary = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t(
|
Scoping Target Date
|
||||||
"case:summary-eia-scoping-target-date-label"
|
|
||||||
)}
|
|
||||||
</dt>{" "}
|
</dt>{" "}
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_scopingtargetdate"
|
"pinswg_scopingtargetdate"
|
||||||
)
|
)
|
||||||
@@ -1982,12 +1820,11 @@ const CaseSummary = (props) => {
|
|||||||
) && (
|
) && (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t(
|
Scoping Target
|
||||||
"case:summary-eia-scoping-target-extended-label"
|
Extended
|
||||||
)}
|
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_scopingtargetextended"
|
"pinswg_scopingtargetextended"
|
||||||
)
|
)
|
||||||
@@ -2008,12 +1845,11 @@ const CaseSummary = (props) => {
|
|||||||
)}
|
)}
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t(
|
Scoping Outcome
|
||||||
"case:summary-eia-scoping-direction-issued-date-label"
|
Issued Date
|
||||||
)}
|
|
||||||
</dt>{" "}
|
</dt>{" "}
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_scopingoutcomeissueddate"
|
"pinswg_scopingoutcomeissueddate"
|
||||||
)
|
)
|
||||||
@@ -2042,7 +1878,7 @@ const CaseSummary = (props) => {
|
|||||||
.PrimaryIdAttribute == "pinswg_sipscase" && (
|
.PrimaryIdAttribute == "pinswg_sipscase" && (
|
||||||
<EIADetails props={props} />
|
<EIADetails props={props} />
|
||||||
)}
|
)}
|
||||||
{hasEventsTabData && (
|
{isObjectNotEmpty(props, "eventsObj") && (
|
||||||
<div
|
<div
|
||||||
className={
|
className={
|
||||||
whichTab == "case-events"
|
whichTab == "case-events"
|
||||||
@@ -2055,7 +1891,7 @@ const CaseSummary = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{hasMediaTabData && (
|
{isObjectNotEmpty(props, "mediaObj") && (
|
||||||
<div
|
<div
|
||||||
className={
|
className={
|
||||||
whichTab == "case-media"
|
whichTab == "case-media"
|
||||||
@@ -2092,19 +1928,6 @@ const CaseSummary = (props) => {
|
|||||||
showFilteredDocs={props.showFilteredDocs}
|
showFilteredDocs={props.showFilteredDocs}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div
|
|
||||||
className={
|
|
||||||
whichTab == "case-status"
|
|
||||||
? "govuk-tabs__panel "
|
|
||||||
: "govuk-tabs__panel govuk-tabs__panel--hidden"
|
|
||||||
}
|
|
||||||
id="case-status"
|
|
||||||
>
|
|
||||||
<StatusDetails
|
|
||||||
searchResultsObj={props.searchResultsObj}
|
|
||||||
searchDetailsObj={props.searchDetailsObj}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
@@ -2169,12 +1992,10 @@ const CaseSummary = (props) => {
|
|||||||
) : null;
|
) : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
const fallbackIncidentId = setCaseQueryObj?.value?.[0]?.incidentid;
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const linkCaseObj = async () => {
|
const linkCaseObj = async () => {
|
||||||
let docObj = await getLinkedCases(
|
let docObj = await getLinkedCases(
|
||||||
incidentid || fallbackIncidentId
|
incidentid || setCaseQueryObj.value[0].incidentid
|
||||||
).then((data) => {
|
).then((data) => {
|
||||||
//console.log(data);
|
//console.log(data);
|
||||||
setCurrentLinkedCases(data);
|
setCurrentLinkedCases(data);
|
||||||
@@ -2185,7 +2006,7 @@ const CaseSummary = (props) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const linkedCases = linkCaseObj();
|
const linkedCases = linkCaseObj();
|
||||||
}, [incidentid, fallbackIncidentId, setCurrentLinkedCases]);
|
}, [incidentid, setCurrentLinkedCases]);
|
||||||
|
|
||||||
let now = new Date();
|
let now = new Date();
|
||||||
let expDate = new Date(now);
|
let expDate = new Date(now);
|
||||||
|
|||||||
@@ -1,853 +0,0 @@
|
|||||||
import { getStageCaseTypeKey } from "../../../../lib/domain/case-lifecycle/getStageCaseTypeKey";
|
|
||||||
import { getStagesForCaseTypeKey } from "../../../../lib/domain/case-lifecycle/getStagesForCaseTypeKey";
|
|
||||||
import { getLifecycleStageIndex } from "../../../../lib/domain/case-lifecycle/getLifecycleStageIndex";
|
|
||||||
import { getLifecycleStageStatus } from "../../../../lib/domain/case-lifecycle/getLifecycleStageStatus";
|
|
||||||
|
|
||||||
const slugify = (value) =>
|
|
||||||
value
|
|
||||||
.toString()
|
|
||||||
.toLowerCase()
|
|
||||||
.replace(/[^a-z0-9]+/g, "-")
|
|
||||||
.replace(/^-|-$/g, "");
|
|
||||||
|
|
||||||
const buildStages = (stages) =>
|
|
||||||
stages.map((stage) => ({
|
|
||||||
id: slugify(stage.titleKey),
|
|
||||||
...stage
|
|
||||||
}));
|
|
||||||
|
|
||||||
export const stagesByCaseType = {
|
|
||||||
DNS: buildStages([
|
|
||||||
{
|
|
||||||
stageId: 846040001,
|
|
||||||
titleKey: "pre-application",
|
|
||||||
descriptionKey: "pre-application-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040002,
|
|
||||||
titleKey: "environmental-impact-assessment-scoping",
|
|
||||||
descriptionKey: "environmental-impact-assessment-scoping-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040003,
|
|
||||||
titleKey: "notification",
|
|
||||||
descriptionKey: "notification-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040004,
|
|
||||||
titleKey: "acceptance-checking",
|
|
||||||
descriptionKey: "acceptance-checking-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040005,
|
|
||||||
titleKey: "invalid-submission",
|
|
||||||
descriptionKey: "invalid-submission-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040006,
|
|
||||||
titleKey: "consultation",
|
|
||||||
descriptionKey: "consultation-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040007,
|
|
||||||
titleKey: "re-consultation",
|
|
||||||
descriptionKey: "re-consultation-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040008,
|
|
||||||
titleKey: "reporting",
|
|
||||||
descriptionKey: "reporting-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040009,
|
|
||||||
titleKey: "inspectors-decision",
|
|
||||||
descriptionKey: "inspectors-decision-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040011,
|
|
||||||
titleKey: "report-to-ministers",
|
|
||||||
descriptionKey: "report-to-ministers-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040012,
|
|
||||||
titleKey: "minister-s-decision",
|
|
||||||
descriptionKey: "minister-s-decision-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040013,
|
|
||||||
titleKey: "case-closed",
|
|
||||||
descriptionKey: "case-closed-desc-dnssips"
|
|
||||||
}
|
|
||||||
]),
|
|
||||||
|
|
||||||
SIP: buildStages([
|
|
||||||
{
|
|
||||||
stageId: 846040001,
|
|
||||||
titleKey: "pre-application",
|
|
||||||
descriptionKey: "pre-application-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040002,
|
|
||||||
titleKey: "environmental-impact-assessment-scoping",
|
|
||||||
descriptionKey: "environmental-impact-assessment-scoping-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040003,
|
|
||||||
titleKey: "notification",
|
|
||||||
descriptionKey: "notification-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040004,
|
|
||||||
titleKey: "acceptance-checking",
|
|
||||||
descriptionKey: "acceptance-checking-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040005,
|
|
||||||
titleKey: "invalid-submission",
|
|
||||||
descriptionKey: "invalid-submission-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040006,
|
|
||||||
titleKey: "consultation",
|
|
||||||
descriptionKey: "consultation-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040007,
|
|
||||||
titleKey: "re-consultation",
|
|
||||||
descriptionKey: "re-consultation-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040008,
|
|
||||||
titleKey: "reporting",
|
|
||||||
descriptionKey: "reporting-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040011,
|
|
||||||
titleKey: "report-to-ministers",
|
|
||||||
descriptionKey: "report-to-ministers-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040012,
|
|
||||||
titleKey: "minister-s-decision",
|
|
||||||
descriptionKey: "minister-s-decision-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040013,
|
|
||||||
titleKey: "case-closed",
|
|
||||||
descriptionKey: "case-closed-desc-dnssips"
|
|
||||||
}
|
|
||||||
]),
|
|
||||||
|
|
||||||
PLANNING_S78: buildStages([
|
|
||||||
{
|
|
||||||
stageId: 846040014,
|
|
||||||
titleKey: "appeal-submitted",
|
|
||||||
descriptionKey: "appeal-submitted-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040015,
|
|
||||||
titleKey: "appeal-registered",
|
|
||||||
descriptionKey: "appeal-registered-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040016,
|
|
||||||
titleKey: "appeal-validated",
|
|
||||||
descriptionKey: "appeal-validated-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 1,
|
|
||||||
titleKey: "case-in-progress",
|
|
||||||
descriptionKey: "case-in-progress-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040017,
|
|
||||||
titleKey: "questionnaire-lpa-to-notify",
|
|
||||||
descriptionKey: "questionnaire-lpa-to-notify-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040018,
|
|
||||||
titleKey: "representations-period",
|
|
||||||
descriptionKey: "representations-period-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040019,
|
|
||||||
titleKey: "final-comments",
|
|
||||||
descriptionKey: "final-comments-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040020,
|
|
||||||
titleKey: "event",
|
|
||||||
descriptionKey: "event-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040021,
|
|
||||||
titleKey: "site-visit",
|
|
||||||
descriptionKey: "site-visit-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040022,
|
|
||||||
titleKey: "decision-issued",
|
|
||||||
descriptionKey: "decision-issued-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040013,
|
|
||||||
titleKey: "case-closed",
|
|
||||||
descriptionKey: "case-closed-desc"
|
|
||||||
}
|
|
||||||
]),
|
|
||||||
|
|
||||||
CONDITIONS_73_79: "PLANNING_S78",
|
|
||||||
LBCAC: "PLANNING_S78",
|
|
||||||
LDCS: "PLANNING_S78",
|
|
||||||
PLANNING_OBLIGATIONS_S106: "PLANNING_S78",
|
|
||||||
PRIOR_NOTIFICATION: "PLANNING_S78",
|
|
||||||
|
|
||||||
HAS: buildStages([
|
|
||||||
{
|
|
||||||
stageId: 846040014,
|
|
||||||
titleKey: "appeal-submitted",
|
|
||||||
descriptionKey: "appeal-submitted-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040015,
|
|
||||||
titleKey: "appeal-registered",
|
|
||||||
descriptionKey: "appeal-registered-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040016,
|
|
||||||
titleKey: "appeal-validated",
|
|
||||||
descriptionKey: "appeal-validated-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 1,
|
|
||||||
titleKey: "case-in-progress",
|
|
||||||
descriptionKey: "case-in-progress-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040021,
|
|
||||||
titleKey: "site-visit",
|
|
||||||
descriptionKey: "site-visit-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040022,
|
|
||||||
titleKey: "decision-issued",
|
|
||||||
descriptionKey: "decision-issued-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040013,
|
|
||||||
titleKey: "case-closed",
|
|
||||||
descriptionKey: "case-closed-desc"
|
|
||||||
}
|
|
||||||
]),
|
|
||||||
|
|
||||||
CALL_INS: buildStages([
|
|
||||||
{
|
|
||||||
stageId: 846040023,
|
|
||||||
titleKey: "application-called-in",
|
|
||||||
descriptionKey: "application-called-in-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040043,
|
|
||||||
titleKey: "application-registered",
|
|
||||||
descriptionKey: "application-registered-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040024,
|
|
||||||
titleKey: "application-validated",
|
|
||||||
descriptionKey: "application-validated-desc-callin"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 1,
|
|
||||||
titleKey: "case-in-progress",
|
|
||||||
descriptionKey: "case-in-progress-desc-callin"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040025,
|
|
||||||
titleKey: "lpa-to-notify",
|
|
||||||
descriptionKey: "lpa-to-notify-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040018,
|
|
||||||
titleKey: "representations-period",
|
|
||||||
descriptionKey: "representations-period-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040019,
|
|
||||||
titleKey: "final-comments",
|
|
||||||
descriptionKey: "final-comments-desc-callin"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040049,
|
|
||||||
titleKey: "event",
|
|
||||||
descriptionKey: "event-desc-callin"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040021,
|
|
||||||
titleKey: "site-visit",
|
|
||||||
descriptionKey: "site-visit-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040028,
|
|
||||||
titleKey: "report-issued-to-welsh-ministers",
|
|
||||||
descriptionKey: "report-issued-to-welsh-ministers-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040012,
|
|
||||||
titleKey: "minister-s-decision",
|
|
||||||
descriptionKey: "minister-s-decision-desc-callin"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040013,
|
|
||||||
titleKey: "case-closed",
|
|
||||||
descriptionKey: "case-closed-desc-callin"
|
|
||||||
}
|
|
||||||
]),
|
|
||||||
|
|
||||||
ENFORCEMENT: buildStages([
|
|
||||||
{
|
|
||||||
stageId: 846040014,
|
|
||||||
titleKey: "appeal-submitted",
|
|
||||||
descriptionKey: "appeal-submitted-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040015,
|
|
||||||
titleKey: "appeal-registered",
|
|
||||||
descriptionKey: "appeal-registered-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040029,
|
|
||||||
titleKey: "fee-due",
|
|
||||||
descriptionKey: "fee-due-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040030,
|
|
||||||
titleKey: "validated",
|
|
||||||
descriptionKey: "appeal-validated-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 1,
|
|
||||||
titleKey: "case-in-progress",
|
|
||||||
descriptionKey: "case-in-progress-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040017,
|
|
||||||
titleKey: "questionnaire-lpa-to-notify",
|
|
||||||
descriptionKey: "questionnaire-lpa-to-notify-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040018,
|
|
||||||
titleKey: "representations-period",
|
|
||||||
descriptionKey: "representations-period-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040019,
|
|
||||||
titleKey: "final-comments",
|
|
||||||
descriptionKey: "final-comments-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040020,
|
|
||||||
titleKey: "event",
|
|
||||||
descriptionKey: "event-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040021,
|
|
||||||
titleKey: "site-visit",
|
|
||||||
descriptionKey: "site-visit-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040022,
|
|
||||||
titleKey: "decision-issued",
|
|
||||||
descriptionKey: "decision-issued-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040013,
|
|
||||||
titleKey: "case-closed",
|
|
||||||
descriptionKey: "case-closed-desc"
|
|
||||||
}
|
|
||||||
]),
|
|
||||||
|
|
||||||
ENFORCEMENT_LISTED_BUILDING: "ENFORCEMENT",
|
|
||||||
MAINTENANCE_OF_LAND: "ENFORCEMENT",
|
|
||||||
|
|
||||||
RIGHTS_OF_WAY_SCHEDULE_14: buildStages([
|
|
||||||
{
|
|
||||||
stageId: 846040014,
|
|
||||||
titleKey: "appeal-submitted",
|
|
||||||
descriptionKey: "appeal-submitted-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040015,
|
|
||||||
titleKey: "appeal-registered",
|
|
||||||
descriptionKey: "appeal-registered-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040016,
|
|
||||||
titleKey: "appeal-validated",
|
|
||||||
descriptionKey: "appeal-validated-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040031,
|
|
||||||
titleKey: "appeal-start-case-in-progress",
|
|
||||||
descriptionKey: "case-in-progress-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040032,
|
|
||||||
titleKey: "statements-representations-period",
|
|
||||||
descriptionKey: "statements-representations-period-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040019,
|
|
||||||
titleKey: "final-comments",
|
|
||||||
descriptionKey: "final-comments-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040021,
|
|
||||||
titleKey: "site-visit",
|
|
||||||
descriptionKey: "site-visit-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040022,
|
|
||||||
titleKey: "decision-issued",
|
|
||||||
descriptionKey: "decision-issued-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040013,
|
|
||||||
titleKey: "case-closed",
|
|
||||||
descriptionKey: "case-closed-desc"
|
|
||||||
}
|
|
||||||
]),
|
|
||||||
|
|
||||||
RIGHTS_OF_WAY_ORDERS: buildStages([
|
|
||||||
{
|
|
||||||
stageId: 846040033,
|
|
||||||
titleKey: "order-submitted",
|
|
||||||
descriptionKey: "order-submitted-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040034,
|
|
||||||
titleKey: "order-submission-registered",
|
|
||||||
descriptionKey: "order-submission-registered-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040035,
|
|
||||||
titleKey: "order-submission-validated",
|
|
||||||
descriptionKey: "order-submission-validated-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040036,
|
|
||||||
titleKey: "case-started-case-in-progress",
|
|
||||||
descriptionKey: "case-started-case-in-progress-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040062,
|
|
||||||
titleKey: "statements",
|
|
||||||
descriptionKey: "statements-desc-order"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040055,
|
|
||||||
titleKey: "final-comments",
|
|
||||||
descriptionKey: "final-comments-desc-cpo"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040037,
|
|
||||||
titleKey: "event-site-visit",
|
|
||||||
descriptionKey: "event-site-visit-desc-order"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040022,
|
|
||||||
titleKey: "decision-issued",
|
|
||||||
descriptionKey: "decision-issued-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040013,
|
|
||||||
titleKey: "case-closed",
|
|
||||||
descriptionKey: "case-closed-desc-order"
|
|
||||||
}
|
|
||||||
]),
|
|
||||||
|
|
||||||
REQUESTS_FOR_DIRECTION: buildStages([
|
|
||||||
{
|
|
||||||
stageId: 846040042,
|
|
||||||
titleKey: "application-submitted",
|
|
||||||
descriptionKey: "application-submitted-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040043,
|
|
||||||
titleKey: "application-registered",
|
|
||||||
descriptionKey: "application-registered-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040054,
|
|
||||||
titleKey: "application-start-case-in-progress",
|
|
||||||
descriptionKey: "application-start-case-in-progress-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040010,
|
|
||||||
titleKey: "statements",
|
|
||||||
descriptionKey: "statements-desc-application"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040063,
|
|
||||||
titleKey: "final-comments",
|
|
||||||
descriptionKey: "final-comments-desc-application"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040022,
|
|
||||||
titleKey: "decision-issued",
|
|
||||||
descriptionKey: "decision-issued-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040013,
|
|
||||||
titleKey: "case-closed",
|
|
||||||
descriptionKey: "case-closed-desc-application"
|
|
||||||
}
|
|
||||||
]),
|
|
||||||
|
|
||||||
ADVERTS: buildStages([
|
|
||||||
{
|
|
||||||
stageId: 846040014,
|
|
||||||
titleKey: "appeal-submitted",
|
|
||||||
descriptionKey: "appeal-submitted-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040015,
|
|
||||||
titleKey: "appeal-registered",
|
|
||||||
descriptionKey: "appeal-registered-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040016,
|
|
||||||
titleKey: "appeal-validated",
|
|
||||||
descriptionKey: "appeal-validated-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040036,
|
|
||||||
titleKey: "case-started-case-in-progress",
|
|
||||||
descriptionKey: "case-in-progress-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040017,
|
|
||||||
titleKey: "questionnaire-lpa-to-notify",
|
|
||||||
descriptionKey: "questionnaire-lpa-to-notify-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040010,
|
|
||||||
titleKey: "statements",
|
|
||||||
descriptionKey: "statements-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040019,
|
|
||||||
titleKey: "final-comments",
|
|
||||||
descriptionKey: "final-comments-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040021,
|
|
||||||
titleKey: "site-visit",
|
|
||||||
descriptionKey: "site-visit-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040022,
|
|
||||||
titleKey: "decision-issued",
|
|
||||||
descriptionKey: "decision-issued-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040013,
|
|
||||||
titleKey: "case-closed",
|
|
||||||
descriptionKey: "case-closed-desc"
|
|
||||||
}
|
|
||||||
]),
|
|
||||||
|
|
||||||
HEDGEROW_TPO: buildStages([
|
|
||||||
{
|
|
||||||
stageId: 846040014,
|
|
||||||
titleKey: "appeal-submitted",
|
|
||||||
descriptionKey: "appeal-submitted-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040015,
|
|
||||||
titleKey: "appeal-registered",
|
|
||||||
descriptionKey: "appeal-registered-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040016,
|
|
||||||
titleKey: "appeal-validated",
|
|
||||||
descriptionKey: "appeal-validated-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040031,
|
|
||||||
titleKey: "appeal-start-case-in-progress",
|
|
||||||
descriptionKey: "case-in-progress-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040017,
|
|
||||||
titleKey: "questionnaire-lpa-to-notify",
|
|
||||||
descriptionKey: "questionnaire-lpa-to-notify-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040032,
|
|
||||||
titleKey: "statements-representations-period",
|
|
||||||
descriptionKey: "statements-representations-period-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040019,
|
|
||||||
titleKey: "final-comments",
|
|
||||||
descriptionKey: "final-comments-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040021,
|
|
||||||
titleKey: "site-visit",
|
|
||||||
descriptionKey: "site-visit-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040022,
|
|
||||||
titleKey: "decision-issued",
|
|
||||||
descriptionKey: "decision-issued-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040013,
|
|
||||||
titleKey: "case-closed",
|
|
||||||
descriptionKey: "case-closed-desc"
|
|
||||||
}
|
|
||||||
]),
|
|
||||||
|
|
||||||
COMMON_LAND: buildStages([
|
|
||||||
{
|
|
||||||
stageId: 846040042,
|
|
||||||
titleKey: "application-submitted",
|
|
||||||
descriptionKey: "application-submitted-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040043,
|
|
||||||
titleKey: "application-registered",
|
|
||||||
descriptionKey: "application-registered-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040024,
|
|
||||||
titleKey: "application-validated",
|
|
||||||
descriptionKey: "application-validated-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040054,
|
|
||||||
titleKey: "application-start-case-in-progress",
|
|
||||||
descriptionKey: "application-start-case-in-progress-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040038,
|
|
||||||
titleKey: "applicant-statement-on-representations",
|
|
||||||
descriptionKey: "applicant-statement-on-representations-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040039,
|
|
||||||
titleKey: "representatives-comment",
|
|
||||||
descriptionKey: "representatives-comment-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040027,
|
|
||||||
titleKey: "applicants-final-comment",
|
|
||||||
descriptionKey: "applicants-final-comment-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040037,
|
|
||||||
titleKey: "event-site-visit",
|
|
||||||
descriptionKey: "event-site-visit-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040022,
|
|
||||||
titleKey: "decision-issued",
|
|
||||||
descriptionKey: "decision-issued-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040013,
|
|
||||||
titleKey: "case-closed",
|
|
||||||
descriptionKey: "case-closed-desc-application"
|
|
||||||
}
|
|
||||||
]),
|
|
||||||
|
|
||||||
COMPULSORY_PURCHASE_ORDERS: buildStages([
|
|
||||||
{
|
|
||||||
stageId: 846040033,
|
|
||||||
titleKey: "order-submitted",
|
|
||||||
descriptionKey: "order-submitted-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040040,
|
|
||||||
titleKey: "order-registered",
|
|
||||||
descriptionKey: "order-submission-registered-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040041,
|
|
||||||
titleKey: "order-validated",
|
|
||||||
descriptionKey: "order-submission-validated-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 1,
|
|
||||||
titleKey: "case-in-progress",
|
|
||||||
descriptionKey: "case-started-case-in-progress-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040010,
|
|
||||||
titleKey: "statements",
|
|
||||||
descriptionKey: "statements-desc-order"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040019,
|
|
||||||
titleKey: "final-comments",
|
|
||||||
descriptionKey: "final-comments-desc-cpo"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040037,
|
|
||||||
titleKey: "event-site-visit",
|
|
||||||
descriptionKey: "event-site-visit-desc-order"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040011,
|
|
||||||
titleKey: "report-to-ministers",
|
|
||||||
descriptionKey: "report-to-ministers-desc-cpo"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040013,
|
|
||||||
titleKey: "case-closed",
|
|
||||||
descriptionKey: "case-closed-desc-order"
|
|
||||||
}
|
|
||||||
]),
|
|
||||||
|
|
||||||
ELECTRICITY_ACT: "PLANNING_S78",
|
|
||||||
HARBOUR_REVISION_ORDER: buildStages([
|
|
||||||
{
|
|
||||||
stageId: 846040033,
|
|
||||||
titleKey: "order-submitted",
|
|
||||||
descriptionKey: "order-submitted-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040040,
|
|
||||||
titleKey: "order-registered",
|
|
||||||
descriptionKey: "order-submission-registered-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040041,
|
|
||||||
titleKey: "order-validated",
|
|
||||||
descriptionKey: "order-submission-validated-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 1,
|
|
||||||
titleKey: "case-in-progress",
|
|
||||||
descriptionKey: "case-started-case-in-progress-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040010,
|
|
||||||
titleKey: "statements",
|
|
||||||
descriptionKey: "statements-desc-order"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040055,
|
|
||||||
titleKey: "final-comments",
|
|
||||||
descriptionKey: "final-comments-desc-cpo"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040037,
|
|
||||||
titleKey: "event-site-visit",
|
|
||||||
descriptionKey: "event-site-visit-desc-order"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040056,
|
|
||||||
titleKey: "report-to-ministers",
|
|
||||||
descriptionKey: "report-to-ministers-desc-cpo"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040060,
|
|
||||||
titleKey: "case-closed",
|
|
||||||
descriptionKey: "case-closed-desc-order"
|
|
||||||
}
|
|
||||||
]),
|
|
||||||
TRANSPORT_WORKS: "PLANNING_S78",
|
|
||||||
|
|
||||||
WAYLEAVE: buildStages([
|
|
||||||
{
|
|
||||||
stageId: 846040042,
|
|
||||||
titleKey: "application-submitted",
|
|
||||||
descriptionKey: "application-submitted-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040043,
|
|
||||||
titleKey: "application-registered",
|
|
||||||
descriptionKey: "application-registered-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040024,
|
|
||||||
titleKey: "application-validated",
|
|
||||||
descriptionKey: "application-validated-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 1,
|
|
||||||
titleKey: "case-in-progress",
|
|
||||||
descriptionKey: "application-start-case-in-progress-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040021,
|
|
||||||
titleKey: "site-visit",
|
|
||||||
descriptionKey: "site-visit-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040044,
|
|
||||||
titleKey: "report-to-desnz",
|
|
||||||
descriptionKey: "report-to-desnz-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040013,
|
|
||||||
titleKey: "case-closed",
|
|
||||||
descriptionKey: "case-closed-desc-application"
|
|
||||||
}
|
|
||||||
]),
|
|
||||||
|
|
||||||
NON_VALIDATION: buildStages([
|
|
||||||
{
|
|
||||||
stageId: 846040014,
|
|
||||||
titleKey: "appeal-submitted",
|
|
||||||
descriptionKey: "appeal-submitted-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040015,
|
|
||||||
titleKey: "appeal-registered",
|
|
||||||
descriptionKey: "appeal-registered-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040016,
|
|
||||||
titleKey: "appeal-validated",
|
|
||||||
descriptionKey: "appeal-validated-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040045,
|
|
||||||
titleKey: "case-in-progress-assessment",
|
|
||||||
descriptionKey: "case-in-progress-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040046,
|
|
||||||
titleKey: "decision-outcome",
|
|
||||||
descriptionKey: "decision-outcome-desc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
stageId: 846040060,
|
|
||||||
titleKey: "case-closed-nonval",
|
|
||||||
descriptionKey: "case-closed-desc"
|
|
||||||
}
|
|
||||||
])
|
|
||||||
};
|
|
||||||
|
|
||||||
const resolveStages = (caseTypeOrAppealTypeId, specialistProcess) => {
|
|
||||||
const key = getStageCaseTypeKey(caseTypeOrAppealTypeId, specialistProcess);
|
|
||||||
|
|
||||||
return getStagesForCaseTypeKey(key);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const getStagesForAppealType = (
|
|
||||||
caseType,
|
|
||||||
currentStageId,
|
|
||||||
specialistProcess
|
|
||||||
) => {
|
|
||||||
const stages = resolveStages(caseType, specialistProcess);
|
|
||||||
const currentIndex = getLifecycleStageIndex(stages, currentStageId);
|
|
||||||
|
|
||||||
return stages.map((stage, index) => ({
|
|
||||||
...stage,
|
|
||||||
status: getLifecycleStageStatus(index, currentIndex)
|
|
||||||
}));
|
|
||||||
};
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
export function isEventLiveNow(item) {
|
|
||||||
if (!item?.pinswg_dateeventrequested) return false;
|
|
||||||
|
|
||||||
const now = new Date();
|
|
||||||
const start = new Date(item.pinswg_dateeventrequested);
|
|
||||||
|
|
||||||
if (isNaN(start.getTime())) return false;
|
|
||||||
|
|
||||||
const endDateValue =
|
|
||||||
item.pinswg_enddateofevent || item.pinswg_enddateoftheevent;
|
|
||||||
|
|
||||||
if (endDateValue) {
|
|
||||||
const end = new Date(endDateValue);
|
|
||||||
if (isNaN(end.getTime())) return false;
|
|
||||||
|
|
||||||
end.setHours(23, 59, 59, 999);
|
|
||||||
|
|
||||||
return now >= start && now <= end;
|
|
||||||
}
|
|
||||||
|
|
||||||
const endOfStartDay = new Date(start);
|
|
||||||
endOfStartDay.setHours(23, 59, 59, 999);
|
|
||||||
|
|
||||||
return now >= start && now <= endOfStartDay;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getLivePublishedEvent(eventsObj) {
|
|
||||||
const eventsArr = eventsObj?.value || [];
|
|
||||||
|
|
||||||
return eventsArr.find(
|
|
||||||
(item) =>
|
|
||||||
item.pinswg_eventpublishflag &&
|
|
||||||
item.pinswg_linktotheevent &&
|
|
||||||
isEventLiveNow(item)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@@ -1,20 +1,18 @@
|
|||||||
import {
|
|
||||||
resolveRepresentationWindow,
|
|
||||||
isRepresentationWindowOpen,
|
|
||||||
isRepresentationWindowClosed,
|
|
||||||
canShowRepresentationButtonForAppealType,
|
|
||||||
canStartHouseholderRepresentation,
|
|
||||||
canStartCpoRepresentation,
|
|
||||||
canStartRowRepresentation,
|
|
||||||
canStartAdvertRepresentation
|
|
||||||
} from "../../../../lib/domain/representation-policy";
|
|
||||||
|
|
||||||
export function showRepsLocal(startDate, endDate) {
|
export function showRepsLocal(startDate, endDate) {
|
||||||
return isRepresentationWindowOpen(startDate, endDate);
|
let date = new Date();
|
||||||
|
date = new Date(date.toDateString());
|
||||||
|
const start = new Date(startDate);
|
||||||
|
const end = new Date(endDate);
|
||||||
|
|
||||||
|
return date >= start && date <= end ? true : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function showRepsEndedLocal(startDate, endDate) {
|
export function showRepsEndedLocal(startDate, endDate) {
|
||||||
return isRepresentationWindowClosed(startDate, endDate);
|
let date = new Date();
|
||||||
|
date = new Date(date.toDateString());
|
||||||
|
const start = new Date(startDate);
|
||||||
|
const end = new Date(endDate);
|
||||||
|
return date > start && date > end ? true : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function isConsultationWindowOpen(detailsObj) {
|
export function isConsultationWindowOpen(detailsObj) {
|
||||||
@@ -25,7 +23,24 @@ export function isConsultationWindowOpen(detailsObj) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function isGeneralRepresentationWindowOpen(detailsObj) {
|
export function isGeneralRepresentationWindowOpen(detailsObj) {
|
||||||
return resolveRepresentationWindow(detailsObj).isOpen;
|
return (
|
||||||
|
(Object.prototype.hasOwnProperty.call(detailsObj, "pinswg_startdate") ||
|
||||||
|
Object.prototype.hasOwnProperty.call(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_applicationacceptedasvalid"
|
||||||
|
) ||
|
||||||
|
Object.prototype.hasOwnProperty.call(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_startdates"
|
||||||
|
)) &&
|
||||||
|
showRepsLocal(
|
||||||
|
detailsObj.pinswg_startdate ||
|
||||||
|
detailsObj.pinswg_startdates ||
|
||||||
|
detailsObj.pinswg_applicationacceptedasvalid,
|
||||||
|
detailsObj.pinswg_finalcommentsduedate ||
|
||||||
|
detailsObj.pinswg_endofrepresentationperiod
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function canShowRepButtonForAppealType({
|
export function canShowRepButtonForAppealType({
|
||||||
@@ -33,31 +48,44 @@ export function canShowRepButtonForAppealType({
|
|||||||
isLPA,
|
isLPA,
|
||||||
searchDetailsObj
|
searchDetailsObj
|
||||||
}) {
|
}) {
|
||||||
if (!canShowRepresentationButtonForAppealType(appealType)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (appealType) {
|
switch (appealType) {
|
||||||
|
case 846040012:
|
||||||
|
case 846040013:
|
||||||
|
case 846040014:
|
||||||
|
//for ROW case 846040015:
|
||||||
|
case 846040020:
|
||||||
|
case 846040021:
|
||||||
|
case 846040023:
|
||||||
|
case 846040024:
|
||||||
|
return false;
|
||||||
case 846040004:
|
case 846040004:
|
||||||
return canStartHouseholderRepresentation(appealType, isLPA);
|
return isLPA ? true : false;
|
||||||
|
|
||||||
case 846040015:
|
case 846040015:
|
||||||
return canStartRowRepresentation(
|
return searchDetailsObj[0].value[0].pinswg_specialistcaseprocess ==
|
||||||
appealType,
|
846040001
|
||||||
searchDetailsObj[0].value[0]
|
? showRepsLocal(
|
||||||
);
|
searchDetailsObj[0].value[0].pinswg_startdate,
|
||||||
|
searchDetailsObj[0].value[0].pinswg_finalcommentsduedate
|
||||||
|
)
|
||||||
|
: true;
|
||||||
|
|
||||||
case 846040018:
|
case 846040018:
|
||||||
return canStartAdvertRepresentation(
|
let shouldShow =
|
||||||
appealType,
|
searchDetailsObj[0].value[0].pinswg_speacialistcaseprocess ==
|
||||||
searchDetailsObj[0].value[0],
|
846040000 && isLPA
|
||||||
isLPA
|
? true
|
||||||
);
|
: searchDetailsObj[0].value[0]
|
||||||
|
.pinswg_speacialistcaseprocess == 846040001
|
||||||
|
? true
|
||||||
|
: false;
|
||||||
|
|
||||||
|
return shouldShow;
|
||||||
|
|
||||||
case 846040019:
|
case 846040019:
|
||||||
return canStartCpoRepresentation(
|
return showRepsLocal(
|
||||||
appealType,
|
searchDetailsObj[0].value[0].pinswg_startdate,
|
||||||
searchDetailsObj[0].value[0]
|
searchDetailsObj[0].value[0].pinswg_statementduedate
|
||||||
);
|
);
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -72,9 +100,6 @@ export function getEntryCtaLabelKey(appealType) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function shouldSuppressBlockedMessage({ appealType, isLPA }) {
|
export function shouldSuppressBlockedMessage({ appealType, isLPA }) {
|
||||||
if (!canShowRepresentationButtonForAppealType(appealType)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return !isLPA && appealType == 846040004;
|
return !isLPA && appealType == 846040004;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const Pinswg_advertsid = (props) => {
|
const Pinswg_advertsid = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -24,94 +22,139 @@ const Pinswg_advertsid = (props) => {
|
|||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-case-type-label")}
|
label={t("case:summary-case-type-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: casesObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
"case:summary-no-date-entered-label"
|
})
|
||||||
)
|
: casesObj[
|
||||||
})}
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-no-date-entered-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t(
|
label={"Specialist Case Process"}
|
||||||
"case:summary-specialist-case-process-label"
|
value={
|
||||||
)}
|
router.locale == "cy"
|
||||||
value={resolveCrmDisplayValue({
|
? jsonpath({
|
||||||
value: detailsObj[
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_speacialistcaseprocess@OData.Community.Display.V1.FormattedValue"
|
"pinswg_speacialistcaseprocess@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_speacialistcaseprocess@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-lpa-label")}
|
label={t("case:summary-lpa-label")}
|
||||||
value={
|
value={
|
||||||
<>
|
router.locale == "cy"
|
||||||
{getCaseLpaDisplayLines({
|
? jsonpath({
|
||||||
casesObj,
|
path:
|
||||||
detailsObj,
|
'$..[?(@ && @.value=="' +
|
||||||
locale: router.locale,
|
casesObj[
|
||||||
transLookup
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
}).map((name) => (
|
] +
|
||||||
<div key={name}>{name}</div>
|
'")].value_cy',
|
||||||
))}
|
json: transLookup,
|
||||||
</>
|
eval: true
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-eia-required-label")}
|
label={t("case:summary-eia-required-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
|
||||||
"case:summary-to-be-confirmed-label"
|
|
||||||
)
|
)
|
||||||
})}
|
: detailsObj[
|
||||||
|
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-to-be-confirmed-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-procedure-label")}
|
label={t("case:summary-procedure-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-type-of-event-label")}
|
label={t("case:summary-type-of-event-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: casesObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
"case:summary-no-date-entered-label"
|
})
|
||||||
)
|
: casesObj[
|
||||||
})}
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-no-date-entered-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
@@ -119,16 +162,23 @@ const Pinswg_advertsid = (props) => {
|
|||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
{/* <Link href="/">
|
{/* <Link href="/">
|
||||||
@@ -145,9 +195,7 @@ const Pinswg_advertsid = (props) => {
|
|||||||
{t("case:summary-case-link-status-label")}
|
{t("case:summary-case-link-status-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, ["numberofchildincidents"])
|
||||||
"numberofchildincidents"
|
|
||||||
])
|
|
||||||
? casesObj.numberofchildincidents > 0
|
? casesObj.numberofchildincidents > 0
|
||||||
? t(
|
? t(
|
||||||
"case:summary-case-link-status-linked"
|
"case:summary-case-link-status-linked"
|
||||||
@@ -186,7 +234,7 @@ const Pinswg_advertsid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-date-label")}
|
label={t("case:summary-start-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_startdate")
|
_.has(detailsObj, "pinswg_startdate")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdate
|
detailsObj.pinswg_startdate
|
||||||
@@ -194,7 +242,7 @@ const Pinswg_advertsid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(detailsObj, "pinswg_startdates")
|
: _.has(detailsObj, "pinswg_startdates")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdates
|
detailsObj.pinswg_startdates
|
||||||
@@ -211,10 +259,7 @@ const Pinswg_advertsid = (props) => {
|
|||||||
"case:summary-questionnaire-due-date-label"
|
"case:summary-questionnaire-due-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
_.has(detailsObj, "pinswg_questionnaireduedate")
|
||||||
detailsObj,
|
|
||||||
"pinswg_questionnaireduedate"
|
|
||||||
)
|
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_questionnaireduedate
|
detailsObj.pinswg_questionnaireduedate
|
||||||
)
|
)
|
||||||
@@ -233,7 +278,7 @@ const Pinswg_advertsid = (props) => {
|
|||||||
"case:summary-interested-party-date-label"
|
"case:summary-interested-party-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatement"
|
"pinswg_otherpartiesstatement"
|
||||||
)
|
)
|
||||||
@@ -246,7 +291,7 @@ const Pinswg_advertsid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(
|
: _.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatements"
|
"pinswg_otherpartiesstatements"
|
||||||
)
|
)
|
||||||
@@ -266,7 +311,7 @@ const Pinswg_advertsid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-event-date-label")}
|
label={t("case:summary-event-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
_.has(detailsObj, "pinswg_dateeventrequested")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_dateeventrequested
|
detailsObj.pinswg_dateeventrequested
|
||||||
)
|
)
|
||||||
@@ -283,7 +328,7 @@ const Pinswg_advertsid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-event-date-label")}
|
label={t("case:summary-start-event-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_startdateoftheevent")
|
_.has(detailsObj, "pinswg_startdateoftheevent")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_startdateoftheevent
|
detailsObj.pinswg_startdateoftheevent
|
||||||
)
|
)
|
||||||
@@ -299,7 +344,7 @@ const Pinswg_advertsid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-decision-date-label")}
|
label={t("case:summary-decision-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
_.has(detailsObj, "pinswg_casedecisiondate")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_casedecisiondate
|
detailsObj.pinswg_casedecisiondate
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const Pinswg_callinss77id = (props) => {
|
const Pinswg_callinss77id = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -24,97 +22,149 @@ const Pinswg_callinss77id = (props) => {
|
|||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-case-type-label")}
|
label={t("case:summary-case-type-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: casesObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
"case:summary-no-date-entered-label"
|
})
|
||||||
)
|
: casesObj[
|
||||||
})}
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-no-date-entered-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-lpa-label")}
|
label={t("case:summary-lpa-label")}
|
||||||
value={
|
value={
|
||||||
<>
|
router.locale == "cy"
|
||||||
{getCaseLpaDisplayLines({
|
? jsonpath({
|
||||||
casesObj,
|
path:
|
||||||
detailsObj,
|
'$..[?(@ && @.value=="' +
|
||||||
locale: router.locale,
|
casesObj[
|
||||||
transLookup
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
}).map((name) => (
|
] +
|
||||||
<div key={name}>{name}</div>
|
'")].value_cy',
|
||||||
))}
|
json: transLookup,
|
||||||
</>
|
eval: true
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-eia-required-label")}
|
label={t("case:summary-eia-required-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
|
||||||
"case:summary-to-be-confirmed-label"
|
|
||||||
)
|
)
|
||||||
})}
|
: detailsObj[
|
||||||
|
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-to-be-confirmed-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-procedure-label")}
|
label={t("case:summary-procedure-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-type-of-event-label")}
|
label={t("case:summary-type-of-event-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: casesObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
"case:summary-no-date-entered-label"
|
})
|
||||||
)
|
: casesObj[
|
||||||
})}
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-no-date-entered-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{casesObj.numberofchildincidents > 0 && (
|
{casesObj.numberofchildincidents > 0 && (
|
||||||
@@ -123,9 +173,7 @@ const Pinswg_callinss77id = (props) => {
|
|||||||
{t("case:summary-case-link-status-label")}
|
{t("case:summary-case-link-status-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, ["numberofchildincidents"])
|
||||||
"numberofchildincidents"
|
|
||||||
])
|
|
||||||
? casesObj.numberofchildincidents > 0
|
? casesObj.numberofchildincidents > 0
|
||||||
? t(
|
? t(
|
||||||
"case:summary-case-link-status-linked"
|
"case:summary-case-link-status-linked"
|
||||||
@@ -164,7 +212,7 @@ const Pinswg_callinss77id = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-date-label")}
|
label={t("case:summary-start-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_startdate")
|
_.has(detailsObj, "pinswg_startdate")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdate
|
detailsObj.pinswg_startdate
|
||||||
@@ -172,7 +220,7 @@ const Pinswg_callinss77id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(detailsObj, "pinswg_startdates")
|
: _.has(detailsObj, "pinswg_startdates")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdates
|
detailsObj.pinswg_startdates
|
||||||
@@ -188,10 +236,7 @@ const Pinswg_callinss77id = (props) => {
|
|||||||
"case:summary-questionnaire-due-date-label"
|
"case:summary-questionnaire-due-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
_.has(detailsObj, "pinswg_questionnaireduedate")
|
||||||
detailsObj,
|
|
||||||
"pinswg_questionnaireduedate"
|
|
||||||
)
|
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_questionnaireduedate
|
detailsObj.pinswg_questionnaireduedate
|
||||||
)
|
)
|
||||||
@@ -204,11 +249,36 @@ const Pinswg_callinss77id = (props) => {
|
|||||||
: t("case:summary-no-date-entered-label")
|
: t("case:summary-no-date-entered-label")
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
{/* <div className="govuk-summary-list__row">
|
||||||
|
<dt className="govuk-summary-list__key">
|
||||||
|
{t(
|
||||||
|
"case:summary-date-exported-to-iss-label"
|
||||||
|
)}
|
||||||
|
</dt>
|
||||||
|
<dd className="govuk-summary-list__value">
|
||||||
|
{_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_dateexportedtoiss"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_dateexportedtoiss
|
||||||
|
)
|
||||||
|
? formatDates(
|
||||||
|
detailsObj.pinswg_dateexportedtoiss
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
</dd>
|
||||||
|
</div> */}
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-statement-due-date-label")}
|
label={t("case:summary-statement-due-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_statementsduedate")
|
_.has(detailsObj, "pinswg_statementsduedate")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_statementsduedate
|
detailsObj.pinswg_statementsduedate
|
||||||
)
|
)
|
||||||
@@ -226,7 +296,7 @@ const Pinswg_callinss77id = (props) => {
|
|||||||
"case:summary-interested-party-date-label"
|
"case:summary-interested-party-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatement"
|
"pinswg_otherpartiesstatement"
|
||||||
)
|
)
|
||||||
@@ -239,7 +309,7 @@ const Pinswg_callinss77id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(
|
: _.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatements"
|
"pinswg_otherpartiesstatements"
|
||||||
)
|
)
|
||||||
@@ -260,10 +330,7 @@ const Pinswg_callinss77id = (props) => {
|
|||||||
"case:summary-applicant-final-comments-date-label"
|
"case:summary-applicant-final-comments-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
_.has(detailsObj, "pinswg_finalcommentsduedate")
|
||||||
detailsObj,
|
|
||||||
"pinswg_finalcommentsduedate"
|
|
||||||
)
|
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_finalcommentsduedate
|
detailsObj.pinswg_finalcommentsduedate
|
||||||
)
|
)
|
||||||
@@ -276,11 +343,35 @@ const Pinswg_callinss77id = (props) => {
|
|||||||
: t("case:summary-no-date-entered-label")
|
: t("case:summary-no-date-entered-label")
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
{/* <div className="govuk-summary-list__row">
|
||||||
|
<dt className="govuk-summary-list__key">
|
||||||
|
{t(
|
||||||
|
"case:summary-inquiry-evidence-date-label"
|
||||||
|
)}
|
||||||
|
</dt>
|
||||||
|
<dd className="govuk-summary-list__value">
|
||||||
|
{_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
? formatDates(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
</dd>
|
||||||
|
</div> */}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-event-date-label")}
|
label={t("case:summary-event-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
_.has(detailsObj, "pinswg_dateeventrequested")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_dateeventrequested
|
detailsObj.pinswg_dateeventrequested
|
||||||
)
|
)
|
||||||
@@ -296,7 +387,7 @@ const Pinswg_callinss77id = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-event-date-label")}
|
label={t("case:summary-start-event-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_startdateofevent")
|
_.has(detailsObj, "pinswg_startdateofevent")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_startdateofevent
|
detailsObj.pinswg_startdateofevent
|
||||||
)
|
)
|
||||||
@@ -312,7 +403,7 @@ const Pinswg_callinss77id = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-decision-date-label")}
|
label={t("case:summary-decision-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
_.has(detailsObj, "pinswg_casedecisiondate")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_casedecisiondate
|
detailsObj.pinswg_casedecisiondate
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const Pinswg_commonlandid = (props) => {
|
const Pinswg_commonlandid = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -24,97 +22,149 @@ const Pinswg_commonlandid = (props) => {
|
|||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-case-type-label")}
|
label={t("case:summary-case-type-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: casesObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
"case:summary-no-date-entered-label"
|
})
|
||||||
)
|
: casesObj[
|
||||||
})}
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-no-date-entered-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-lpa-label")}
|
label={t("case:summary-lpa-label")}
|
||||||
value={
|
value={
|
||||||
<>
|
router.locale == "cy"
|
||||||
{getCaseLpaDisplayLines({
|
? jsonpath({
|
||||||
casesObj,
|
path:
|
||||||
detailsObj,
|
'$..[?(@ && @.value=="' +
|
||||||
locale: router.locale,
|
casesObj[
|
||||||
transLookup
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
}).map((name) => (
|
] +
|
||||||
<div key={name}>{name}</div>
|
'")].value_cy',
|
||||||
))}
|
json: transLookup,
|
||||||
</>
|
eval: true
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-eia-required-label")}
|
label={t("case:summary-eia-required-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
|
||||||
"case:summary-to-be-confirmed-label"
|
|
||||||
)
|
)
|
||||||
})}
|
: detailsObj[
|
||||||
|
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-to-be-confirmed-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-procedure-label")}
|
label={t("case:summary-procedure-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-type-of-event-label")}
|
label={t("case:summary-type-of-event-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: casesObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
"case:summary-no-date-entered-label"
|
})
|
||||||
)
|
: casesObj[
|
||||||
})}
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-no-date-entered-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{casesObj.numberofchildincidents > 0 && (
|
{casesObj.numberofchildincidents > 0 && (
|
||||||
@@ -123,9 +173,7 @@ const Pinswg_commonlandid = (props) => {
|
|||||||
{t("case:summary-case-link-status-label")}
|
{t("case:summary-case-link-status-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, ["numberofchildincidents"])
|
||||||
"numberofchildincidents"
|
|
||||||
])
|
|
||||||
? casesObj.numberofchildincidents > 0
|
? casesObj.numberofchildincidents > 0
|
||||||
? t(
|
? t(
|
||||||
"case:summary-case-link-status-linked"
|
"case:summary-case-link-status-linked"
|
||||||
@@ -157,14 +205,26 @@ const Pinswg_commonlandid = (props) => {
|
|||||||
label={t(
|
label={t(
|
||||||
"case:summary-case-relevant-authoritylabel"
|
"case:summary-case-relevant-authoritylabel"
|
||||||
)}
|
)}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
router.locale == "cy"
|
||||||
"pinswg_relevantauthorityname"
|
? jsonpath({
|
||||||
],
|
path:
|
||||||
locale,
|
'$..[?(@ && @.pinswg_lpa=="' +
|
||||||
translations: transLookup,
|
detailsObj.pinswg_relevantauthorityname +
|
||||||
fallbackValue: ""
|
'")].value_cy',
|
||||||
})}
|
json: transLookup,
|
||||||
|
eval: true
|
||||||
|
})
|
||||||
|
: jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.pinswg_lpa=="' +
|
||||||
|
detailsObj.pinswg_relevantauthorityname +
|
||||||
|
'")].value',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true
|
||||||
|
}) ||
|
||||||
|
t("case:summary-no-date-entered-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</SummaryCard>
|
</SummaryCard>
|
||||||
@@ -177,7 +237,7 @@ const Pinswg_commonlandid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-date-label")}
|
label={t("case:summary-start-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_startdate")
|
_.has(detailsObj, "pinswg_startdate")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdate
|
detailsObj.pinswg_startdate
|
||||||
@@ -185,7 +245,7 @@ const Pinswg_commonlandid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(detailsObj, "pinswg_startdates")
|
: _.has(detailsObj, "pinswg_startdates")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdates
|
detailsObj.pinswg_startdates
|
||||||
@@ -202,10 +262,7 @@ const Pinswg_commonlandid = (props) => {
|
|||||||
"case:summary-questionnaire-due-date-label"
|
"case:summary-questionnaire-due-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
_.has(detailsObj, "pinswg_questionnaireduedate")
|
||||||
detailsObj,
|
|
||||||
"pinswg_questionnaireduedate"
|
|
||||||
)
|
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_questionnaireduedate
|
detailsObj.pinswg_questionnaireduedate
|
||||||
)
|
)
|
||||||
@@ -222,7 +279,7 @@ const Pinswg_commonlandid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-statement-due-date-label")}
|
label={t("case:summary-statement-due-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_statementsduedate")
|
_.has(detailsObj, "pinswg_statementsduedate")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_statementsduedate
|
detailsObj.pinswg_statementsduedate
|
||||||
)
|
)
|
||||||
@@ -241,7 +298,7 @@ const Pinswg_commonlandid = (props) => {
|
|||||||
"case:summary-interested-party-date-label"
|
"case:summary-interested-party-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatement"
|
"pinswg_otherpartiesstatement"
|
||||||
)
|
)
|
||||||
@@ -254,7 +311,7 @@ const Pinswg_commonlandid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(
|
: _.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatements"
|
"pinswg_otherpartiesstatements"
|
||||||
)
|
)
|
||||||
@@ -276,10 +333,7 @@ const Pinswg_commonlandid = (props) => {
|
|||||||
"case:summary-applicant-final-comments-date-label"
|
"case:summary-applicant-final-comments-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
_.has(detailsObj, "pinswg_finalcommentsduedate")
|
||||||
detailsObj,
|
|
||||||
"pinswg_finalcommentsduedate"
|
|
||||||
)
|
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_finalcommentsduedate
|
detailsObj.pinswg_finalcommentsduedate
|
||||||
)
|
)
|
||||||
@@ -292,11 +346,35 @@ const Pinswg_commonlandid = (props) => {
|
|||||||
: t("case:summary-no-date-entered-label")
|
: t("case:summary-no-date-entered-label")
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
{/* <div className="govuk-summary-list__row">
|
||||||
|
<dt className="govuk-summary-list__key">
|
||||||
|
{t(
|
||||||
|
"case:summary-inquiry-evidence-date-label"
|
||||||
|
)}
|
||||||
|
</dt>
|
||||||
|
<dd className="govuk-summary-list__value">
|
||||||
|
{_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
? formatDates(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
</dd>
|
||||||
|
</div> */}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-event-date-label")}
|
label={t("case:summary-event-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
_.has(detailsObj, "pinswg_dateeventrequested")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_dateeventrequested
|
detailsObj.pinswg_dateeventrequested
|
||||||
)
|
)
|
||||||
@@ -313,7 +391,7 @@ const Pinswg_commonlandid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-event-date-label")}
|
label={t("case:summary-start-event-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_starttimeoftheevent")
|
_.has(detailsObj, "pinswg_starttimeoftheevent")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_starttimeoftheevent
|
detailsObj.pinswg_starttimeoftheevent
|
||||||
)
|
)
|
||||||
@@ -329,7 +407,7 @@ const Pinswg_commonlandid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-decision-date-label")}
|
label={t("case:summary-decision-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
_.has(detailsObj, "pinswg_casedecisiondate")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_casedecisiondate
|
detailsObj.pinswg_casedecisiondate
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const Pinswg_communityinfrastructurelevyid = (props) => {
|
const Pinswg_communityinfrastructurelevyid = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -24,97 +22,149 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
|
|||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-case-type-label")}
|
label={t("case:summary-case-type-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: casesObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
"case:summary-no-date-entered-label"
|
})
|
||||||
)
|
: casesObj[
|
||||||
})}
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-no-date-entered-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-lpa-label")}
|
label={t("case:summary-lpa-label")}
|
||||||
value={
|
value={
|
||||||
<>
|
router.locale == "cy"
|
||||||
{getCaseLpaDisplayLines({
|
? jsonpath({
|
||||||
casesObj,
|
path:
|
||||||
detailsObj,
|
'$..[?(@ && @.value=="' +
|
||||||
locale: router.locale,
|
casesObj[
|
||||||
transLookup
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
}).map((name) => (
|
] +
|
||||||
<div key={name}>{name}</div>
|
'")].value_cy',
|
||||||
))}
|
json: transLookup,
|
||||||
</>
|
eval: true
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-eia-required-label")}
|
label={t("case:summary-eia-required-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
|
||||||
"case:summary-to-be-confirmed-label"
|
|
||||||
)
|
)
|
||||||
})}
|
: detailsObj[
|
||||||
|
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-to-be-confirmed-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-procedure-label")}
|
label={t("case:summary-procedure-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-type-of-event-label")}
|
label={t("case:summary-type-of-event-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: casesObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
"case:summary-no-date-entered-label"
|
})
|
||||||
)
|
: casesObj[
|
||||||
})}
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-no-date-entered-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{casesObj.numberofchildincidents > 0 && (
|
{casesObj.numberofchildincidents > 0 && (
|
||||||
@@ -123,9 +173,7 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
|
|||||||
{t("case:summary-case-link-status-label")}
|
{t("case:summary-case-link-status-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, ["numberofchildincidents"])
|
||||||
"numberofchildincidents"
|
|
||||||
])
|
|
||||||
? casesObj.numberofchildincidents > 0
|
? casesObj.numberofchildincidents > 0
|
||||||
? t(
|
? t(
|
||||||
"case:summary-case-link-status-linked"
|
"case:summary-case-link-status-linked"
|
||||||
@@ -164,7 +212,7 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-date-label")}
|
label={t("case:summary-start-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_startdate")
|
_.has(detailsObj, "pinswg_startdate")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdate
|
detailsObj.pinswg_startdate
|
||||||
@@ -172,7 +220,7 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(detailsObj, "pinswg_startdates")
|
: _.has(detailsObj, "pinswg_startdates")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdates
|
detailsObj.pinswg_startdates
|
||||||
@@ -188,7 +236,7 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
|
|||||||
"case:summary-interested-party-date-label"
|
"case:summary-interested-party-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatement"
|
"pinswg_otherpartiesstatement"
|
||||||
)
|
)
|
||||||
@@ -201,7 +249,7 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(
|
: _.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatements"
|
"pinswg_otherpartiesstatements"
|
||||||
)
|
)
|
||||||
@@ -223,10 +271,7 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
|
|||||||
"case:summary-applicant-final-comments-date-label"
|
"case:summary-applicant-final-comments-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
_.has(detailsObj, "pinswg_finalcommentsduedate")
|
||||||
detailsObj,
|
|
||||||
"pinswg_finalcommentsduedate"
|
|
||||||
)
|
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_finalcommentsduedate
|
detailsObj.pinswg_finalcommentsduedate
|
||||||
)
|
)
|
||||||
@@ -243,7 +288,7 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-event-date-label")}
|
label={t("case:summary-event-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
_.has(detailsObj, "pinswg_dateeventrequested")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_dateeventrequested
|
detailsObj.pinswg_dateeventrequested
|
||||||
)
|
)
|
||||||
@@ -260,7 +305,7 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-event-date-label")}
|
label={t("case:summary-start-event-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_startdateoftheevent")
|
_.has(detailsObj, "pinswg_startdateoftheevent")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_startdateoftheevent
|
detailsObj.pinswg_startdateoftheevent
|
||||||
)
|
)
|
||||||
@@ -276,7 +321,7 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-decision-date-label")}
|
label={t("case:summary-decision-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
_.has(detailsObj, "pinswg_casedecisiondate")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_casedecisiondate
|
detailsObj.pinswg_casedecisiondate
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const Pinswg_compulsorypurchaseordersid = (props) => {
|
const Pinswg_compulsorypurchaseordersid = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -22,81 +22,131 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
|||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-case-type-label")}
|
label={t("case:summary-case-type-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: casesObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
"case:summary-no-date-entered-label"
|
})
|
||||||
)
|
: casesObj[
|
||||||
})}
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-no-date-entered-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-eia-required-label")}
|
label={t("case:summary-eia-required-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_detailedeiascreening@OData.Community.Display.V1.FormattedValue"
|
"pinswg_detailedeiascreening@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
|
||||||
"case:summary-to-be-confirmed-label"
|
|
||||||
)
|
)
|
||||||
})}
|
: detailsObj[
|
||||||
|
"pinswg_detailedeiascreening@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-to-be-confirmed-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-procedure-label")}
|
label={t("case:summary-procedure-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-type-of-event-label")}
|
label={t("case:summary-type-of-event-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: casesObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
"case:summary-no-date-entered-label"
|
})
|
||||||
)
|
: casesObj[
|
||||||
})}
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-no-date-entered-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{casesObj.numberofchildincidents > 0 && (
|
{casesObj.numberofchildincidents > 0 && (
|
||||||
@@ -105,9 +155,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
|||||||
{t("case:summary-case-link-status-label")}
|
{t("case:summary-case-link-status-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, ["numberofchildincidents"])
|
||||||
"numberofchildincidents"
|
|
||||||
])
|
|
||||||
? casesObj.numberofchildincidents > 0
|
? casesObj.numberofchildincidents > 0
|
||||||
? t(
|
? t(
|
||||||
"case:summary-case-link-status-linked"
|
"case:summary-case-link-status-linked"
|
||||||
@@ -139,12 +187,26 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
|||||||
label={t(
|
label={t(
|
||||||
"case:summary-case-relevant-authoritylabel"
|
"case:summary-case-relevant-authoritylabel"
|
||||||
)}
|
)}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj.pinswg_relevantauthorityname,
|
router.locale == "cy"
|
||||||
locale: router.locale,
|
? jsonpath({
|
||||||
translations: transLookup,
|
path:
|
||||||
fallbackValue: ""
|
'$..[?(@ && @.pinswg_lpa=="' +
|
||||||
})}
|
detailsObj.pinswg_relevantauthorityname +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true
|
||||||
|
})
|
||||||
|
: jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.pinswg_lpa=="' +
|
||||||
|
detailsObj.pinswg_relevantauthorityname +
|
||||||
|
'")].value',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true
|
||||||
|
}) ||
|
||||||
|
t("case:summary-no-date-entered-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</SummaryCard>
|
</SummaryCard>
|
||||||
@@ -157,7 +219,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-date-label")}
|
label={t("case:summary-start-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_startdate")
|
_.has(detailsObj, "pinswg_startdate")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdate
|
detailsObj.pinswg_startdate
|
||||||
@@ -165,7 +227,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(detailsObj, "pinswg_startdates")
|
: _.has(detailsObj, "pinswg_startdates")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdates
|
detailsObj.pinswg_startdates
|
||||||
@@ -182,10 +244,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
|||||||
"case:summary-questionnaire-due-date-label"
|
"case:summary-questionnaire-due-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
_.has(detailsObj, "pinswg_questionnaireduedate")
|
||||||
detailsObj,
|
|
||||||
"pinswg_questionnaireduedate"
|
|
||||||
)
|
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_questionnaireduedate
|
detailsObj.pinswg_questionnaireduedate
|
||||||
)
|
)
|
||||||
@@ -202,7 +261,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-statement-due-date-label")}
|
label={t("case:summary-statement-due-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
_.has(detailsObj, "pinswg_statementduedate")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_statementduedate
|
detailsObj.pinswg_statementduedate
|
||||||
)
|
)
|
||||||
@@ -221,7 +280,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
|||||||
"case:summary-interested-party-date-label"
|
"case:summary-interested-party-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatement"
|
"pinswg_otherpartiesstatement"
|
||||||
)
|
)
|
||||||
@@ -234,7 +293,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(
|
: _.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatements"
|
"pinswg_otherpartiesstatements"
|
||||||
)
|
)
|
||||||
@@ -256,10 +315,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
|||||||
"case:summary-applicant-final-comments-date-label"
|
"case:summary-applicant-final-comments-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
_.has(detailsObj, "pinswg_finalcommentsduedate")
|
||||||
detailsObj,
|
|
||||||
"pinswg_finalcommentsduedate"
|
|
||||||
)
|
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_finalcommentsduedate
|
detailsObj.pinswg_finalcommentsduedate
|
||||||
)
|
)
|
||||||
@@ -279,7 +335,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
|||||||
)}
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(
|
{_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||||
)
|
)
|
||||||
@@ -300,7 +356,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-event-date-label")}
|
label={t("case:summary-event-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
_.has(detailsObj, "pinswg_dateeventrequested")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_dateeventrequested
|
detailsObj.pinswg_dateeventrequested
|
||||||
)
|
)
|
||||||
@@ -317,7 +373,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-event-date-label")}
|
label={t("case:summary-start-event-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_startdateofevent")
|
_.has(detailsObj, "pinswg_startdateofevent")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_startdateofevent
|
detailsObj.pinswg_startdateofevent
|
||||||
)
|
)
|
||||||
@@ -333,7 +389,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-decision-date-label")}
|
label={t("case:summary-decision-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
_.has(detailsObj, "pinswg_casedecisiondate")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_casedecisiondate
|
detailsObj.pinswg_casedecisiondate
|
||||||
)
|
)
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -3,11 +3,8 @@ import _ from "lodash";
|
|||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const Pinswg_electricityactid = (props) => {
|
const Pinswg_electricityactid = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -65,49 +62,82 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
|
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t(
|
|
||||||
"case:summary-case-type-label"
|
label={t("case:summary-case-type-label")}
|
||||||
)}
|
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: casesObj[
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
})}
|
|
||||||
/>
|
|
||||||
<SummaryRow
|
|
||||||
label={t("case:summary-lpa-label")}
|
|
||||||
value={
|
|
||||||
<>
|
|
||||||
{getCaseLpaDisplayLines({
|
|
||||||
casesObj,
|
|
||||||
detailsObj,
|
|
||||||
locale: router.locale,
|
|
||||||
transLookup
|
|
||||||
}).map((name) => (
|
|
||||||
<div key={name}>{name}</div>
|
|
||||||
))}
|
|
||||||
</>
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
label={t("case:summary-lpa-label")}
|
||||||
|
|
||||||
|
value={
|
||||||
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/>
|
||||||
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-eia-required-label"
|
"case:summary-eia-required-label"
|
||||||
)}
|
)}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={
|
||||||
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
)
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-to-be-confirmed-label"
|
"case:summary-to-be-confirmed-label"
|
||||||
)
|
)
|
||||||
})}
|
|
||||||
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -116,7 +146,10 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
)}
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, "_ownerid_value")
|
{" "}
|
||||||
|
{/* {casesObj.caseDetails.caseOfficer ||
|
||||||
|
""} */}
|
||||||
|
{_.has(casesObj, "_ownerid_value")
|
||||||
? casesObj[
|
? casesObj[
|
||||||
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
|
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
|
||||||
]
|
]
|
||||||
@@ -124,59 +157,112 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t(
|
|
||||||
"case:summary-procedure-label"
|
label={t("case:summary-procedure-label")}
|
||||||
)}
|
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-type-of-event-label"
|
"case:summary-type-of-event-label"
|
||||||
)}
|
)}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={
|
||||||
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={
|
||||||
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
})}
|
|
||||||
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{casesObj.numberofchildincidents > 0 && (
|
{casesObj.numberofchildincidents > 0 && (
|
||||||
@@ -187,8 +273,8 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
)}
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, [
|
||||||
"numberofchildincidents"
|
"numberofchildincidents",
|
||||||
])
|
])
|
||||||
? casesObj.numberofchildincidents >
|
? casesObj.numberofchildincidents >
|
||||||
0
|
0
|
||||||
@@ -222,26 +308,39 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
""
|
""
|
||||||
)}
|
)}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-case-recommendation-label"
|
"case:summary-case-recommendation-label"
|
||||||
)}
|
)}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={
|
||||||
"pinswg_recommendation"
|
|
||||||
],
|
router.locale == "cy"
|
||||||
locale,
|
? jsonpath({
|
||||||
translations: transLookup,
|
path:
|
||||||
fallbackValue: t(
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj.pinswg_recommendation +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true,
|
||||||
|
})
|
||||||
|
: detailsObj.pinswg_recommendation ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
})}
|
|
||||||
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
{detailsObj.pinswg_webaddress != null && (
|
{detailsObj.pinswg_webaddress != null && (
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-case-website-label"
|
"case:summary-case-website-label"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
|
|
||||||
router.locale == "cy"
|
router.locale == "cy"
|
||||||
? jsonpath({
|
? jsonpath({
|
||||||
path:
|
path:
|
||||||
@@ -249,13 +348,15 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
detailsObj.pinswg_webaddress +
|
detailsObj.pinswg_webaddress +
|
||||||
'")].value_cy',
|
'")].value_cy',
|
||||||
json: transLookup,
|
json: transLookup,
|
||||||
eval: true
|
eval: true,
|
||||||
})
|
})
|
||||||
: detailsObj.pinswg_webaddress ||
|
: detailsObj.pinswg_webaddress ||
|
||||||
t(
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</dl>
|
</dl>
|
||||||
@@ -270,11 +371,12 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
</h3>
|
</h3>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t(
|
|
||||||
"case:summary-event-date-label"
|
label={t("case:summary-event-date-label")}
|
||||||
)}
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_dateeventrequested"
|
"pinswg_dateeventrequested"
|
||||||
)
|
)
|
||||||
@@ -290,14 +392,19 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-decision-date-label"
|
"case:summary-decision-date-label"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_casedecisiondate"
|
"pinswg_casedecisiondate"
|
||||||
)
|
)
|
||||||
@@ -313,15 +420,23 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-application-accepted-as-valid"
|
"case:summary-application-accepted-as-valid"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_applicationacceptedasvalid"
|
"pinswg_applicationacceptedasvalid"
|
||||||
)
|
)
|
||||||
@@ -337,14 +452,21 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-application-rejected-as-invalid"
|
"case:summary-application-rejected-as-invalid"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_applicationrejectedasinvalid"
|
"pinswg_applicationrejectedasinvalid"
|
||||||
)
|
)
|
||||||
@@ -360,14 +482,19 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-confirm-request-to-vary-application"
|
"case:summary-confirm-request-to-vary-application"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_confirmrequesttovaryapplication"
|
"pinswg_confirmrequesttovaryapplication"
|
||||||
)
|
)
|
||||||
@@ -383,14 +510,19 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-date-of-decisions"
|
"case:summary-date-of-decisions"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_dateofdecision"
|
"pinswg_dateofdecision"
|
||||||
)
|
)
|
||||||
@@ -406,14 +538,19 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-date-of-request-to-vary"
|
"case:summary-date-of-request-to-vary"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_dateofrequesttovarytheapplication"
|
"pinswg_dateofrequesttovarytheapplication"
|
||||||
)
|
)
|
||||||
@@ -429,14 +566,19 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-date-of-submission-of-application"
|
"case:summary-date-of-submission-of-application"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_dateofsubmissionofapplication"
|
"pinswg_dateofsubmissionofapplication"
|
||||||
)
|
)
|
||||||
@@ -452,14 +594,19 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-date-project-published-to-website"
|
"case:summary-date-project-published-to-website"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_dateprojectpublishedonwebsite"
|
"pinswg_dateprojectpublishedonwebsite"
|
||||||
)
|
)
|
||||||
@@ -475,14 +622,19 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-deadline-for-submission-of-application"
|
"case:summary-deadline-for-submission-of-application"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_deadlineforsubmissionofapplication"
|
"pinswg_deadlineforsubmissionofapplication"
|
||||||
)
|
)
|
||||||
@@ -498,14 +650,19 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-end-of-representation-period"
|
"case:summary-end-of-representation-period"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_endofrepresentationperiod"
|
"pinswg_endofrepresentationperiod"
|
||||||
)
|
)
|
||||||
@@ -521,14 +678,19 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-inspector-report-submission-to-welsh-government"
|
"case:summary-inspector-report-submission-to-welsh-government"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_inspectorreportsubmittedtowelshgovernment"
|
"pinswg_inspectorreportsubmittedtowelshgovernment"
|
||||||
)
|
)
|
||||||
@@ -544,14 +706,19 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-procedure-confirmed"
|
"case:summary-procedure-confirmed"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_procedureconfirmed"
|
"pinswg_procedureconfirmed"
|
||||||
)
|
)
|
||||||
@@ -567,14 +734,19 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-reject-request-to-vary-application"
|
"case:summary-reject-request-to-vary-application"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_rejectrequesttovaryapplication"
|
"pinswg_rejectrequesttovaryapplication"
|
||||||
)
|
)
|
||||||
@@ -590,12 +762,17 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-report-due-by")}
|
label={t("case:summary-report-due-by")}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_reportdueby"
|
"pinswg_reportdueby"
|
||||||
)
|
)
|
||||||
@@ -611,14 +788,17 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t(
|
|
||||||
"case:summary-suspension-dates"
|
label={t("case:summary-suspension-dates")}
|
||||||
)}
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_suspensiondates"
|
"pinswg_suspensiondates"
|
||||||
)
|
)
|
||||||
@@ -634,14 +814,19 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-suspension-end-dates"
|
"case:summary-suspension-end-dates"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_suspensionenddates"
|
"pinswg_suspensionenddates"
|
||||||
)
|
)
|
||||||
@@ -657,14 +842,19 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-suspension-start-dates"
|
"case:summary-suspension-start-dates"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_suspensionstartdates"
|
"pinswg_suspensionstartdates"
|
||||||
)
|
)
|
||||||
@@ -680,14 +870,19 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-valid-notice-of-intention-to-submit-an-application"
|
"case:summary-valid-notice-of-intention-to-submit-an-application"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_validnoticeofintentiontosubmitanapplicati"
|
"pinswg_validnoticeofintentiontosubmitanapplicati"
|
||||||
)
|
)
|
||||||
@@ -703,12 +898,17 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-withdrawn-date")}
|
label={t("case:summary-withdrawn-date")}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_withdrawndate"
|
"pinswg_withdrawndate"
|
||||||
)
|
)
|
||||||
@@ -724,14 +924,19 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-written-acceptance-of-notice"
|
"case:summary-written-acceptance-of-notice"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_writtenacceptanceofnotification"
|
"pinswg_writtenacceptanceofnotification"
|
||||||
)
|
)
|
||||||
@@ -747,7 +952,9 @@ const Pinswg_electricityactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -24,97 +22,149 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
|||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-case-type-label")}
|
label={t("case:summary-case-type-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: casesObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
"case:summary-no-date-entered-label"
|
})
|
||||||
)
|
: casesObj[
|
||||||
})}
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-no-date-entered-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-lpa-label")}
|
label={t("case:summary-lpa-label")}
|
||||||
value={
|
value={
|
||||||
<>
|
router.locale == "cy"
|
||||||
{getCaseLpaDisplayLines({
|
? jsonpath({
|
||||||
casesObj,
|
path:
|
||||||
detailsObj,
|
'$..[?(@ && @.value=="' +
|
||||||
locale: router.locale,
|
casesObj[
|
||||||
transLookup
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
}).map((name) => (
|
] +
|
||||||
<div key={name}>{name}</div>
|
'")].value_cy',
|
||||||
))}
|
json: transLookup,
|
||||||
</>
|
eval: true
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-eia-required-label")}
|
label={t("case:summary-eia-required-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
|
||||||
"case:summary-to-be-confirmed-label"
|
|
||||||
)
|
)
|
||||||
})}
|
: detailsObj[
|
||||||
|
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-to-be-confirmed-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-procedure-label")}
|
label={t("case:summary-procedure-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-type-of-event-label")}
|
label={t("case:summary-type-of-event-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: casesObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
"case:summary-no-date-entered-label"
|
})
|
||||||
)
|
: casesObj[
|
||||||
})}
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-no-date-entered-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{casesObj.numberofchildincidents > 0 && (
|
{casesObj.numberofchildincidents > 0 && (
|
||||||
@@ -123,9 +173,7 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
|||||||
{t("case:summary-case-link-status-label")}
|
{t("case:summary-case-link-status-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, ["numberofchildincidents"])
|
||||||
"numberofchildincidents"
|
|
||||||
])
|
|
||||||
? casesObj.numberofchildincidents > 0
|
? casesObj.numberofchildincidents > 0
|
||||||
? t(
|
? t(
|
||||||
"case:summary-case-link-status-linked"
|
"case:summary-case-link-status-linked"
|
||||||
@@ -164,7 +212,7 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-date-label")}
|
label={t("case:summary-start-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_startdate")
|
_.has(detailsObj, "pinswg_startdate")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdate
|
detailsObj.pinswg_startdate
|
||||||
@@ -172,7 +220,7 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(detailsObj, "pinswg_startdates")
|
: _.has(detailsObj, "pinswg_startdates")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdates
|
detailsObj.pinswg_startdates
|
||||||
@@ -189,10 +237,7 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
|||||||
"case:summary-questionnaire-due-date-label"
|
"case:summary-questionnaire-due-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
_.has(detailsObj, "pinswg_questionnaireduedate")
|
||||||
detailsObj,
|
|
||||||
"pinswg_questionnaireduedate"
|
|
||||||
)
|
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_questionnaireduedate
|
detailsObj.pinswg_questionnaireduedate
|
||||||
)
|
)
|
||||||
@@ -209,7 +254,7 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-statement-due-date-label")}
|
label={t("case:summary-statement-due-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
_.has(detailsObj, "pinswg_statementduedate")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_statementduedate
|
detailsObj.pinswg_statementduedate
|
||||||
)
|
)
|
||||||
@@ -228,7 +273,7 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
|||||||
"case:summary-interested-party-date-label"
|
"case:summary-interested-party-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatement"
|
"pinswg_otherpartiesstatement"
|
||||||
)
|
)
|
||||||
@@ -241,7 +286,7 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(
|
: _.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatements"
|
"pinswg_otherpartiesstatements"
|
||||||
)
|
)
|
||||||
@@ -263,10 +308,7 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
|||||||
"case:summary-applicant-final-comments-date-label"
|
"case:summary-applicant-final-comments-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
_.has(detailsObj, "pinswg_finalcommentsduedate")
|
||||||
detailsObj,
|
|
||||||
"pinswg_finalcommentsduedate"
|
|
||||||
)
|
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_finalcommentsduedate
|
detailsObj.pinswg_finalcommentsduedate
|
||||||
)
|
)
|
||||||
@@ -279,11 +321,35 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
|||||||
: t("case:summary-no-date-entered-label")
|
: t("case:summary-no-date-entered-label")
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
{/* <div className="govuk-summary-list__row">
|
||||||
|
<dt className="govuk-summary-list__key">
|
||||||
|
{t(
|
||||||
|
"case:summary-inquiry-evidence-date-label"
|
||||||
|
)}
|
||||||
|
</dt>
|
||||||
|
<dd className="govuk-summary-list__value">
|
||||||
|
{_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
? formatDates(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
</dd>
|
||||||
|
</div> */}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-event-date-label")}
|
label={t("case:summary-event-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
_.has(detailsObj, "pinswg_dateeventrequested")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_dateeventrequested
|
detailsObj.pinswg_dateeventrequested
|
||||||
)
|
)
|
||||||
@@ -300,7 +366,7 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-event-date-label")}
|
label={t("case:summary-start-event-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_startdateofevent")
|
_.has(detailsObj, "pinswg_startdateofevent")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_startdateofevent
|
detailsObj.pinswg_startdateofevent
|
||||||
)
|
)
|
||||||
@@ -316,7 +382,7 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-decision-date-label")}
|
label={t("case:summary-decision-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
_.has(detailsObj, "pinswg_casedecisiondate")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_casedecisiondate
|
detailsObj.pinswg_casedecisiondate
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const Pinswg_enforcementnoticeappeals174id = (props) => {
|
const Pinswg_enforcementnoticeappeals174id = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -23,110 +21,177 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-case-type-label")}
|
label={t("case:summary-case-type-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-lpa-label")}
|
label={t("case:summary-lpa-label")}
|
||||||
value={
|
|
||||||
<>
|
value={router.locale == "cy"
|
||||||
{getCaseLpaDisplayLines({
|
? jsonpath({
|
||||||
casesObj,
|
path:
|
||||||
detailsObj,
|
'$..[?(@ && @.value=="' +
|
||||||
locale: router.locale,
|
casesObj[
|
||||||
transLookup
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
}).map((name) => (
|
] +
|
||||||
<div key={name}>{name}</div>
|
'")].value_cy',
|
||||||
))}
|
json: transLookup,
|
||||||
</>
|
eval: true,
|
||||||
}
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-eia-required-label")}
|
label={t("case:summary-eia-required-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
)
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-to-be-confirmed-label"
|
"case:summary-to-be-confirmed-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-procedure-label")}
|
label={t("case:summary-procedure-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-type-of-event-label")}
|
label={t("case:summary-type-of-event-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{casesObj.numberofchildincidents > 0 && (
|
{casesObj.numberofchildincidents > 0 && (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-case-link-status-label")}
|
{t(
|
||||||
|
"case:summary-case-link-status-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, [
|
||||||
"numberofchildincidents"
|
"numberofchildincidents",
|
||||||
])
|
])
|
||||||
? casesObj.numberofchildincidents > 0
|
? casesObj.numberofchildincidents >
|
||||||
|
0
|
||||||
? t(
|
? t(
|
||||||
"case:summary-case-link-status-linked"
|
"case:summary-case-link-status-linked"
|
||||||
)
|
)
|
||||||
@@ -142,11 +207,14 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
|||||||
{casesObj.numberofchildincidents > 0 ? (
|
{casesObj.numberofchildincidents > 0 ? (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-linked-cases-label")}
|
{t(
|
||||||
|
"case:summary-linked-cases-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{linkedCasesList(
|
{linkedCasesList(
|
||||||
props.currentView.linkedCaseReferences
|
props.currentView
|
||||||
|
.linkedCaseReferences
|
||||||
)}
|
)}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
@@ -162,34 +230,47 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-start-date-label")}
|
label={t("case:summary-start-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_startdate")
|
value={_.has(detailsObj, "pinswg_startdate")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdate
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdate
|
detailsObj.pinswg_startdate
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(detailsObj, "pinswg_startdates")
|
: _.has(
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
detailsObj,
|
||||||
|
"pinswg_startdates"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdates
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdates
|
detailsObj.pinswg_startdates
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-questionnaire-due-date-label"
|
"case:summary-questionnaire-due-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_questionnaireduedate"
|
"pinswg_questionnaireduedate"
|
||||||
)
|
)
|
||||||
@@ -202,14 +283,25 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-statement-due-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
label={t(
|
||||||
|
"case:summary-statement-due-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_statementduedate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_statementduedate
|
detailsObj.pinswg_statementduedate
|
||||||
)
|
)
|
||||||
@@ -219,16 +311,22 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-interested-party-date-label"
|
"case:summary-interested-party-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatement"
|
"pinswg_otherpartiesstatement"
|
||||||
)
|
)
|
||||||
@@ -241,7 +339,7 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(
|
: _.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatements"
|
"pinswg_otherpartiesstatements"
|
||||||
)
|
)
|
||||||
@@ -254,16 +352,22 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-applicant-final-comments-date-label"
|
"case:summary-applicant-final-comments-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_finalcommentsduedate"
|
"pinswg_finalcommentsduedate"
|
||||||
)
|
)
|
||||||
@@ -276,14 +380,41 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
/>
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
/>
|
||||||
|
{/* <SummaryRow
|
||||||
|
label={t(
|
||||||
|
"case:summary-inquiry-evidence-date-label"
|
||||||
|
)}
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
? formatDates(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
/> */}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-event-date-label")}
|
label={t("case:summary-event-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_dateeventrequested"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_dateeventrequested
|
detailsObj.pinswg_dateeventrequested
|
||||||
)
|
)
|
||||||
@@ -293,14 +424,24 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-event-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_startdateoftheevent")
|
label={t(
|
||||||
|
"case:summary-start-event-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_startdateoftheevent"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_startdateoftheevent
|
detailsObj.pinswg_startdateoftheevent
|
||||||
)
|
)
|
||||||
@@ -310,13 +451,20 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-decision-date-label")}
|
label={t("case:summary-decision-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_casedecisiondate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_casedecisiondate
|
detailsObj.pinswg_casedecisiondate
|
||||||
)
|
)
|
||||||
@@ -326,8 +474,10 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</SummaryCard>
|
</SummaryCard>
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const Pinswg_environmentalpermittingid = (props) => {
|
const Pinswg_environmentalpermittingid = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -23,110 +21,177 @@ const Pinswg_environmentalpermittingid = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-case-type-label")}
|
label={t("case:summary-case-type-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-lpa-label")}
|
label={t("case:summary-lpa-label")}
|
||||||
value={
|
|
||||||
<>
|
value={router.locale == "cy"
|
||||||
{getCaseLpaDisplayLines({
|
? jsonpath({
|
||||||
casesObj,
|
path:
|
||||||
detailsObj,
|
'$..[?(@ && @.value=="' +
|
||||||
locale: router.locale,
|
casesObj[
|
||||||
transLookup
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
}).map((name) => (
|
] +
|
||||||
<div key={name}>{name}</div>
|
'")].value_cy',
|
||||||
))}
|
json: transLookup,
|
||||||
</>
|
eval: true,
|
||||||
}
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-eia-required-label")}
|
label={t("case:summary-eia-required-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
)
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-to-be-confirmed-label"
|
"case:summary-to-be-confirmed-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-procedure-label")}
|
label={t("case:summary-procedure-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-type-of-event-label")}
|
label={t("case:summary-type-of-event-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{casesObj.numberofchildincidents > 0 && (
|
{casesObj.numberofchildincidents > 0 && (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-case-link-status-label")}
|
{t(
|
||||||
|
"case:summary-case-link-status-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, [
|
||||||
"numberofchildincidents"
|
"numberofchildincidents",
|
||||||
])
|
])
|
||||||
? casesObj.numberofchildincidents > 0
|
? casesObj.numberofchildincidents >
|
||||||
|
0
|
||||||
? t(
|
? t(
|
||||||
"case:summary-case-link-status-linked"
|
"case:summary-case-link-status-linked"
|
||||||
)
|
)
|
||||||
@@ -142,11 +207,14 @@ const Pinswg_environmentalpermittingid = (props) => {
|
|||||||
{casesObj.numberofchildincidents > 0 ? (
|
{casesObj.numberofchildincidents > 0 ? (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-linked-cases-label")}
|
{t(
|
||||||
|
"case:summary-linked-cases-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{linkedCasesList(
|
{linkedCasesList(
|
||||||
props.currentView.linkedCaseReferences
|
props.currentView
|
||||||
|
.linkedCaseReferences
|
||||||
)}
|
)}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
@@ -154,15 +222,32 @@ const Pinswg_environmentalpermittingid = (props) => {
|
|||||||
""
|
""
|
||||||
)}
|
)}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-case-relevant-authoritylabel"
|
"case:summary-case-relevant-authoritylabel"
|
||||||
)}
|
)}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj.pinswg_relevantauthorityname,
|
value={router.locale == "cy"
|
||||||
locale: router.locale,
|
? jsonpath({
|
||||||
translations: transLookup,
|
path:
|
||||||
fallbackValue: ""
|
'$..[?(@ && @.pinswg_lpa=="' +
|
||||||
})}
|
detailsObj.pinswg_relevantauthorityname +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true,
|
||||||
|
})
|
||||||
|
: jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.pinswg_lpa=="' +
|
||||||
|
detailsObj.pinswg_relevantauthorityname +
|
||||||
|
'")].value',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true,
|
||||||
|
}) ||
|
||||||
|
t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</SummaryCard>
|
</SummaryCard>
|
||||||
@@ -173,34 +258,47 @@ const Pinswg_environmentalpermittingid = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-start-date-label")}
|
label={t("case:summary-start-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_startdate")
|
value={_.has(detailsObj, "pinswg_startdate")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdate
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdate
|
detailsObj.pinswg_startdate
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(detailsObj, "pinswg_startdates")
|
: _.has(
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
detailsObj,
|
||||||
|
"pinswg_startdates"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdates
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdates
|
detailsObj.pinswg_startdates
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-questionnaire-due-date-label"
|
"case:summary-questionnaire-due-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_questionnaireduedate"
|
"pinswg_questionnaireduedate"
|
||||||
)
|
)
|
||||||
@@ -213,14 +311,25 @@ const Pinswg_environmentalpermittingid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-statement-due-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
label={t(
|
||||||
|
"case:summary-statement-due-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_statementduedate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_statementduedate
|
detailsObj.pinswg_statementduedate
|
||||||
)
|
)
|
||||||
@@ -230,16 +339,22 @@ const Pinswg_environmentalpermittingid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-interested-party-date-label"
|
"case:summary-interested-party-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatement"
|
"pinswg_otherpartiesstatement"
|
||||||
)
|
)
|
||||||
@@ -252,7 +367,7 @@ const Pinswg_environmentalpermittingid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(
|
: _.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatements"
|
"pinswg_otherpartiesstatements"
|
||||||
)
|
)
|
||||||
@@ -265,16 +380,22 @@ const Pinswg_environmentalpermittingid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-applicant-final-comments-date-label"
|
"case:summary-applicant-final-comments-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_finalcommentsduedate"
|
"pinswg_finalcommentsduedate"
|
||||||
)
|
)
|
||||||
@@ -287,14 +408,17 @@ const Pinswg_environmentalpermittingid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
{/* <SummaryRow
|
{/* <SummaryRow
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-inquiry-evidence-date-label"
|
"case:summary-inquiry-evidence-date-label"
|
||||||
)}
|
)}
|
||||||
value={hasOwn(
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||||
)
|
)
|
||||||
@@ -312,9 +436,13 @@ const Pinswg_environmentalpermittingid = (props) => {
|
|||||||
)}
|
)}
|
||||||
/> */}
|
/> */}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-event-date-label")}
|
label={t("case:summary-event-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_dateeventrequested"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_dateeventrequested
|
detailsObj.pinswg_dateeventrequested
|
||||||
)
|
)
|
||||||
@@ -324,14 +452,24 @@ const Pinswg_environmentalpermittingid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-event-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_startdateofevent")
|
label={t(
|
||||||
|
"case:summary-start-event-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_startdateofevent"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_startdateofevent
|
detailsObj.pinswg_startdateofevent
|
||||||
)
|
)
|
||||||
@@ -341,13 +479,20 @@ const Pinswg_environmentalpermittingid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-decision-date-label")}
|
label={t("case:summary-decision-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_casedecisiondate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_casedecisiondate
|
detailsObj.pinswg_casedecisiondate
|
||||||
)
|
)
|
||||||
@@ -357,8 +502,10 @@ const Pinswg_environmentalpermittingid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</SummaryCard>
|
</SummaryCard>
|
||||||
|
|||||||
@@ -5,9 +5,6 @@ import { useRouter } from "next/router";
|
|||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
|
|
||||||
const Pinswg_harbourrevisionorderid = (props) => {
|
const Pinswg_harbourrevisionorderid = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -65,49 +62,82 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
|
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t(
|
|
||||||
"case:summary-case-type-label"
|
label={t("case:summary-case-type-label")}
|
||||||
)}
|
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: casesObj[
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
})}
|
|
||||||
/>
|
|
||||||
<SummaryRow
|
|
||||||
label={t("case:summary-lpa-label")}
|
|
||||||
value={
|
|
||||||
<>
|
|
||||||
{getCaseLpaDisplayLines({
|
|
||||||
casesObj,
|
|
||||||
detailsObj,
|
|
||||||
locale: router.locale,
|
|
||||||
transLookup
|
|
||||||
}).map((name) => (
|
|
||||||
<div key={name}>{name}</div>
|
|
||||||
))}
|
|
||||||
</>
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
label={t("case:summary-lpa-label")}
|
||||||
|
|
||||||
|
value={
|
||||||
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/>
|
||||||
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-eia-required-label"
|
"case:summary-eia-required-label"
|
||||||
)}
|
)}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={
|
||||||
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
)
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-to-be-confirmed-label"
|
"case:summary-to-be-confirmed-label"
|
||||||
)
|
)
|
||||||
})}
|
|
||||||
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
@@ -116,7 +146,10 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
)}
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, "_ownerid_value")
|
{" "}
|
||||||
|
{/* {casesObj.caseDetails.caseOfficer ||
|
||||||
|
""} */}
|
||||||
|
{_.has(casesObj, "_ownerid_value")
|
||||||
? casesObj[
|
? casesObj[
|
||||||
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
|
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
|
||||||
]
|
]
|
||||||
@@ -124,46 +157,86 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t(
|
|
||||||
"case:summary-procedure-label"
|
label={t("case:summary-procedure-label")}
|
||||||
)}
|
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={
|
||||||
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
})}
|
|
||||||
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{casesObj.numberofchildincidents > 0 && (
|
{casesObj.numberofchildincidents > 0 && (
|
||||||
@@ -174,8 +247,8 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
)}
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, [
|
||||||
"numberofchildincidents"
|
"numberofchildincidents",
|
||||||
])
|
])
|
||||||
? casesObj.numberofchildincidents >
|
? casesObj.numberofchildincidents >
|
||||||
0
|
0
|
||||||
@@ -209,24 +282,39 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
""
|
""
|
||||||
)}
|
)}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-case-recommendation-label"
|
"case:summary-case-recommendation-label"
|
||||||
)}
|
)}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj.pinswg_recommendation,
|
value={
|
||||||
locale,
|
|
||||||
translations: transLookup,
|
router.locale == "cy"
|
||||||
fallbackValue: t(
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj.pinswg_recommendation +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true,
|
||||||
|
})
|
||||||
|
: detailsObj.pinswg_recommendation ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
})}
|
|
||||||
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
{detailsObj.pinswg_webaddress != null && (
|
{detailsObj.pinswg_webaddress != null && (
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-case-website-label"
|
"case:summary-case-website-label"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
|
|
||||||
router.locale == "cy"
|
router.locale == "cy"
|
||||||
? jsonpath({
|
? jsonpath({
|
||||||
path:
|
path:
|
||||||
@@ -234,13 +322,15 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
detailsObj.pinswg_webaddress +
|
detailsObj.pinswg_webaddress +
|
||||||
'")].value_cy',
|
'")].value_cy',
|
||||||
json: transLookup,
|
json: transLookup,
|
||||||
eval: true
|
eval: true,
|
||||||
})
|
})
|
||||||
: detailsObj.pinswg_webaddress ||
|
: detailsObj.pinswg_webaddress ||
|
||||||
t(
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</dl>
|
</dl>
|
||||||
@@ -255,11 +345,12 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
</h3>
|
</h3>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t(
|
|
||||||
"case:summary-event-date-label"
|
label={t("case:summary-event-date-label")}
|
||||||
)}
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_dateeventrequested"
|
"pinswg_dateeventrequested"
|
||||||
)
|
)
|
||||||
@@ -275,14 +366,19 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-decision-date-label"
|
"case:summary-decision-date-label"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_casedecisiondate"
|
"pinswg_casedecisiondate"
|
||||||
)
|
)
|
||||||
@@ -298,15 +394,23 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-application-accepted-as-valid"
|
"case:summary-application-accepted-as-valid"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_applicationacceptedasvalid"
|
"pinswg_applicationacceptedasvalid"
|
||||||
)
|
)
|
||||||
@@ -322,14 +426,21 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-application-rejected-as-invalid"
|
"case:summary-application-rejected-as-invalid"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_applicationrejectedasinvalid"
|
"pinswg_applicationrejectedasinvalid"
|
||||||
)
|
)
|
||||||
@@ -345,14 +456,19 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-confirm-request-to-vary-application"
|
"case:summary-confirm-request-to-vary-application"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_confirmrequesttovaryapplication"
|
"pinswg_confirmrequesttovaryapplication"
|
||||||
)
|
)
|
||||||
@@ -368,14 +484,19 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-date-of-decisions"
|
"case:summary-date-of-decisions"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_dateofdecision"
|
"pinswg_dateofdecision"
|
||||||
)
|
)
|
||||||
@@ -391,14 +512,19 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-date-of-request-to-vary"
|
"case:summary-date-of-request-to-vary"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_dateofrequesttovarytheapplication"
|
"pinswg_dateofrequesttovarytheapplication"
|
||||||
)
|
)
|
||||||
@@ -414,14 +540,19 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-date-of-submission-of-application"
|
"case:summary-date-of-submission-of-application"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_dateofsubmissionofapplication"
|
"pinswg_dateofsubmissionofapplication"
|
||||||
)
|
)
|
||||||
@@ -437,14 +568,19 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-date-project-published-to-website"
|
"case:summary-date-project-published-to-website"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_dateprojectpublishedonwebsite"
|
"pinswg_dateprojectpublishedonwebsite"
|
||||||
)
|
)
|
||||||
@@ -460,14 +596,19 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-deadline-for-submission-of-application"
|
"case:summary-deadline-for-submission-of-application"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_deadlineforsubmissionofapplication"
|
"pinswg_deadlineforsubmissionofapplication"
|
||||||
)
|
)
|
||||||
@@ -483,14 +624,19 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-end-of-representation-period"
|
"case:summary-end-of-representation-period"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_endofrepresentationperiod"
|
"pinswg_endofrepresentationperiod"
|
||||||
)
|
)
|
||||||
@@ -506,14 +652,19 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-inspector-report-submission-to-welsh-government"
|
"case:summary-inspector-report-submission-to-welsh-government"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_inspectorreportsubmittedtowelshgovernment"
|
"pinswg_inspectorreportsubmittedtowelshgovernment"
|
||||||
)
|
)
|
||||||
@@ -529,14 +680,19 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-procedure-confirmed"
|
"case:summary-procedure-confirmed"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_procedureconfirmed"
|
"pinswg_procedureconfirmed"
|
||||||
)
|
)
|
||||||
@@ -552,14 +708,19 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-reject-request-to-vary-application"
|
"case:summary-reject-request-to-vary-application"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_rejectrequesttovaryapplication"
|
"pinswg_rejectrequesttovaryapplication"
|
||||||
)
|
)
|
||||||
@@ -575,12 +736,17 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-report-due-by")}
|
label={t("case:summary-report-due-by")}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_reportdueby"
|
"pinswg_reportdueby"
|
||||||
)
|
)
|
||||||
@@ -596,14 +762,17 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t(
|
|
||||||
"case:summary-suspension-dates"
|
label={t("case:summary-suspension-dates")}
|
||||||
)}
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_suspensiondates"
|
"pinswg_suspensiondates"
|
||||||
)
|
)
|
||||||
@@ -619,14 +788,19 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-suspension-end-dates"
|
"case:summary-suspension-end-dates"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_suspensionenddates"
|
"pinswg_suspensionenddates"
|
||||||
)
|
)
|
||||||
@@ -642,14 +816,19 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-suspension-start-dates"
|
"case:summary-suspension-start-dates"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_suspensionstartdates"
|
"pinswg_suspensionstartdates"
|
||||||
)
|
)
|
||||||
@@ -665,14 +844,19 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-valid-notice-of-intention-to-submit-an-application"
|
"case:summary-valid-notice-of-intention-to-submit-an-application"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_validnoticeofintentiontosubmitanapplicati"
|
"pinswg_validnoticeofintentiontosubmitanapplicati"
|
||||||
)
|
)
|
||||||
@@ -688,12 +872,17 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-withdrawn-date")}
|
label={t("case:summary-withdrawn-date")}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_withdrawndate"
|
"pinswg_withdrawndate"
|
||||||
)
|
)
|
||||||
@@ -709,14 +898,19 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-written-acceptance-of-notice"
|
"case:summary-written-acceptance-of-notice"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_writtenacceptanceofnotification"
|
"pinswg_writtenacceptanceofnotification"
|
||||||
)
|
)
|
||||||
@@ -732,7 +926,9 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -23,125 +21,205 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-case-type-label")}
|
label={t("case:summary-case-type-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
|
||||||
})}
|
|
||||||
/>
|
|
||||||
|
|
||||||
<SummaryRow
|
|
||||||
label={t(
|
|
||||||
"case:summary-specialist-case-process-label"
|
|
||||||
)}
|
)}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
|
||||||
"pinswg_specialistcaseprocess@OData.Community.Display.V1.FormattedValue"
|
|
||||||
],
|
|
||||||
locale,
|
|
||||||
translations: transLookup,
|
|
||||||
fallbackValue: ""
|
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
|
label={"Specialist Case Process"}
|
||||||
|
|
||||||
|
|
||||||
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
|
"pinswg_specialistcaseprocess@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true,
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_specialistcaseprocess@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
|
|
||||||
|
/>
|
||||||
|
|
||||||
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t("case:summary-lpa-label")}
|
label={t("case:summary-lpa-label")}
|
||||||
value={
|
|
||||||
<>
|
|
||||||
{getCaseLpaDisplayLines({
|
value={router.locale == "cy"
|
||||||
casesObj,
|
? jsonpath({
|
||||||
detailsObj,
|
path:
|
||||||
locale: router.locale,
|
'$..[?(@ && @.value=="' +
|
||||||
transLookup
|
casesObj[
|
||||||
}).map((name) => (
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
<div key={name}>{name}</div>
|
] +
|
||||||
))}
|
'")].value_cy',
|
||||||
</>
|
json: transLookup,
|
||||||
}
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-eia-required-label")}
|
label={t("case:summary-eia-required-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_detailedeiascreening@OData.Community.Display.V1.FormattedValue"
|
"pinswg_detailedeiascreening@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
)
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_detailedeiascreening@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-to-be-confirmed-label"
|
"case:summary-to-be-confirmed-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-procedure-label")}
|
label={t("case:summary-procedure-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-type-of-event-label")}
|
label={t("case:summary-type-of-event-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{casesObj.numberofchildincidents > 0 && (
|
{casesObj.numberofchildincidents > 0 && (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-case-link-status-label")}
|
{t(
|
||||||
|
"case:summary-case-link-status-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, [
|
||||||
"numberofchildincidents"
|
"numberofchildincidents",
|
||||||
])
|
])
|
||||||
? casesObj.numberofchildincidents > 0
|
? casesObj.numberofchildincidents >
|
||||||
|
0
|
||||||
? t(
|
? t(
|
||||||
"case:summary-case-link-status-linked"
|
"case:summary-case-link-status-linked"
|
||||||
)
|
)
|
||||||
@@ -157,11 +235,14 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
|||||||
{casesObj.numberofchildincidents > 0 ? (
|
{casesObj.numberofchildincidents > 0 ? (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-linked-cases-label")}
|
{t(
|
||||||
|
"case:summary-linked-cases-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{linkedCasesList(
|
{linkedCasesList(
|
||||||
props.currentView.linkedCaseReferences
|
props.currentView
|
||||||
|
.linkedCaseReferences
|
||||||
)}
|
)}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
@@ -169,15 +250,32 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
|||||||
""
|
""
|
||||||
)}
|
)}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-case-relevant-authoritylabel"
|
"case:summary-case-relevant-authoritylabel"
|
||||||
)}
|
)}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj.pinswg_relevantauthorityname,
|
value={router.locale == "cy"
|
||||||
locale: router.locale,
|
? jsonpath({
|
||||||
translations: transLookup,
|
path:
|
||||||
fallbackValue: ""
|
'$..[?(@ && @.pinswg_lpa=="' +
|
||||||
})}
|
detailsObj.pinswg_relevantauthorityname +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true,
|
||||||
|
})
|
||||||
|
: jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.pinswg_lpa=="' +
|
||||||
|
detailsObj.pinswg_relevantauthorityname +
|
||||||
|
'")].value',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true,
|
||||||
|
}) ||
|
||||||
|
t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</SummaryCard>
|
</SummaryCard>
|
||||||
@@ -188,34 +286,47 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-start-date-label")}
|
label={t("case:summary-start-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_startdate")
|
value={_.has(detailsObj, "pinswg_startdate")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdate
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdate
|
detailsObj.pinswg_startdate
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(detailsObj, "pinswg_startdates")
|
: _.has(
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
detailsObj,
|
||||||
|
"pinswg_startdates"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdates
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdates
|
detailsObj.pinswg_startdates
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-questionnaire-due-date-label"
|
"case:summary-questionnaire-due-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_questionnaireduedate"
|
"pinswg_questionnaireduedate"
|
||||||
)
|
)
|
||||||
@@ -228,14 +339,25 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-statement-due-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
label={t(
|
||||||
|
"case:summary-statement-due-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_statementduedate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_statementduedate
|
detailsObj.pinswg_statementduedate
|
||||||
)
|
)
|
||||||
@@ -245,16 +367,22 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-interested-party-date-label"
|
"case:summary-interested-party-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatement"
|
"pinswg_otherpartiesstatement"
|
||||||
)
|
)
|
||||||
@@ -267,7 +395,7 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(
|
: _.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatements"
|
"pinswg_otherpartiesstatements"
|
||||||
)
|
)
|
||||||
@@ -280,16 +408,22 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-applicant-final-comments-date-label"
|
"case:summary-applicant-final-comments-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_finalcommentsduedate"
|
"pinswg_finalcommentsduedate"
|
||||||
)
|
)
|
||||||
@@ -302,14 +436,41 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
/>
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
/>
|
||||||
|
{/* <SummaryRow
|
||||||
|
label={t(
|
||||||
|
"case:summary-inquiry-evidence-date-label"
|
||||||
|
)}
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
? formatDates(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
/> */}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-event-date-label")}
|
label={t("case:summary-event-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_dateeventrequested"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_dateeventrequested
|
detailsObj.pinswg_dateeventrequested
|
||||||
)
|
)
|
||||||
@@ -319,14 +480,24 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-event-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_startdateoftheevent")
|
label={t(
|
||||||
|
"case:summary-start-event-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_startdateoftheevent"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_startdateoftheevent
|
detailsObj.pinswg_startdateoftheevent
|
||||||
)
|
)
|
||||||
@@ -336,13 +507,20 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-decision-date-label")}
|
label={t("case:summary-decision-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_casedecisiondate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_casedecisiondate
|
detailsObj.pinswg_casedecisiondate
|
||||||
)
|
)
|
||||||
@@ -352,8 +530,10 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</SummaryCard>
|
</SummaryCard>
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const Pinswg_householderappealhasid = (props) => {
|
const Pinswg_householderappealhasid = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -24,86 +22,130 @@ const Pinswg_householderappealhasid = (props) => {
|
|||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-case-type-label")}
|
label={t("case:summary-case-type-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: casesObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
"case:summary-no-date-entered-label"
|
})
|
||||||
)
|
: casesObj[
|
||||||
})}
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-no-date-entered-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-lpa-label")}
|
label={t("case:summary-lpa-label")}
|
||||||
value={
|
value={
|
||||||
<>
|
router.locale == "cy"
|
||||||
{getCaseLpaDisplayLines({
|
? jsonpath({
|
||||||
casesObj,
|
path:
|
||||||
detailsObj,
|
'$..[?(@ && @.value=="' +
|
||||||
locale: router.locale,
|
casesObj[
|
||||||
transLookup
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
}).map((name) => (
|
] +
|
||||||
<div key={name}>{name}</div>
|
'")].value_cy',
|
||||||
))}
|
json: transLookup,
|
||||||
</>
|
eval: true
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-eia-required-label")}
|
label={t("case:summary-eia-required-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
|
||||||
"case:summary-to-be-confirmed-label"
|
|
||||||
)
|
)
|
||||||
})}
|
: detailsObj[
|
||||||
|
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-to-be-confirmed-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-procedure-label")}
|
label={t("case:summary-procedure-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: detailsObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: casesObj[
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
"case:summary-no-date-entered-label"
|
})
|
||||||
)
|
: casesObj[
|
||||||
})}
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-no-date-entered-label")
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{casesObj.numberofchildincidents > 0 && (
|
{casesObj.numberofchildincidents > 0 && (
|
||||||
@@ -112,9 +154,7 @@ const Pinswg_householderappealhasid = (props) => {
|
|||||||
{t("case:summary-case-link-status-label")}
|
{t("case:summary-case-link-status-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, ["numberofchildincidents"])
|
||||||
"numberofchildincidents"
|
|
||||||
])
|
|
||||||
? casesObj.numberofchildincidents > 0
|
? casesObj.numberofchildincidents > 0
|
||||||
? t(
|
? t(
|
||||||
"case:summary-case-link-status-linked"
|
"case:summary-case-link-status-linked"
|
||||||
@@ -153,7 +193,7 @@ const Pinswg_householderappealhasid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-date-label")}
|
label={t("case:summary-start-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_startdate")
|
_.has(detailsObj, "pinswg_startdate")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdate
|
detailsObj.pinswg_startdate
|
||||||
@@ -161,7 +201,7 @@ const Pinswg_householderappealhasid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(detailsObj, "pinswg_startdates")
|
: _.has(detailsObj, "pinswg_startdates")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdates
|
detailsObj.pinswg_startdates
|
||||||
@@ -178,10 +218,7 @@ const Pinswg_householderappealhasid = (props) => {
|
|||||||
"case:summary-questionnaire-due-date-label"
|
"case:summary-questionnaire-due-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
_.has(detailsObj, "pinswg_questionnaireduedate")
|
||||||
detailsObj,
|
|
||||||
"pinswg_questionnaireduedate"
|
|
||||||
)
|
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_questionnaireduedate
|
detailsObj.pinswg_questionnaireduedate
|
||||||
)
|
)
|
||||||
@@ -198,7 +235,7 @@ const Pinswg_householderappealhasid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-statement-due-date-label")}
|
label={t("case:summary-statement-due-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
_.has(detailsObj, "pinswg_statementduedate")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_statementduedate
|
detailsObj.pinswg_statementduedate
|
||||||
)
|
)
|
||||||
@@ -217,7 +254,7 @@ const Pinswg_householderappealhasid = (props) => {
|
|||||||
"case:summary-interested-party-date-label"
|
"case:summary-interested-party-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_otherpartiesstmt")
|
_.has(detailsObj, "pinswg_otherpartiesstmt")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_otherpartiesstmt
|
detailsObj.pinswg_otherpartiesstmt
|
||||||
)
|
)
|
||||||
@@ -227,7 +264,7 @@ const Pinswg_householderappealhasid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(
|
: _.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstmt"
|
"pinswg_otherpartiesstmt"
|
||||||
)
|
)
|
||||||
@@ -246,7 +283,7 @@ const Pinswg_householderappealhasid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-event-date-label")}
|
label={t("case:summary-event-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
_.has(detailsObj, "pinswg_dateeventrequested")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_dateeventrequested
|
detailsObj.pinswg_dateeventrequested
|
||||||
)
|
)
|
||||||
@@ -263,7 +300,7 @@ const Pinswg_householderappealhasid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-event-date-label")}
|
label={t("case:summary-start-event-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_startdateofevent")
|
_.has(detailsObj, "pinswg_startdateofevent")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_startdateofevent
|
detailsObj.pinswg_startdateofevent
|
||||||
)
|
)
|
||||||
@@ -279,7 +316,7 @@ const Pinswg_householderappealhasid = (props) => {
|
|||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-decision-date-label")}
|
label={t("case:summary-decision-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
_.has(detailsObj, "pinswg_casedecisiondate")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_casedecisiondate
|
detailsObj.pinswg_casedecisiondate
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -23,108 +21,177 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-case-type-label")}
|
label={t("case:summary-case-type-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-lpa-label")}
|
label={t("case:summary-lpa-label")}
|
||||||
value={
|
|
||||||
<>
|
value={router.locale == "cy"
|
||||||
{getCaseLpaDisplayLines({
|
? jsonpath({
|
||||||
casesObj,
|
path:
|
||||||
detailsObj,
|
'$..[?(@ && @.value=="' +
|
||||||
locale: router.locale,
|
casesObj[
|
||||||
transLookup
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
}).map((name) => (
|
] +
|
||||||
<div key={name}>{name}</div>
|
'")].value_cy',
|
||||||
))}
|
json: transLookup,
|
||||||
</>
|
eval: true,
|
||||||
}
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-eia-required-label")}
|
label={t("case:summary-eia-required-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_detailedeiascreeningrequiered@OData.Community.Display.V1.FormattedValue"
|
"pinswg_detailedeiascreeningrequiered@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
)
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_detailedeiascreeningrequiered@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-to-be-confirmed-label"
|
"case:summary-to-be-confirmed-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-procedure-label")}
|
label={t("case:summary-procedure-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-type-of-event-label")}
|
label={t("case:summary-type-of-event-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{casesObj.numberofchildincidents > 0 && (
|
{casesObj.numberofchildincidents > 0 && (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-case-link-status-label")}
|
{t(
|
||||||
|
"case:summary-case-link-status-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, [
|
||||||
"numberofchildincidents"
|
"numberofchildincidents",
|
||||||
])
|
])
|
||||||
? casesObj.numberofchildincidents > 0
|
? casesObj.numberofchildincidents >
|
||||||
|
0
|
||||||
? t(
|
? t(
|
||||||
"case:summary-case-link-status-linked"
|
"case:summary-case-link-status-linked"
|
||||||
)
|
)
|
||||||
@@ -140,11 +207,14 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
|||||||
{casesObj.numberofchildincidents > 0 ? (
|
{casesObj.numberofchildincidents > 0 ? (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-linked-cases-label")}
|
{t(
|
||||||
|
"case:summary-linked-cases-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{linkedCasesList(
|
{linkedCasesList(
|
||||||
props.currentView.linkedCaseReferences
|
props.currentView
|
||||||
|
.linkedCaseReferences
|
||||||
)}
|
)}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
@@ -160,34 +230,47 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-start-date-label")}
|
label={t("case:summary-start-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_startdate")
|
value={_.has(detailsObj, "pinswg_startdate")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdate
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdate
|
detailsObj.pinswg_startdate
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(detailsObj, "pinswg_startdates")
|
: _.has(
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
detailsObj,
|
||||||
|
"pinswg_startdates"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdates
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdates
|
detailsObj.pinswg_startdates
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-questionnaire-due-date-label"
|
"case:summary-questionnaire-due-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_questionnaireduedate"
|
"pinswg_questionnaireduedate"
|
||||||
)
|
)
|
||||||
@@ -200,14 +283,25 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-statement-due-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
label={t(
|
||||||
|
"case:summary-statement-due-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_statementduedate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_statementduedate
|
detailsObj.pinswg_statementduedate
|
||||||
)
|
)
|
||||||
@@ -217,16 +311,22 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-interested-party-date-label"
|
"case:summary-interested-party-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatement"
|
"pinswg_otherpartiesstatement"
|
||||||
)
|
)
|
||||||
@@ -239,7 +339,7 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(
|
: _.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatements"
|
"pinswg_otherpartiesstatements"
|
||||||
)
|
)
|
||||||
@@ -252,16 +352,22 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-applicant-final-comments-date-label"
|
"case:summary-applicant-final-comments-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_finalcommentsduedate"
|
"pinswg_finalcommentsduedate"
|
||||||
)
|
)
|
||||||
@@ -274,14 +380,41 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
/>
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
/>
|
||||||
|
{/* <SummaryRow
|
||||||
|
label={t(
|
||||||
|
"case:summary-inquiry-evidence-date-label"
|
||||||
|
)}
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
? formatDates(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
/> */}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-event-date-label")}
|
label={t("case:summary-event-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_dateeventrequested"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_dateeventrequested
|
detailsObj.pinswg_dateeventrequested
|
||||||
)
|
)
|
||||||
@@ -291,14 +424,24 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-event-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_startdateoftheevent")
|
label={t(
|
||||||
|
"case:summary-start-event-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_startdateoftheevent"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_startdateoftheevent
|
detailsObj.pinswg_startdateoftheevent
|
||||||
)
|
)
|
||||||
@@ -308,13 +451,20 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-decision-date-label")}
|
label={t("case:summary-decision-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_casedecisiondate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_casedecisiondate
|
detailsObj.pinswg_casedecisiondate
|
||||||
)
|
)
|
||||||
@@ -324,8 +474,10 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</SummaryCard>
|
</SummaryCard>
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const Pinswg_ldpid = (props) => {
|
const Pinswg_ldpid = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -23,98 +21,160 @@ const Pinswg_ldpid = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-case-type-label")}
|
label={t("case:summary-case-type-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-lpa-label")}
|
label={t("case:summary-lpa-label")}
|
||||||
value={
|
|
||||||
<>
|
value={router.locale == "cy"
|
||||||
{getCaseLpaDisplayLines({
|
? jsonpath({
|
||||||
casesObj,
|
path:
|
||||||
detailsObj,
|
'$..[?(@ && @.value=="' +
|
||||||
locale: router.locale,
|
casesObj[
|
||||||
transLookup
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
}).map((name) => (
|
] +
|
||||||
<div key={name}>{name}</div>
|
'")].value_cy',
|
||||||
))}
|
json: transLookup,
|
||||||
</>
|
eval: true,
|
||||||
}
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t("case:summary-procedure-label")}
|
label={t("case:summary-procedure-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
|
||||||
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-type-of-event-label")}
|
label={t("case:summary-type-of-event-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{casesObj.numberofchildincidents > 0 && (
|
{casesObj.numberofchildincidents > 0 && (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-case-link-status-label")}
|
{t(
|
||||||
|
"case:summary-case-link-status-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, [
|
||||||
"numberofchildincidents"
|
"numberofchildincidents",
|
||||||
])
|
])
|
||||||
? casesObj.numberofchildincidents > 0
|
? casesObj.numberofchildincidents >
|
||||||
|
0
|
||||||
? t(
|
? t(
|
||||||
"case:summary-case-link-status-linked"
|
"case:summary-case-link-status-linked"
|
||||||
)
|
)
|
||||||
@@ -130,11 +190,14 @@ const Pinswg_ldpid = (props) => {
|
|||||||
{casesObj.numberofchildincidents > 0 ? (
|
{casesObj.numberofchildincidents > 0 ? (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-linked-cases-label")}
|
{t(
|
||||||
|
"case:summary-linked-cases-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{linkedCasesList(
|
{linkedCasesList(
|
||||||
props.currentView.linkedCaseReferences
|
props.currentView
|
||||||
|
.linkedCaseReferences
|
||||||
)}
|
)}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
@@ -150,34 +213,47 @@ const Pinswg_ldpid = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-start-date-label")}
|
label={t("case:summary-start-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_startdate")
|
value={_.has(detailsObj, "pinswg_startdate")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdate
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdate
|
detailsObj.pinswg_startdate
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(detailsObj, "pinswg_startdates")
|
: _.has(
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
detailsObj,
|
||||||
|
"pinswg_startdates"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdates
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdates
|
detailsObj.pinswg_startdates
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-questionnaire-due-date-label"
|
"case:summary-questionnaire-due-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_questionnaireduedate"
|
"pinswg_questionnaireduedate"
|
||||||
)
|
)
|
||||||
@@ -190,14 +266,25 @@ const Pinswg_ldpid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-statement-due-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
label={t(
|
||||||
|
"case:summary-statement-due-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_statementduedate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_statementduedate
|
detailsObj.pinswg_statementduedate
|
||||||
)
|
)
|
||||||
@@ -207,16 +294,22 @@ const Pinswg_ldpid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-interested-party-date-label"
|
"case:summary-interested-party-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatement"
|
"pinswg_otherpartiesstatement"
|
||||||
)
|
)
|
||||||
@@ -229,7 +322,7 @@ const Pinswg_ldpid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(
|
: _.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatements"
|
"pinswg_otherpartiesstatements"
|
||||||
)
|
)
|
||||||
@@ -242,16 +335,22 @@ const Pinswg_ldpid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-applicant-final-comments-date-label"
|
"case:summary-applicant-final-comments-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_finalcommentsduedate"
|
"pinswg_finalcommentsduedate"
|
||||||
)
|
)
|
||||||
@@ -264,14 +363,41 @@ const Pinswg_ldpid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
/>
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
/>
|
||||||
|
{/* <SummaryRow
|
||||||
|
label={t(
|
||||||
|
"case:summary-inquiry-evidence-date-label"
|
||||||
|
)}
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
? formatDates(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
/> */}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-event-date-label")}
|
label={t("case:summary-event-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_dateeventrequested"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_dateeventrequested
|
detailsObj.pinswg_dateeventrequested
|
||||||
)
|
)
|
||||||
@@ -281,14 +407,24 @@ const Pinswg_ldpid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-event-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_startdateofevent")
|
label={t(
|
||||||
|
"case:summary-start-event-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_startdateofevent"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_startdateofevent
|
detailsObj.pinswg_startdateofevent
|
||||||
)
|
)
|
||||||
@@ -298,13 +434,20 @@ const Pinswg_ldpid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-decision-date-label")}
|
label={t("case:summary-decision-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_casedecisiondate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_casedecisiondate
|
detailsObj.pinswg_casedecisiondate
|
||||||
)
|
)
|
||||||
@@ -314,8 +457,10 @@ const Pinswg_ldpid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</SummaryCard>
|
</SummaryCard>
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const Pinswg_listedbuildingandconservationrid = (props) => {
|
const Pinswg_listedbuildingandconservationrid = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -23,110 +21,177 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-case-type-label")}
|
label={t("case:summary-case-type-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-lpa-label")}
|
label={t("case:summary-lpa-label")}
|
||||||
value={
|
|
||||||
<>
|
value={router.locale == "cy"
|
||||||
{getCaseLpaDisplayLines({
|
? jsonpath({
|
||||||
casesObj,
|
path:
|
||||||
detailsObj,
|
'$..[?(@ && @.value=="' +
|
||||||
locale: router.locale,
|
casesObj[
|
||||||
transLookup
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
}).map((name) => (
|
] +
|
||||||
<div key={name}>{name}</div>
|
'")].value_cy',
|
||||||
))}
|
json: transLookup,
|
||||||
</>
|
eval: true,
|
||||||
}
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-eia-required-label")}
|
label={t("case:summary-eia-required-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_detailedeiascreeningrequiered@OData.Community.Display.V1.FormattedValue"
|
"pinswg_detailedeiascreeningrequiered@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
)
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_detailedeiascreeningrequiered@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-to-be-confirmed-label"
|
"case:summary-to-be-confirmed-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-procedure-label")}
|
label={t("case:summary-procedure-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-type-of-event-label")}
|
label={t("case:summary-type-of-event-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{casesObj.numberofchildincidents > 0 && (
|
{casesObj.numberofchildincidents > 0 && (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-case-link-status-label")}
|
{t(
|
||||||
|
"case:summary-case-link-status-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, [
|
||||||
"numberofchildincidents"
|
"numberofchildincidents",
|
||||||
])
|
])
|
||||||
? casesObj.numberofchildincidents > 0
|
? casesObj.numberofchildincidents >
|
||||||
|
0
|
||||||
? t(
|
? t(
|
||||||
"case:summary-case-link-status-linked"
|
"case:summary-case-link-status-linked"
|
||||||
)
|
)
|
||||||
@@ -142,11 +207,14 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
|||||||
{casesObj.numberofchildincidents > 0 ? (
|
{casesObj.numberofchildincidents > 0 ? (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-linked-cases-label")}
|
{t(
|
||||||
|
"case:summary-linked-cases-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{linkedCasesList(
|
{linkedCasesList(
|
||||||
props.currentView.linkedCaseReferences
|
props.currentView
|
||||||
|
.linkedCaseReferences
|
||||||
)}
|
)}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
@@ -162,34 +230,47 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-start-date-label")}
|
label={t("case:summary-start-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_startdate")
|
value={_.has(detailsObj, "pinswg_startdate")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdate
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdate
|
detailsObj.pinswg_startdate
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(detailsObj, "pinswg_startdates")
|
: _.has(
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
detailsObj,
|
||||||
|
"pinswg_startdates"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdates
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdates
|
detailsObj.pinswg_startdates
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-questionnaire-due-date-label"
|
"case:summary-questionnaire-due-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_questionnaireduedate"
|
"pinswg_questionnaireduedate"
|
||||||
)
|
)
|
||||||
@@ -202,14 +283,25 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-statement-due-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
label={t(
|
||||||
|
"case:summary-statement-due-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_statementduedate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_statementduedate
|
detailsObj.pinswg_statementduedate
|
||||||
)
|
)
|
||||||
@@ -219,16 +311,22 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-interested-party-date-label"
|
"case:summary-interested-party-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatement"
|
"pinswg_otherpartiesstatement"
|
||||||
)
|
)
|
||||||
@@ -241,7 +339,7 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(
|
: _.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatements"
|
"pinswg_otherpartiesstatements"
|
||||||
)
|
)
|
||||||
@@ -254,16 +352,22 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-applicant-final-comments-date-label"
|
"case:summary-applicant-final-comments-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_finalcommentsduedate"
|
"pinswg_finalcommentsduedate"
|
||||||
)
|
)
|
||||||
@@ -276,14 +380,41 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
/>
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
/>
|
||||||
|
{/* <SummaryRow
|
||||||
|
label={t(
|
||||||
|
"case:summary-inquiry-evidence-date-label"
|
||||||
|
)}
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
? formatDates(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
/> */}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-event-date-label")}
|
label={t("case:summary-event-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_dateeventrequested"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_dateeventrequested
|
detailsObj.pinswg_dateeventrequested
|
||||||
)
|
)
|
||||||
@@ -293,14 +424,24 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-event-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_starttimeofevent")
|
label={t(
|
||||||
|
"case:summary-start-event-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_starttimeofevent"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_starttimeofevent
|
detailsObj.pinswg_starttimeofevent
|
||||||
)
|
)
|
||||||
@@ -310,13 +451,20 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-decision-date-label")}
|
label={t("case:summary-decision-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_casedecisiondate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_casedecisiondate
|
detailsObj.pinswg_casedecisiondate
|
||||||
)
|
)
|
||||||
@@ -326,8 +474,10 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</SummaryCard>
|
</SummaryCard>
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const Pinswg_maintenanceoflands217id = (props) => {
|
const Pinswg_maintenanceoflands217id = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -23,110 +21,177 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-case-type-label")}
|
label={t("case:summary-case-type-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-lpa-label")}
|
label={t("case:summary-lpa-label")}
|
||||||
value={
|
|
||||||
<>
|
value={router.locale == "cy"
|
||||||
{getCaseLpaDisplayLines({
|
? jsonpath({
|
||||||
casesObj,
|
path:
|
||||||
detailsObj,
|
'$..[?(@ && @.value=="' +
|
||||||
locale: router.locale,
|
casesObj[
|
||||||
transLookup
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
}).map((name) => (
|
] +
|
||||||
<div key={name}>{name}</div>
|
'")].value_cy',
|
||||||
))}
|
json: transLookup,
|
||||||
</>
|
eval: true,
|
||||||
}
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-eia-required-label")}
|
label={t("case:summary-eia-required-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
)
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-to-be-confirmed-label"
|
"case:summary-to-be-confirmed-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-procedure-label")}
|
label={t("case:summary-procedure-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-type-of-event-label")}
|
label={t("case:summary-type-of-event-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{casesObj.numberofchildincidents > 0 && (
|
{casesObj.numberofchildincidents > 0 && (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-case-link-status-label")}
|
{t(
|
||||||
|
"case:summary-case-link-status-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, [
|
||||||
"numberofchildincidents"
|
"numberofchildincidents",
|
||||||
])
|
])
|
||||||
? casesObj.numberofchildincidents > 0
|
? casesObj.numberofchildincidents >
|
||||||
|
0
|
||||||
? t(
|
? t(
|
||||||
"case:summary-case-link-status-linked"
|
"case:summary-case-link-status-linked"
|
||||||
)
|
)
|
||||||
@@ -142,11 +207,14 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
|||||||
{casesObj.numberofchildincidents > 0 ? (
|
{casesObj.numberofchildincidents > 0 ? (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-linked-cases-label")}
|
{t(
|
||||||
|
"case:summary-linked-cases-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{linkedCasesList(
|
{linkedCasesList(
|
||||||
props.currentView.linkedCaseReferences
|
props.currentView
|
||||||
|
.linkedCaseReferences
|
||||||
)}
|
)}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
@@ -162,34 +230,47 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-start-date-label")}
|
label={t("case:summary-start-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_startdate")
|
value={_.has(detailsObj, "pinswg_startdate")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdate
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdate
|
detailsObj.pinswg_startdate
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(detailsObj, "pinswg_startdates")
|
: _.has(
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
detailsObj,
|
||||||
|
"pinswg_startdates"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdates
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdates
|
detailsObj.pinswg_startdates
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-questionnaire-due-date-label"
|
"case:summary-questionnaire-due-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_questionnaireduedate"
|
"pinswg_questionnaireduedate"
|
||||||
)
|
)
|
||||||
@@ -202,14 +283,25 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-statement-due-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
label={t(
|
||||||
|
"case:summary-statement-due-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_statementduedate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_statementduedate
|
detailsObj.pinswg_statementduedate
|
||||||
)
|
)
|
||||||
@@ -219,16 +311,22 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-interested-party-date-label"
|
"case:summary-interested-party-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatement"
|
"pinswg_otherpartiesstatement"
|
||||||
)
|
)
|
||||||
@@ -241,7 +339,7 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(
|
: _.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatements"
|
"pinswg_otherpartiesstatements"
|
||||||
)
|
)
|
||||||
@@ -254,16 +352,22 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-applicant-final-comments-date-label"
|
"case:summary-applicant-final-comments-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_finalcommentsduedate"
|
"pinswg_finalcommentsduedate"
|
||||||
)
|
)
|
||||||
@@ -276,14 +380,17 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
{/* <SummaryRow
|
{/* <SummaryRow
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-inquiry-evidence-date-label"
|
"case:summary-inquiry-evidence-date-label"
|
||||||
)}
|
)}
|
||||||
value={hasOwn(
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||||
)
|
)
|
||||||
@@ -301,9 +408,13 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
|||||||
)}
|
)}
|
||||||
/> */}
|
/> */}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-event-date-label")}
|
label={t("case:summary-event-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_dateeventrequested"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_dateeventrequested
|
detailsObj.pinswg_dateeventrequested
|
||||||
)
|
)
|
||||||
@@ -313,14 +424,24 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-event-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_startdateofevent")
|
label={t(
|
||||||
|
"case:summary-start-event-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_startdateofevent"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_startdateofevent
|
detailsObj.pinswg_startdateofevent
|
||||||
)
|
)
|
||||||
@@ -330,13 +451,20 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-decision-date-label")}
|
label={t("case:summary-decision-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_casedecisiondate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_casedecisiondate
|
detailsObj.pinswg_casedecisiondate
|
||||||
)
|
)
|
||||||
@@ -346,8 +474,10 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</SummaryCard>
|
</SummaryCard>
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const Pinswg_miscellaneouscasewordid = (props) => {
|
const Pinswg_miscellaneouscasewordid = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -23,110 +21,177 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-case-type-label")}
|
label={t("case:summary-case-type-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-lpa-label")}
|
label={t("case:summary-lpa-label")}
|
||||||
value={
|
|
||||||
<>
|
value={router.locale == "cy"
|
||||||
{getCaseLpaDisplayLines({
|
? jsonpath({
|
||||||
casesObj,
|
path:
|
||||||
detailsObj,
|
'$..[?(@ && @.value=="' +
|
||||||
locale: router.locale,
|
casesObj[
|
||||||
transLookup
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
}).map((name) => (
|
] +
|
||||||
<div key={name}>{name}</div>
|
'")].value_cy',
|
||||||
))}
|
json: transLookup,
|
||||||
</>
|
eval: true,
|
||||||
}
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-eia-required-label")}
|
label={t("case:summary-eia-required-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
)
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-to-be-confirmed-label"
|
"case:summary-to-be-confirmed-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-procedure-label")}
|
label={t("case:summary-procedure-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-type-of-event-label")}
|
label={t("case:summary-type-of-event-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{casesObj.numberofchildincidents > 0 && (
|
{casesObj.numberofchildincidents > 0 && (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-case-link-status-label")}
|
{t(
|
||||||
|
"case:summary-case-link-status-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, [
|
||||||
"numberofchildincidents"
|
"numberofchildincidents",
|
||||||
])
|
])
|
||||||
? casesObj.numberofchildincidents > 0
|
? casesObj.numberofchildincidents >
|
||||||
|
0
|
||||||
? t(
|
? t(
|
||||||
"case:summary-case-link-status-linked"
|
"case:summary-case-link-status-linked"
|
||||||
)
|
)
|
||||||
@@ -142,11 +207,14 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
|||||||
{casesObj.numberofchildincidents > 0 ? (
|
{casesObj.numberofchildincidents > 0 ? (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-linked-cases-label")}
|
{t(
|
||||||
|
"case:summary-linked-cases-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{linkedCasesList(
|
{linkedCasesList(
|
||||||
props.currentView.linkedCaseReferences
|
props.currentView
|
||||||
|
.linkedCaseReferences
|
||||||
)}
|
)}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
@@ -154,15 +222,32 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
|||||||
""
|
""
|
||||||
)}
|
)}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-case-relevant-authoritylabel"
|
"case:summary-case-relevant-authoritylabel"
|
||||||
)}
|
)}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj.pinswg_relevantauthorityname,
|
value={router.locale == "cy"
|
||||||
locale: router.locale,
|
? jsonpath({
|
||||||
translations: transLookup,
|
path:
|
||||||
fallbackValue: ""
|
'$..[?(@ && @.pinswg_lpa=="' +
|
||||||
})}
|
detailsObj.pinswg_relevantauthorityname +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true,
|
||||||
|
})
|
||||||
|
: jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.pinswg_lpa=="' +
|
||||||
|
detailsObj.pinswg_relevantauthorityname +
|
||||||
|
'")].value',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true,
|
||||||
|
}) ||
|
||||||
|
t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</SummaryCard>
|
</SummaryCard>
|
||||||
@@ -173,34 +258,47 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-start-date-label")}
|
label={t("case:summary-start-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_startdate")
|
value={_.has(detailsObj, "pinswg_startdate")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdate
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdate
|
detailsObj.pinswg_startdate
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(detailsObj, "pinswg_startdates")
|
: _.has(
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
detailsObj,
|
||||||
|
"pinswg_startdates"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdates
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdates
|
detailsObj.pinswg_startdates
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-questionnaire-due-date-label"
|
"case:summary-questionnaire-due-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_questionnaireduedate"
|
"pinswg_questionnaireduedate"
|
||||||
)
|
)
|
||||||
@@ -213,14 +311,25 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-statement-due-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
label={t(
|
||||||
|
"case:summary-statement-due-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_statementduedate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_statementduedate
|
detailsObj.pinswg_statementduedate
|
||||||
)
|
)
|
||||||
@@ -230,16 +339,22 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-interested-party-date-label"
|
"case:summary-interested-party-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatement"
|
"pinswg_otherpartiesstatement"
|
||||||
)
|
)
|
||||||
@@ -252,7 +367,7 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(
|
: _.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatements"
|
"pinswg_otherpartiesstatements"
|
||||||
)
|
)
|
||||||
@@ -265,16 +380,22 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-applicant-final-comments-date-label"
|
"case:summary-applicant-final-comments-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_finalcommentsduedate"
|
"pinswg_finalcommentsduedate"
|
||||||
)
|
)
|
||||||
@@ -287,14 +408,17 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
{/* <SummaryRow
|
{/* <SummaryRow
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-inquiry-evidence-date-label"
|
"case:summary-inquiry-evidence-date-label"
|
||||||
)}
|
)}
|
||||||
value={hasOwn(
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||||
)
|
)
|
||||||
@@ -312,9 +436,13 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
|||||||
)}
|
)}
|
||||||
/> */}
|
/> */}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-event-date-label")}
|
label={t("case:summary-event-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_dateeventrequested"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_dateeventrequested
|
detailsObj.pinswg_dateeventrequested
|
||||||
)
|
)
|
||||||
@@ -324,14 +452,24 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-event-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_startdateofevent")
|
label={t(
|
||||||
|
"case:summary-start-event-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_startdateofevent"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_startdateofevent
|
detailsObj.pinswg_startdateofevent
|
||||||
)
|
)
|
||||||
@@ -341,13 +479,20 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-decision-date-label")}
|
label={t("case:summary-decision-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_casedecisiondate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_casedecisiondate
|
detailsObj.pinswg_casedecisiondate
|
||||||
)
|
)
|
||||||
@@ -357,8 +502,10 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</SummaryCard>
|
</SummaryCard>
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const Pinswg_nonvalidationid = (props) => {
|
const Pinswg_nonvalidationid = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -23,64 +21,132 @@ const Pinswg_nonvalidationid = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-case-type-label")}
|
label={t("case:summary-case-type-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={
|
||||||
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
})}
|
|
||||||
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-lpa-label")}
|
label={t("case:summary-lpa-label")}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
<>
|
|
||||||
{getCaseLpaDisplayLines({
|
router.locale == "cy"
|
||||||
casesObj,
|
? jsonpath({
|
||||||
detailsObj,
|
path:
|
||||||
locale: router.locale,
|
'$..[?(@ && @.value=="' +
|
||||||
transLookup
|
casesObj[
|
||||||
}).map((name) => (
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
<div key={name}>{name}</div>
|
] +
|
||||||
))}
|
'")].value_cy',
|
||||||
</>
|
json: transLookup,
|
||||||
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
{/* <SummaryRow
|
||||||
|
label={t("case:summary-procedure-label")}
|
||||||
|
value={
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath({path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true,
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
}
|
||||||
|
/> */}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={
|
||||||
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
})}
|
|
||||||
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decisionissued@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decisionissued@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decisionissued@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
</dl>
|
</dl>
|
||||||
@@ -92,32 +158,55 @@ const Pinswg_nonvalidationid = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-start-date-label")}
|
label={t("case:summary-start-date-label")}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_validdate")
|
|
||||||
? !_.isEmpty(detailsObj.pinswg_validdate)
|
_.has(detailsObj, "pinswg_validdate")
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_validdate
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_validdate
|
detailsObj.pinswg_validdate
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(detailsObj, "pinswg_startdates")
|
: _.has(
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
detailsObj,
|
||||||
|
"pinswg_startdates"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdates
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdates
|
detailsObj.pinswg_startdates
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t("case:summary-decision-date-label")}
|
label={t("case:summary-decision-date-label")}
|
||||||
|
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_decisionissueddate")
|
|
||||||
|
|
||||||
|
_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_decisionissueddate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_decisionissueddate
|
detailsObj.pinswg_decisionissueddate
|
||||||
)
|
)
|
||||||
@@ -127,8 +216,14 @@ const Pinswg_nonvalidationid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</SummaryCard>
|
</SummaryCard>
|
||||||
|
|||||||
@@ -1,16 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import pickListLookup from "../../../data/picklistLookups.json";
|
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import {
|
|
||||||
getCaseLpaDisplayValue,
|
|
||||||
getCaseLpaDisplayLines
|
|
||||||
} from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
|
|
||||||
const Pinswg_planningappeals78id = (props) => {
|
const Pinswg_planningappeals78id = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -28,105 +22,186 @@ const Pinswg_planningappeals78id = (props) => {
|
|||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-case-type-label")}
|
label={t("case:summary-case-type-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
|
||||||
],
|
|
||||||
locale: router.locale,
|
|
||||||
translations: transLookup,
|
|
||||||
fallbackValue: t(
|
|
||||||
"case:summary-no-date-entered-label"
|
|
||||||
)
|
|
||||||
})}
|
|
||||||
/>
|
|
||||||
<SummaryRow
|
|
||||||
label={t("case:summary-lpa-label")}
|
|
||||||
value={
|
value={
|
||||||
<>
|
router.locale == "cy"
|
||||||
{getCaseLpaDisplayLines({
|
? jsonpath({
|
||||||
casesObj,
|
path:
|
||||||
detailsObj,
|
'$..[?(@ && @.value=="' +
|
||||||
locale: router.locale,
|
casesObj[
|
||||||
transLookup
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
}).map((name) => (
|
] +
|
||||||
<div key={name}>{name}</div>
|
'")].value_cy',
|
||||||
))}
|
json: transLookup,
|
||||||
</>
|
eval: true
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-no-date-entered-label")
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
label={t("case:summary-lpa-label")}
|
||||||
|
|
||||||
|
value={
|
||||||
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/>
|
||||||
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-eia-required-label")}
|
label={t("case:summary-eia-required-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={
|
||||||
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale: router.locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
|
||||||
"case:summary-to-be-confirmed-label"
|
|
||||||
)
|
)
|
||||||
})}
|
: detailsObj[
|
||||||
/>
|
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-to-be-confirmed-label")
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-procedure-label")}
|
label={t("case:summary-procedure-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
|
||||||
],
|
|
||||||
locale: router.locale,
|
|
||||||
translations: pickListLookup
|
|
||||||
})}
|
|
||||||
/>
|
|
||||||
|
|
||||||
|
value={
|
||||||
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-type-of-event-label")}
|
label={t("case:summary-type-of-event-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={
|
||||||
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale: router.locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)
|
||||||
})}
|
|
||||||
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={
|
||||||
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale: router.locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
"case:summary-no-date-entered-label"
|
})
|
||||||
)
|
: casesObj[
|
||||||
})}
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-no-date-entered-label")
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_dicision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_dicision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale: router.locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_dicision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-decision-date-label")}
|
label={t("case:summary-decision-date-label")}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
|
||||||
|
_.has(detailsObj, "pinswg_casedecisiondate")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_casedecisiondate
|
detailsObj.pinswg_casedecisiondate
|
||||||
)
|
)
|
||||||
@@ -137,7 +212,9 @@ const Pinswg_planningappeals78id = (props) => {
|
|||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t("case:summary-no-date-entered-label")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
{casesObj.numberofchildincidents > 0 && (
|
{casesObj.numberofchildincidents > 0 && (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
@@ -145,9 +222,7 @@ const Pinswg_planningappeals78id = (props) => {
|
|||||||
{t("case:summary-case-link-status-label")}
|
{t("case:summary-case-link-status-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, ["numberofchildincidents"])
|
||||||
"numberofchildincidents"
|
|
||||||
])
|
|
||||||
? casesObj.numberofchildincidents > 0
|
? casesObj.numberofchildincidents > 0
|
||||||
? t(
|
? t(
|
||||||
"case:summary-case-link-status-linked"
|
"case:summary-case-link-status-linked"
|
||||||
@@ -184,9 +259,12 @@ const Pinswg_planningappeals78id = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-start-date-label")}
|
label={t("case:summary-start-date-label")}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_startdate")
|
|
||||||
|
_.has(detailsObj, "pinswg_startdate")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdate
|
detailsObj.pinswg_startdate
|
||||||
@@ -194,7 +272,7 @@ const Pinswg_planningappeals78id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(detailsObj, "pinswg_startdates")
|
: _.has(detailsObj, "pinswg_startdates")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdates
|
detailsObj.pinswg_startdates
|
||||||
@@ -203,15 +281,21 @@ const Pinswg_planningappeals78id = (props) => {
|
|||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t("case:summary-no-date-entered-label")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t(
|
|
||||||
"case:summary-questionnaire-due-date-label"
|
|
||||||
)}
|
label={t("case:summary-questionnaire-due-date-label")}
|
||||||
|
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_questionnaireduedate"
|
"pinswg_questionnaireduedate"
|
||||||
)
|
)
|
||||||
@@ -225,15 +309,25 @@ const Pinswg_planningappeals78id = (props) => {
|
|||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t("case:summary-no-date-entered-label")
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-statement-interested-party-due-date-label"
|
"case:summary-statement-interested-party-due-date-label"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
|
||||||
|
|
||||||
|
_.has(detailsObj, "pinswg_statementduedate")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_statementduedate
|
detailsObj.pinswg_statementduedate
|
||||||
)
|
)
|
||||||
@@ -244,13 +338,60 @@ const Pinswg_planningappeals78id = (props) => {
|
|||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t("case:summary-no-date-entered-label")
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
{/* <SummaryRow
|
||||||
label={t("case:summary-final-comments-date-label")}
|
label={t(
|
||||||
|
"case:summary-interested-party-date-label"
|
||||||
|
)}
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_otherpartiesstatement"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_otherpartiesstatement
|
||||||
|
)
|
||||||
|
? formatDates(
|
||||||
|
detailsObj.pinswg_otherpartiesstatement
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
: _.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_otherpartiesstatements"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_otherpartiesstatements
|
||||||
|
)
|
||||||
|
? formatDates(
|
||||||
|
detailsObj.pinswg_otherpartiesstatements
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/> */}
|
||||||
|
|
||||||
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
|
label={t("case:summary-final-comments-date-label")}
|
||||||
|
|
||||||
|
|
||||||
|
value={
|
||||||
|
|
||||||
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_finalcommentsduedate"
|
"pinswg_finalcommentsduedate"
|
||||||
)
|
)
|
||||||
@@ -264,13 +405,67 @@ const Pinswg_planningappeals78id = (props) => {
|
|||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t("case:summary-no-date-entered-label")
|
||||||
}
|
|
||||||
/>
|
|
||||||
|
|
||||||
<SummaryRow
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/>
|
||||||
|
{/* <SummaryRow
|
||||||
|
label={t(
|
||||||
|
"case:summary-inquiry-evidence-date-label"
|
||||||
|
)}
|
||||||
|
value={
|
||||||
|
_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
? formatDates(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/> */}
|
||||||
|
{/* <SummaryRow
|
||||||
label={t("case:summary-event-date-label")}
|
label={t("case:summary-event-date-label")}
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_dateeventrequested"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_dateeventrequested
|
||||||
|
)
|
||||||
|
? formatDates(
|
||||||
|
detailsObj.pinswg_dateeventrequested
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/> */}
|
||||||
|
|
||||||
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
|
label={t("case:summary-event-date-label")}
|
||||||
|
|
||||||
|
|
||||||
|
value={
|
||||||
|
|
||||||
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_startdatetimeiftheevent"
|
"pinswg_startdatetimeiftheevent"
|
||||||
)
|
)
|
||||||
@@ -284,16 +479,23 @@ const Pinswg_planningappeals78id = (props) => {
|
|||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t("case:summary-no-date-entered-label")
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
{detailsObj.pinswg_typeofevent == 846040002 ||
|
{detailsObj.pinswg_typeofevent == 846040002 ||
|
||||||
detailsObj.pinswg_typeofevent == 846040007 ||
|
detailsObj.pinswg_typeofevent == 846040007 ||
|
||||||
detailsObj.pinswg_typeofevent == 846040012 ||
|
detailsObj.pinswg_typeofevent == 846040012 ||
|
||||||
detailsObj.pinswg_typeofevent == 846040009 ? (
|
detailsObj.pinswg_typeofevent == 846040009 ? (
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-start-event-time-label")}
|
label={t("case:summary-start-event-time-label")}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_startdatetimeiftheevent"
|
"pinswg_startdatetimeiftheevent"
|
||||||
)
|
)
|
||||||
@@ -310,7 +512,9 @@ const Pinswg_planningappeals78id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
""
|
""
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const Pinswg_planningconditionss73s79id = (props) => {
|
const Pinswg_planningconditionss73s79id = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -24,97 +22,174 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
|||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-case-type-label")}
|
label={t("case:summary-case-type-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
|
||||||
],
|
|
||||||
locale,
|
|
||||||
translations: transLookup,
|
|
||||||
fallbackValue: t(
|
|
||||||
"case:summary-no-date-entered-label"
|
|
||||||
)
|
|
||||||
})}
|
|
||||||
/>
|
|
||||||
<SummaryRow
|
|
||||||
label={t("case:summary-lpa-label")}
|
|
||||||
value={
|
value={
|
||||||
<>
|
router.locale == "cy"
|
||||||
{getCaseLpaDisplayLines({
|
? jsonpath({
|
||||||
casesObj,
|
path:
|
||||||
detailsObj,
|
'$..[?(@ && @.value=="' +
|
||||||
locale: router.locale,
|
casesObj[
|
||||||
transLookup
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
}).map((name) => (
|
] +
|
||||||
<div key={name}>{name}</div>
|
'")].value_cy',
|
||||||
))}
|
json: transLookup,
|
||||||
</>
|
eval: true
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-no-date-entered-label")
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
label={t("case:summary-lpa-label")}
|
||||||
|
|
||||||
|
value={
|
||||||
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/>
|
||||||
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-eia-required-label")}
|
label={t("case:summary-eia-required-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={
|
||||||
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_detailedeiascreeningrequiered@OData.Community.Display.V1.FormattedValue"
|
"pinswg_detailedeiascreeningrequiered@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
|
||||||
"case:summary-to-be-confirmed-label"
|
|
||||||
)
|
)
|
||||||
})}
|
: detailsObj[
|
||||||
|
"pinswg_detailedeiascreeningrequiered@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-to-be-confirmed-label")
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-procedure-label")}
|
label={t("case:summary-procedure-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={
|
||||||
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-type-of-event-label")}
|
label={t("case:summary-type-of-event-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={
|
||||||
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={
|
||||||
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
"case:summary-no-date-entered-label"
|
})
|
||||||
)
|
: casesObj[
|
||||||
})}
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t("case:summary-no-date-entered-label")
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{casesObj.numberofchildincidents > 0 && (
|
{casesObj.numberofchildincidents > 0 && (
|
||||||
@@ -123,9 +198,7 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
|||||||
{t("case:summary-case-link-status-label")}
|
{t("case:summary-case-link-status-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, ["numberofchildincidents"])
|
||||||
"numberofchildincidents"
|
|
||||||
])
|
|
||||||
? casesObj.numberofchildincidents > 0
|
? casesObj.numberofchildincidents > 0
|
||||||
? t(
|
? t(
|
||||||
"case:summary-case-link-status-linked"
|
"case:summary-case-link-status-linked"
|
||||||
@@ -162,9 +235,12 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-start-date-label")}
|
label={t("case:summary-start-date-label")}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_startdate")
|
|
||||||
|
_.has(detailsObj, "pinswg_startdate")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdate
|
detailsObj.pinswg_startdate
|
||||||
@@ -172,7 +248,7 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(detailsObj, "pinswg_startdates")
|
: _.has(detailsObj, "pinswg_startdates")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdates
|
detailsObj.pinswg_startdates
|
||||||
@@ -181,15 +257,21 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
|||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t("case:summary-no-date-entered-label")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t(
|
|
||||||
"case:summary-questionnaire-due-date-label"
|
|
||||||
)}
|
label={t("case:summary-questionnaire-due-date-label")}
|
||||||
|
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_questionnaireduedate"
|
"pinswg_questionnaireduedate"
|
||||||
)
|
)
|
||||||
@@ -203,13 +285,23 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
|||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t("case:summary-no-date-entered-label")
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t("case:summary-statement-due-date-label")}
|
label={t("case:summary-statement-due-date-label")}
|
||||||
|
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
|
||||||
|
|
||||||
|
_.has(detailsObj, "pinswg_statementduedate")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_statementduedate
|
detailsObj.pinswg_statementduedate
|
||||||
)
|
)
|
||||||
@@ -220,15 +312,23 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
|||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t("case:summary-no-date-entered-label")
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t(
|
|
||||||
"case:summary-interested-party-date-label"
|
|
||||||
)}
|
label={t("case:summary-interested-party-date-label")}
|
||||||
|
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatement"
|
"pinswg_otherpartiesstatement"
|
||||||
)
|
)
|
||||||
@@ -241,7 +341,7 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(
|
: _.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatements"
|
"pinswg_otherpartiesstatements"
|
||||||
)
|
)
|
||||||
@@ -255,15 +355,25 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
|||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t("case:summary-no-date-entered-label")
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-applicant-final-comments-date-label"
|
"case:summary-applicant-final-comments-date-label"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_finalcommentsduedate"
|
"pinswg_finalcommentsduedate"
|
||||||
)
|
)
|
||||||
@@ -277,13 +387,42 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
|||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t("case:summary-no-date-entered-label")
|
||||||
}
|
|
||||||
/>
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/>
|
||||||
|
{/* <SummaryRow
|
||||||
|
label={t(
|
||||||
|
"case:summary-inquiry-evidence-date-label"
|
||||||
|
)}
|
||||||
|
value={
|
||||||
|
_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
? formatDates(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/> */}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-event-date-label")}
|
label={t("case:summary-event-date-label")}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
|
||||||
|
_.has(detailsObj, "pinswg_dateeventrequested")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_dateeventrequested
|
detailsObj.pinswg_dateeventrequested
|
||||||
)
|
)
|
||||||
@@ -294,13 +433,21 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
|||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t("case:summary-no-date-entered-label")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t("case:summary-start-event-date-label")}
|
label={t("case:summary-start-event-date-label")}
|
||||||
|
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_startdateofevent")
|
|
||||||
|
|
||||||
|
_.has(detailsObj, "pinswg_startdateofevent")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_startdateofevent
|
detailsObj.pinswg_startdateofevent
|
||||||
)
|
)
|
||||||
@@ -311,12 +458,19 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
|||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t("case:summary-no-date-entered-label")
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-decision-date-label")}
|
label={t("case:summary-decision-date-label")}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
|
||||||
|
_.has(detailsObj, "pinswg_casedecisiondate")
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_casedecisiondate
|
detailsObj.pinswg_casedecisiondate
|
||||||
)
|
)
|
||||||
@@ -327,7 +481,9 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
|||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t("case:summary-no-date-entered-label")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</SummaryCard>
|
</SummaryCard>
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const Pinswg_planningobligationappeals106id = (props) => {
|
const Pinswg_planningobligationappeals106id = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -23,110 +21,177 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-case-type-label")}
|
label={t("case:summary-case-type-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-lpa-label")}
|
label={t("case:summary-lpa-label")}
|
||||||
value={
|
|
||||||
<>
|
value={router.locale == "cy"
|
||||||
{getCaseLpaDisplayLines({
|
? jsonpath({
|
||||||
casesObj,
|
path:
|
||||||
detailsObj,
|
'$..[?(@ && @.value=="' +
|
||||||
locale: router.locale,
|
casesObj[
|
||||||
transLookup
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
}).map((name) => (
|
] +
|
||||||
<div key={name}>{name}</div>
|
'")].value_cy',
|
||||||
))}
|
json: transLookup,
|
||||||
</>
|
eval: true,
|
||||||
}
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-eia-required-label")}
|
label={t("case:summary-eia-required-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
)
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-to-be-confirmed-label"
|
"case:summary-to-be-confirmed-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-procedure-label")}
|
label={t("case:summary-procedure-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-type-of-event-label")}
|
label={t("case:summary-type-of-event-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{casesObj.numberofchildincidents > 0 && (
|
{casesObj.numberofchildincidents > 0 && (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-case-link-status-label")}
|
{t(
|
||||||
|
"case:summary-case-link-status-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, [
|
||||||
"numberofchildincidents"
|
"numberofchildincidents",
|
||||||
])
|
])
|
||||||
? casesObj.numberofchildincidents > 0
|
? casesObj.numberofchildincidents >
|
||||||
|
0
|
||||||
? t(
|
? t(
|
||||||
"case:summary-case-link-status-linked"
|
"case:summary-case-link-status-linked"
|
||||||
)
|
)
|
||||||
@@ -142,11 +207,14 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
|||||||
{casesObj.numberofchildincidents > 0 ? (
|
{casesObj.numberofchildincidents > 0 ? (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-linked-cases-label")}
|
{t(
|
||||||
|
"case:summary-linked-cases-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{linkedCasesList(
|
{linkedCasesList(
|
||||||
props.currentView.linkedCaseReferences
|
props.currentView
|
||||||
|
.linkedCaseReferences
|
||||||
)}
|
)}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
@@ -162,34 +230,47 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-start-date-label")}
|
label={t("case:summary-start-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_startdate")
|
value={_.has(detailsObj, "pinswg_startdate")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdate
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdate
|
detailsObj.pinswg_startdate
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(detailsObj, "pinswg_startdates")
|
: _.has(
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
detailsObj,
|
||||||
|
"pinswg_startdates"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdates
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdates
|
detailsObj.pinswg_startdates
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-questionnaire-due-date-label"
|
"case:summary-questionnaire-due-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_questionnaireduedate"
|
"pinswg_questionnaireduedate"
|
||||||
)
|
)
|
||||||
@@ -202,14 +283,25 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-statement-due-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
label={t(
|
||||||
|
"case:summary-statement-due-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_statementduedate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_statementduedate
|
detailsObj.pinswg_statementduedate
|
||||||
)
|
)
|
||||||
@@ -219,16 +311,22 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-interested-party-date-label"
|
"case:summary-interested-party-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatement"
|
"pinswg_otherpartiesstatement"
|
||||||
)
|
)
|
||||||
@@ -241,7 +339,7 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(
|
: _.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatements"
|
"pinswg_otherpartiesstatements"
|
||||||
)
|
)
|
||||||
@@ -254,16 +352,22 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-applicant-final-comments-date-label"
|
"case:summary-applicant-final-comments-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_finalcommentsduedate"
|
"pinswg_finalcommentsduedate"
|
||||||
)
|
)
|
||||||
@@ -276,14 +380,17 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
{/* <SummaryRow
|
{/* <SummaryRow
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-inquiry-evidence-date-label"
|
"case:summary-inquiry-evidence-date-label"
|
||||||
)}
|
)}
|
||||||
value={hasOwn(
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||||
)
|
)
|
||||||
@@ -301,9 +408,13 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
|||||||
)}
|
)}
|
||||||
/> */}
|
/> */}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-event-date-label")}
|
label={t("case:summary-event-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_dateeventrequested"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_dateeventrequested
|
detailsObj.pinswg_dateeventrequested
|
||||||
)
|
)
|
||||||
@@ -313,14 +424,24 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-event-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_startdateoftheevent")
|
label={t(
|
||||||
|
"case:summary-start-event-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_startdateoftheevent"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_startdateoftheevent
|
detailsObj.pinswg_startdateoftheevent
|
||||||
)
|
)
|
||||||
@@ -330,13 +451,20 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-decision-date-label")}
|
label={t("case:summary-decision-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_casedecisiondate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_casedecisiondate
|
detailsObj.pinswg_casedecisiondate
|
||||||
)
|
)
|
||||||
@@ -346,8 +474,10 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</SummaryCard>
|
</SummaryCard>
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
|
|
||||||
const Pinswg_rowid = (props) => {
|
const Pinswg_rowid = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -23,123 +21,205 @@ const Pinswg_rowid = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-case-type-label")}
|
label={t("case:summary-case-type-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
|
||||||
})}
|
|
||||||
/>
|
|
||||||
|
|
||||||
<SummaryRow
|
|
||||||
label={t(
|
|
||||||
"case:summary-specialist-case-process-label"
|
|
||||||
)}
|
)}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
|
||||||
"pinswg_specialistcaseprocess@OData.Community.Display.V1.FormattedValue"
|
|
||||||
],
|
|
||||||
locale,
|
|
||||||
translations: transLookup,
|
|
||||||
fallbackValue: ""
|
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
|
label={"Specialist Case Process"}
|
||||||
|
|
||||||
|
|
||||||
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
|
"pinswg_specialistcaseprocess@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true,
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_specialistcaseprocess@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
|
|
||||||
|
/>
|
||||||
|
|
||||||
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t("case:summary-lpa-label")}
|
label={t("case:summary-lpa-label")}
|
||||||
value={
|
|
||||||
<>
|
|
||||||
{getCaseLpaDisplayLines({
|
value={router.locale == "cy"
|
||||||
casesObj,
|
? jsonpath({
|
||||||
detailsObj,
|
path:
|
||||||
locale: router.locale,
|
'$..[?(@ && @.value=="' +
|
||||||
transLookup
|
casesObj[
|
||||||
}).map((name) => (
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
<div key={name}>{name}</div>
|
] +
|
||||||
))}
|
'")].value_cy',
|
||||||
</>
|
json: transLookup,
|
||||||
}
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-eia-required-label")}
|
label={t("case:summary-eia-required-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
|
||||||
t("case:summary-to-be-confirmed-label")
|
|
||||||
)
|
)
|
||||||
})}
|
: detailsObj[
|
||||||
|
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
|
"case:summary-to-be-confirmed-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-procedure-label")}
|
label={t("case:summary-procedure-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-type-of-event-label")}
|
label={t("case:summary-type-of-event-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale: router.locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
t("case:summary-no-date-entered-label")
|
})
|
||||||
)
|
: casesObj[
|
||||||
})}
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale: router.locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{casesObj.numberofchildincidents > 0 && (
|
{casesObj.numberofchildincidents > 0 && (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-case-link-status-label")}
|
{t(
|
||||||
|
"case:summary-case-link-status-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, [
|
||||||
"numberofchildincidents"
|
"numberofchildincidents",
|
||||||
])
|
])
|
||||||
? casesObj.numberofchildincidents > 0
|
? casesObj.numberofchildincidents >
|
||||||
|
0
|
||||||
? t(
|
? t(
|
||||||
"case:summary-case-link-status-linked"
|
"case:summary-case-link-status-linked"
|
||||||
)
|
)
|
||||||
@@ -155,11 +235,14 @@ const Pinswg_rowid = (props) => {
|
|||||||
{casesObj.numberofchildincidents > 0 ? (
|
{casesObj.numberofchildincidents > 0 ? (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-linked-cases-label")}
|
{t(
|
||||||
|
"case:summary-linked-cases-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{linkedCasesList(
|
{linkedCasesList(
|
||||||
props.currentView.linkedCaseReferences
|
props.currentView
|
||||||
|
.linkedCaseReferences
|
||||||
)}
|
)}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
@@ -167,15 +250,32 @@ const Pinswg_rowid = (props) => {
|
|||||||
""
|
""
|
||||||
)}
|
)}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-case-relevant-authoritylabel"
|
"case:summary-case-relevant-authoritylabel"
|
||||||
)}
|
)}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj.pinswg_relevantauthorityname,
|
value={router.locale == "cy"
|
||||||
locale: router.locale,
|
? jsonpath({
|
||||||
translations: transLookup,
|
path:
|
||||||
fallbackValue: ""
|
'$..[?(@ && @.pinswg_lpa=="' +
|
||||||
})}
|
detailsObj.pinswg_relevantauthorityname +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true,
|
||||||
|
})
|
||||||
|
: jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.pinswg_lpa=="' +
|
||||||
|
detailsObj.pinswg_relevantauthorityname +
|
||||||
|
'")].value',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true,
|
||||||
|
}) ||
|
||||||
|
t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</SummaryCard>
|
</SummaryCard>
|
||||||
@@ -186,34 +286,47 @@ const Pinswg_rowid = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-start-date-label")}
|
label={t("case:summary-start-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_startdate")
|
value={_.has(detailsObj, "pinswg_startdate")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdate
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdate
|
detailsObj.pinswg_startdate
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(detailsObj, "pinswg_startdates")
|
: _.has(
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
detailsObj,
|
||||||
|
"pinswg_startdates"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdates
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdates
|
detailsObj.pinswg_startdates
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-questionnaire-due-date-label"
|
"case:summary-questionnaire-due-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_questionnaireduedate"
|
"pinswg_questionnaireduedate"
|
||||||
)
|
)
|
||||||
@@ -226,14 +339,25 @@ const Pinswg_rowid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-statement-due-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
label={t(
|
||||||
|
"case:summary-statement-due-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_statementduedate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_statementduedate
|
detailsObj.pinswg_statementduedate
|
||||||
)
|
)
|
||||||
@@ -243,16 +367,22 @@ const Pinswg_rowid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-interested-party-date-label"
|
"case:summary-interested-party-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatement"
|
"pinswg_otherpartiesstatement"
|
||||||
)
|
)
|
||||||
@@ -265,7 +395,7 @@ const Pinswg_rowid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(
|
: _.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatements"
|
"pinswg_otherpartiesstatements"
|
||||||
)
|
)
|
||||||
@@ -278,16 +408,22 @@ const Pinswg_rowid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-applicant-final-comments-date-label"
|
"case:summary-applicant-final-comments-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_finalcommentsduedate"
|
"pinswg_finalcommentsduedate"
|
||||||
)
|
)
|
||||||
@@ -300,14 +436,41 @@ const Pinswg_rowid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
/>
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
/>
|
||||||
|
{/* <SummaryRow
|
||||||
|
label={t(
|
||||||
|
"case:summary-inquiry-evidence-date-label"
|
||||||
|
)}
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
? formatDates(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
/> */}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-event-date-label")}
|
label={t("case:summary-event-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_dateeventrequested"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_dateeventrequested
|
detailsObj.pinswg_dateeventrequested
|
||||||
)
|
)
|
||||||
@@ -317,14 +480,24 @@ const Pinswg_rowid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-event-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_startdateoftheevent")
|
label={t(
|
||||||
|
"case:summary-start-event-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_startdateoftheevent"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_startdateoftheevent
|
detailsObj.pinswg_startdateoftheevent
|
||||||
)
|
)
|
||||||
@@ -334,13 +507,20 @@ const Pinswg_rowid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-decision-date-label")}
|
label={t("case:summary-decision-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_casedecisiondate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_casedecisiondate
|
detailsObj.pinswg_casedecisiondate
|
||||||
)
|
)
|
||||||
@@ -350,8 +530,10 @@ const Pinswg_rowid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</SummaryCard>
|
</SummaryCard>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -5,7 +5,6 @@ import { useRouter } from "next/router";
|
|||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const Pinswg_transportandworkactid = (props) => {
|
const Pinswg_transportandworkactid = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -63,53 +62,99 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
|
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t(
|
|
||||||
"case:summary-case-type-label"
|
label={t("case:summary-case-type-label")}
|
||||||
)}
|
|
||||||
value={resolveCrmDisplayValue({
|
value={
|
||||||
value: casesObj[
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale: router.locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
})}
|
|
||||||
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-eia-required-label"
|
"case:summary-eia-required-label"
|
||||||
)}
|
)}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={
|
||||||
|
|
||||||
|
router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale: router.locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
)
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-to-be-confirmed-label"
|
"case:summary-to-be-confirmed-label"
|
||||||
)
|
)
|
||||||
})}
|
|
||||||
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-case-recommendation-label"
|
"case:summary-case-recommendation-label"
|
||||||
)}
|
)}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj.pinswg_recommendation,
|
|
||||||
locale: router.locale,
|
value={
|
||||||
translations: transLookup,
|
|
||||||
fallbackValue: ""
|
|
||||||
})}
|
router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj.pinswg_recommendation +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true,
|
||||||
|
})
|
||||||
|
: detailsObj.pinswg_recommendation ||
|
||||||
|
t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
{detailsObj.pinswg_webaddress != null && (
|
{detailsObj.pinswg_webaddress != null && (
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-case-website-label"
|
"case:summary-case-website-label"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
|
|
||||||
router.locale == "cy"
|
router.locale == "cy"
|
||||||
? jsonpath({
|
? jsonpath({
|
||||||
path:
|
path:
|
||||||
@@ -117,13 +162,15 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
detailsObj.pinswg_webaddress +
|
detailsObj.pinswg_webaddress +
|
||||||
'")].value_cy',
|
'")].value_cy',
|
||||||
json: transLookup,
|
json: transLookup,
|
||||||
eval: true
|
eval: true,
|
||||||
})
|
})
|
||||||
: detailsObj.pinswg_webaddress ||
|
: detailsObj.pinswg_webaddress ||
|
||||||
t(
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</dl>
|
</dl>
|
||||||
@@ -138,11 +185,12 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
</h3>
|
</h3>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t(
|
|
||||||
"case:summary-event-date-label"
|
label={t("case:summary-event-date-label")}
|
||||||
)}
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_dateeventrequested"
|
"pinswg_dateeventrequested"
|
||||||
)
|
)
|
||||||
@@ -158,14 +206,19 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-decision-date-label"
|
"case:summary-decision-date-label"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_casedecisiondate"
|
"pinswg_casedecisiondate"
|
||||||
)
|
)
|
||||||
@@ -181,15 +234,23 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-application-accepted-as-valid"
|
"case:summary-application-accepted-as-valid"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_applicationacceptedasvalid"
|
"pinswg_applicationacceptedasvalid"
|
||||||
)
|
)
|
||||||
@@ -205,14 +266,21 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-application-rejected-as-invalid"
|
"case:summary-application-rejected-as-invalid"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_applicationrejectedasinvalid"
|
"pinswg_applicationrejectedasinvalid"
|
||||||
)
|
)
|
||||||
@@ -228,14 +296,19 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-confirm-request-to-vary-application"
|
"case:summary-confirm-request-to-vary-application"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_confirmrequesttovaryapplication"
|
"pinswg_confirmrequesttovaryapplication"
|
||||||
)
|
)
|
||||||
@@ -251,14 +324,19 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-date-of-decisions"
|
"case:summary-date-of-decisions"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_dateofdecision"
|
"pinswg_dateofdecision"
|
||||||
)
|
)
|
||||||
@@ -274,14 +352,19 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-date-of-request-to-vary"
|
"case:summary-date-of-request-to-vary"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_dateofrequesttovarytheapplication"
|
"pinswg_dateofrequesttovarytheapplication"
|
||||||
)
|
)
|
||||||
@@ -297,14 +380,19 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-date-of-submission-of-application"
|
"case:summary-date-of-submission-of-application"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_dateofsubmissionofapplication"
|
"pinswg_dateofsubmissionofapplication"
|
||||||
)
|
)
|
||||||
@@ -320,14 +408,19 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-date-project-published-to-website"
|
"case:summary-date-project-published-to-website"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_dateprojectpublishedonwebsite"
|
"pinswg_dateprojectpublishedonwebsite"
|
||||||
)
|
)
|
||||||
@@ -343,14 +436,19 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-deadline-for-submission-of-application"
|
"case:summary-deadline-for-submission-of-application"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_deadlineforsubmissionofapplication"
|
"pinswg_deadlineforsubmissionofapplication"
|
||||||
)
|
)
|
||||||
@@ -366,14 +464,19 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-end-of-representation-period"
|
"case:summary-end-of-representation-period"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_endofrepresentationperiod"
|
"pinswg_endofrepresentationperiod"
|
||||||
)
|
)
|
||||||
@@ -389,14 +492,19 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-inspector-report-submission-to-welsh-government"
|
"case:summary-inspector-report-submission-to-welsh-government"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_inspectorreportsubmittedtowelshgovernment"
|
"pinswg_inspectorreportsubmittedtowelshgovernment"
|
||||||
)
|
)
|
||||||
@@ -412,14 +520,19 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-procedure-confirmed"
|
"case:summary-procedure-confirmed"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_procedureconfirmed"
|
"pinswg_procedureconfirmed"
|
||||||
)
|
)
|
||||||
@@ -435,14 +548,19 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-reject-request-to-vary-application"
|
"case:summary-reject-request-to-vary-application"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_rejectrequesttovaryapplication"
|
"pinswg_rejectrequesttovaryapplication"
|
||||||
)
|
)
|
||||||
@@ -458,12 +576,17 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-report-due-by")}
|
label={t("case:summary-report-due-by")}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_reportdueby"
|
"pinswg_reportdueby"
|
||||||
)
|
)
|
||||||
@@ -479,14 +602,17 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t(
|
|
||||||
"case:summary-suspension-dates"
|
label={t("case:summary-suspension-dates")}
|
||||||
)}
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_suspensiondates"
|
"pinswg_suspensiondates"
|
||||||
)
|
)
|
||||||
@@ -502,14 +628,19 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-suspension-end-dates"
|
"case:summary-suspension-end-dates"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_suspensionenddates"
|
"pinswg_suspensionenddates"
|
||||||
)
|
)
|
||||||
@@ -525,14 +656,19 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-suspension-start-dates"
|
"case:summary-suspension-start-dates"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_suspensionstartdates"
|
"pinswg_suspensionstartdates"
|
||||||
)
|
)
|
||||||
@@ -548,14 +684,19 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-valid-notice-of-intention-to-submit-an-application"
|
"case:summary-valid-notice-of-intention-to-submit-an-application"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_validnoticeofintentiontosubmitanapplicati"
|
"pinswg_validnoticeofintentiontosubmitanapplicati"
|
||||||
)
|
)
|
||||||
@@ -571,12 +712,17 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-withdrawn-date")}
|
label={t("case:summary-withdrawn-date")}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_withdrawndate"
|
"pinswg_withdrawndate"
|
||||||
)
|
)
|
||||||
@@ -592,14 +738,19 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-written-acceptance-of-notice"
|
"case:summary-written-acceptance-of-notice"
|
||||||
)}
|
)}
|
||||||
|
|
||||||
value={
|
value={
|
||||||
hasOwn(
|
|
||||||
|
_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_writtenacceptanceofnotification"
|
"pinswg_writtenacceptanceofnotification"
|
||||||
)
|
)
|
||||||
@@ -615,7 +766,9 @@ const Pinswg_transportandworkactid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import transLookup from "../../../data/lookuptranslations.json";
|
import transLookup from "../../../data/lookuptranslations.json";
|
||||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
import SummaryCard from "../summary/components/SummaryCard";
|
import SummaryCard from "../summary/components/SummaryCard";
|
||||||
import SummaryRow from "../summary/components/SummaryRow";
|
import SummaryRow from "../summary/components/SummaryRow";
|
||||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const Pinswg_wayleaveid = (props) => {
|
const Pinswg_wayleaveid = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -23,110 +21,177 @@ const Pinswg_wayleaveid = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-case-type-label")}
|
label={t("case:summary-case-type-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-lpa-label")}
|
label={t("case:summary-lpa-label")}
|
||||||
value={
|
|
||||||
<>
|
value={router.locale == "cy"
|
||||||
{getCaseLpaDisplayLines({
|
? jsonpath({
|
||||||
casesObj,
|
path:
|
||||||
detailsObj,
|
'$..[?(@ && @.value=="' +
|
||||||
locale: router.locale,
|
casesObj[
|
||||||
transLookup
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
}).map((name) => (
|
] +
|
||||||
<div key={name}>{name}</div>
|
'")].value_cy',
|
||||||
))}
|
json: transLookup,
|
||||||
</>
|
eval: true,
|
||||||
}
|
})
|
||||||
|
: casesObj[
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-eia-required-label")}
|
label={t("case:summary-eia-required-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath(
|
||||||
|
'$..[?(@.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_detailedeiascreening@OData.Community.Display.V1.FormattedValue"
|
"pinswg_detailedeiascreening@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
transLookup
|
||||||
fallbackValue: t(
|
)
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_detailedeiascreening@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-to-be-confirmed-label"
|
"case:summary-to-be-confirmed-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-procedure-label")}
|
label={t("case:summary-procedure-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-type-of-event-label")}
|
label={t("case:summary-type-of-event-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: ""
|
eval: true,
|
||||||
})}
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-status-label")}
|
label={t("case:summary-status-label")}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: casesObj[
|
value={router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
casesObj[
|
||||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: casesObj[
|
||||||
|
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
/>
|
/>
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-decision-label")}
|
{t("case:summary-decision-label")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: detailsObj[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
detailsObj[
|
||||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup,
|
json: transLookup,
|
||||||
fallbackValue: t(
|
eval: true,
|
||||||
|
})
|
||||||
|
: detailsObj[
|
||||||
|
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] ||
|
||||||
|
t(
|
||||||
"case:summary-no-information-to-date-label"
|
"case:summary-no-information-to-date-label"
|
||||||
)
|
)}
|
||||||
})}
|
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
{/* <Link href="/">
|
||||||
|
<a>
|
||||||
|
{casesObj.caseDetails
|
||||||
|
.outcome_document || ""}
|
||||||
|
</a>
|
||||||
|
</Link> */}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
{casesObj.numberofchildincidents > 0 && (
|
{casesObj.numberofchildincidents > 0 && (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-case-link-status-label")}
|
{t(
|
||||||
|
"case:summary-case-link-status-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{hasOwn(casesObj, [
|
{_.has(casesObj, [
|
||||||
"numberofchildincidents"
|
"numberofchildincidents",
|
||||||
])
|
])
|
||||||
? casesObj.numberofchildincidents > 0
|
? casesObj.numberofchildincidents >
|
||||||
|
0
|
||||||
? t(
|
? t(
|
||||||
"case:summary-case-link-status-linked"
|
"case:summary-case-link-status-linked"
|
||||||
)
|
)
|
||||||
@@ -142,11 +207,14 @@ const Pinswg_wayleaveid = (props) => {
|
|||||||
{casesObj.numberofchildincidents > 0 ? (
|
{casesObj.numberofchildincidents > 0 ? (
|
||||||
<div className="govuk-summary-list__row">
|
<div className="govuk-summary-list__row">
|
||||||
<dt className="govuk-summary-list__key">
|
<dt className="govuk-summary-list__key">
|
||||||
{t("case:summary-linked-cases-label")}
|
{t(
|
||||||
|
"case:summary-linked-cases-label"
|
||||||
|
)}
|
||||||
</dt>
|
</dt>
|
||||||
<dd className="govuk-summary-list__value">
|
<dd className="govuk-summary-list__value">
|
||||||
{linkedCasesList(
|
{linkedCasesList(
|
||||||
props.currentView.linkedCaseReferences
|
props.currentView
|
||||||
|
.linkedCaseReferences
|
||||||
)}
|
)}
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
@@ -154,15 +222,32 @@ const Pinswg_wayleaveid = (props) => {
|
|||||||
""
|
""
|
||||||
)}
|
)}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-case-relevant-authoritylabel"
|
"case:summary-case-relevant-authoritylabel"
|
||||||
)}
|
)}
|
||||||
value={resolveCrmDisplayValue({
|
|
||||||
value: detailsObj.pinswg_relevantauthorityname,
|
value={router.locale == "cy"
|
||||||
locale: router.locale,
|
? jsonpath({
|
||||||
translations: transLookup,
|
path:
|
||||||
fallbackValue: ""
|
'$..[?(@ && @.pinswg_lpa=="' +
|
||||||
})}
|
detailsObj.pinswg_relevantauthorityname +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true,
|
||||||
|
})
|
||||||
|
: jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.pinswg_lpa=="' +
|
||||||
|
detailsObj.pinswg_relevantauthorityname +
|
||||||
|
'")].value',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true,
|
||||||
|
}) ||
|
||||||
|
t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</SummaryCard>
|
</SummaryCard>
|
||||||
@@ -173,34 +258,47 @@ const Pinswg_wayleaveid = (props) => {
|
|||||||
>
|
>
|
||||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-start-date-label")}
|
label={t("case:summary-start-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_startdate")
|
value={_.has(detailsObj, "pinswg_startdate")
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdate
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdate
|
detailsObj.pinswg_startdate
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(detailsObj, "pinswg_startdates")
|
: _.has(
|
||||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
detailsObj,
|
||||||
|
"pinswg_startdates"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_startdates
|
||||||
|
)
|
||||||
? formatDates(
|
? formatDates(
|
||||||
detailsObj.pinswg_startdates
|
detailsObj.pinswg_startdates
|
||||||
)
|
)
|
||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-questionnaire-due-date-label"
|
"case:summary-questionnaire-due-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_questionnaireduedate"
|
"pinswg_questionnaireduedate"
|
||||||
)
|
)
|
||||||
@@ -213,14 +311,25 @@ const Pinswg_wayleaveid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-statement-due-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
label={t(
|
||||||
|
"case:summary-statement-due-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_statementduedate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_statementduedate
|
detailsObj.pinswg_statementduedate
|
||||||
)
|
)
|
||||||
@@ -230,16 +339,22 @@ const Pinswg_wayleaveid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-interested-party-date-label"
|
"case:summary-interested-party-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatement"
|
"pinswg_otherpartiesstatement"
|
||||||
)
|
)
|
||||||
@@ -252,7 +367,7 @@ const Pinswg_wayleaveid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: hasOwn(
|
: _.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_otherpartiesstatements"
|
"pinswg_otherpartiesstatements"
|
||||||
)
|
)
|
||||||
@@ -265,16 +380,22 @@ const Pinswg_wayleaveid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
|
|
||||||
label={t(
|
label={t(
|
||||||
"case:summary-applicant-final-comments-date-label"
|
"case:summary-applicant-final-comments-date-label"
|
||||||
)}
|
)}
|
||||||
value={
|
|
||||||
hasOwn(
|
|
||||||
|
value={_.has(
|
||||||
detailsObj,
|
detailsObj,
|
||||||
"pinswg_finalcommentsduedate"
|
"pinswg_finalcommentsduedate"
|
||||||
)
|
)
|
||||||
@@ -287,14 +408,41 @@ const Pinswg_wayleaveid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
/>
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
/>
|
||||||
|
{/* <SummaryRow
|
||||||
|
label={t(
|
||||||
|
"case:summary-inquiry-evidence-date-label"
|
||||||
|
)}
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||||
|
)
|
||||||
|
? !_.isEmpty(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
? formatDates(
|
||||||
|
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)
|
||||||
|
: t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
/> */}
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-event-date-label")}
|
label={t("case:summary-event-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_dateeventrequested"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_dateeventrequested
|
detailsObj.pinswg_dateeventrequested
|
||||||
)
|
)
|
||||||
@@ -304,14 +452,24 @@ const Pinswg_wayleaveid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
label={t("case:summary-start-event-date-label")}
|
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_startdateofevent")
|
label={t(
|
||||||
|
"case:summary-start-event-date-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_startdateofevent"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_startdateofevent
|
detailsObj.pinswg_startdateofevent
|
||||||
)
|
)
|
||||||
@@ -321,13 +479,20 @@ const Pinswg_wayleaveid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
|
|
||||||
/>
|
/>
|
||||||
<SummaryRow
|
<SummaryRow
|
||||||
|
|
||||||
label={t("case:summary-decision-date-label")}
|
label={t("case:summary-decision-date-label")}
|
||||||
value={
|
|
||||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
value={_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_casedecisiondate"
|
||||||
|
)
|
||||||
? !_.isEmpty(
|
? !_.isEmpty(
|
||||||
detailsObj.pinswg_casedecisiondate
|
detailsObj.pinswg_casedecisiondate
|
||||||
)
|
)
|
||||||
@@ -337,8 +502,10 @@ const Pinswg_wayleaveid = (props) => {
|
|||||||
: t(
|
: t(
|
||||||
"case:summary-no-date-entered-label"
|
"case:summary-no-date-entered-label"
|
||||||
)
|
)
|
||||||
: t("case:summary-no-date-entered-label")
|
: t(
|
||||||
}
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</dl>
|
</dl>
|
||||||
</SummaryCard>
|
</SummaryCard>
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import { hasOwn } from "./utils";
|
|
||||||
|
|
||||||
const CRMError = (props) => {
|
const CRMError = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -10,7 +9,7 @@ const CRMError = (props) => {
|
|||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { locale } = router;
|
const { locale } = router;
|
||||||
|
|
||||||
const errorSwitch = hasOwn(props, "whichError")
|
const errorSwitch = _.has(props, "whichError")
|
||||||
? "LPAData"
|
? "LPAData"
|
||||||
: "searchResultsObj";
|
: "searchResultsObj";
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ import useTranslation from "next-translate/useTranslation";
|
|||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import CRMError from "./crmError";
|
import CRMError from "./crmError";
|
||||||
import DNSSearchResults from "./search/dnssearchresults";
|
import DNSSearchResults from "./search/dnssearchresults";
|
||||||
import { hasOwn } from "./utils";
|
|
||||||
|
|
||||||
export default function Search(props) {
|
export default function Search(props) {
|
||||||
const {
|
const {
|
||||||
@@ -12,14 +11,13 @@ export default function Search(props) {
|
|||||||
watchedCases,
|
watchedCases,
|
||||||
showMap,
|
showMap,
|
||||||
showLoginCheck,
|
showLoginCheck,
|
||||||
mapTarget
|
|
||||||
} = props;
|
} = props;
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { locale } = router;
|
const { locale } = router;
|
||||||
|
|
||||||
var hasError = hasOwn(searchResultsObj.searchResultsObj, "errorCode")
|
var hasError = _.has(searchResultsObj.searchResultsObj, "errorCode")
|
||||||
? true
|
? true
|
||||||
: false;
|
: false;
|
||||||
|
|
||||||
@@ -50,7 +48,6 @@ export default function Search(props) {
|
|||||||
watchedCases={watchedCases}
|
watchedCases={watchedCases}
|
||||||
showMap={showMap}
|
showMap={showMap}
|
||||||
showLoginCheck={showLoginCheck}
|
showLoginCheck={showLoginCheck}
|
||||||
mapTarget={mapTarget}
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import useTranslation from "next-translate/useTranslation";
|
|||||||
import { Field } from "redux-form";
|
import { Field } from "redux-form";
|
||||||
import { RenderDatePicker } from "./renderDatePicker";
|
import { RenderDatePicker } from "./renderDatePicker";
|
||||||
import { validateField } from "../validationUtils";
|
import { validateField } from "../validationUtils";
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const dateDiffInDays = (a, b) => {
|
const dateDiffInDays = (a, b) => {
|
||||||
const _MS_PER_DAY = 1000 * 60 * 60 * 24;
|
const _MS_PER_DAY = 1000 * 60 * 60 * 24;
|
||||||
@@ -32,7 +31,7 @@ export function DateFieldPicker(props) {
|
|||||||
const showIfHasParentShowValue =
|
const showIfHasParentShowValue =
|
||||||
parentField != false &&
|
parentField != false &&
|
||||||
!_.isEmpty(formProps[form]) &&
|
!_.isEmpty(formProps[form]) &&
|
||||||
hasOwn(formProps[form].values, parentField) &&
|
_.has(formProps[form].values, parentField) &&
|
||||||
formProps[form].values[parentField] == parentFieldShowOnValue;
|
formProps[form].values[parentField] == parentFieldShowOnValue;
|
||||||
|
|
||||||
const requiredMessage = t("newappeal:is-required-label");
|
const requiredMessage = t("newappeal:is-required-label");
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { Field } from "redux-form";
|
|||||||
import { RenderTextfield } from "./renderTextfield";
|
import { RenderTextfield } from "./renderTextfield";
|
||||||
import { RenderDecimalField } from "./renderDecimalField";
|
import { RenderDecimalField } from "./renderDecimalField";
|
||||||
import { validateField } from "../validationUtils";
|
import { validateField } from "../validationUtils";
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
const isVisibleByInclusion = ({
|
const isVisibleByInclusion = ({
|
||||||
parentField,
|
parentField,
|
||||||
form,
|
form,
|
||||||
@@ -14,7 +14,7 @@ const isVisibleByInclusion = ({
|
|||||||
}) =>
|
}) =>
|
||||||
parentField != false &&
|
parentField != false &&
|
||||||
!_.isEmpty(formProps[form]) &&
|
!_.isEmpty(formProps[form]) &&
|
||||||
hasOwn(formProps[form].values, parentField) &&
|
_.has(formProps[form].values, parentField) &&
|
||||||
parentFieldShowOnValue.indexOf(
|
parentFieldShowOnValue.indexOf(
|
||||||
formProps[form].values[parentField].toString()
|
formProps[form].values[parentField].toString()
|
||||||
) > -1;
|
) > -1;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import _ from "lodash";
|
|||||||
import { FieldArray, change } from "redux-form";
|
import { FieldArray, change } from "redux-form";
|
||||||
import { useDispatch } from "react-redux";
|
import { useDispatch } from "react-redux";
|
||||||
import { RenderSubFields } from "./renderSubFields";
|
import { RenderSubFields } from "./renderSubFields";
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
export const FieldArrayForm = (props) => {
|
export const FieldArrayForm = (props) => {
|
||||||
const {
|
const {
|
||||||
name,
|
name,
|
||||||
@@ -19,7 +19,7 @@ export const FieldArrayForm = (props) => {
|
|||||||
var showIfHasParentShowValue =
|
var showIfHasParentShowValue =
|
||||||
parentField != false &&
|
parentField != false &&
|
||||||
!_.isEmpty(formProps[form]) &&
|
!_.isEmpty(formProps[form]) &&
|
||||||
hasOwn(formProps[form].values, parentField) &&
|
_.has(formProps[form].values, parentField) &&
|
||||||
parentFieldShowOnValue.indexOf(
|
parentFieldShowOnValue.indexOf(
|
||||||
formProps[form].values[parentField].toString()
|
formProps[form].values[parentField].toString()
|
||||||
) > -1;
|
) > -1;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import useTranslation from "next-translate/useTranslation";
|
|||||||
import { Field } from "redux-form";
|
import { Field } from "redux-form";
|
||||||
import { RenderTextfield } from "./renderTextfield";
|
import { RenderTextfield } from "./renderTextfield";
|
||||||
import { validateField } from "../validationUtils";
|
import { validateField } from "../validationUtils";
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
const isVisibleByInclusion = ({
|
const isVisibleByInclusion = ({
|
||||||
parentField,
|
parentField,
|
||||||
form,
|
form,
|
||||||
@@ -13,7 +13,7 @@ const isVisibleByInclusion = ({
|
|||||||
}) =>
|
}) =>
|
||||||
parentField != false &&
|
parentField != false &&
|
||||||
!_.isEmpty(formProps[form]) &&
|
!_.isEmpty(formProps[form]) &&
|
||||||
hasOwn(formProps[form].values, parentField) &&
|
_.has(formProps[form].values, parentField) &&
|
||||||
parentFieldShowOnValue.indexOf(
|
parentFieldShowOnValue.indexOf(
|
||||||
formProps[form].values[parentField].toString()
|
formProps[form].values[parentField].toString()
|
||||||
) > -1;
|
) > -1;
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import useTranslation from "next-translate/useTranslation";
|
|||||||
import { Field } from "redux-form";
|
import { Field } from "redux-form";
|
||||||
import { RenderRadio } from "./renderRadio";
|
import { RenderRadio } from "./renderRadio";
|
||||||
import { validateField } from "../validationUtils";
|
import { validateField } from "../validationUtils";
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
const isVisibleByInclusion = ({
|
const isVisibleByInclusion = ({
|
||||||
parentField,
|
parentField,
|
||||||
@@ -14,7 +13,7 @@ const isVisibleByInclusion = ({
|
|||||||
}) =>
|
}) =>
|
||||||
parentField != false &&
|
parentField != false &&
|
||||||
!_.isEmpty(formProps[form]) &&
|
!_.isEmpty(formProps[form]) &&
|
||||||
hasOwn(formProps[form].values, parentField) &&
|
_.has(formProps[form].values, parentField) &&
|
||||||
parentFieldShowOnValue.indexOf(
|
parentFieldShowOnValue.indexOf(
|
||||||
formProps[form].values[parentField].toString()
|
formProps[form].values[parentField].toString()
|
||||||
) > -1;
|
) > -1;
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import useTranslation from "next-translate/useTranslation";
|
|||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import { Field } from "redux-form";
|
import { Field } from "redux-form";
|
||||||
import { RenderYesNo } from "./renderYesNo";
|
import { RenderYesNo } from "./renderYesNo";
|
||||||
import { hasOwn } from "../../utils";
|
|
||||||
|
|
||||||
export function YesNofield(props) {
|
export function YesNofield(props) {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
@@ -18,7 +17,7 @@ export function YesNofield(props) {
|
|||||||
const showIfHasParentShowValue =
|
const showIfHasParentShowValue =
|
||||||
parentField != false &&
|
parentField != false &&
|
||||||
!_.isEmpty(formProps[form]) &&
|
!_.isEmpty(formProps[form]) &&
|
||||||
hasOwn(formProps[form].values, parentField) &&
|
_.has(formProps[form].values, parentField) &&
|
||||||
parentFieldShowOnValue.indexOf(
|
parentFieldShowOnValue.indexOf(
|
||||||
formProps[form].values[parentField].toString()
|
formProps[form].values[parentField].toString()
|
||||||
) > -1;
|
) > -1;
|
||||||
@@ -37,7 +36,7 @@ export function YesNofield(props) {
|
|||||||
validate={[required]}
|
validate={[required]}
|
||||||
errorMsg={t("newappeal:select-an-option-label")}
|
errorMsg={t("newappeal:select-an-option-label")}
|
||||||
component={RenderYesNo}
|
component={RenderYesNo}
|
||||||
inline={hasOwn(props, "inline") ? props.inline : "true"}
|
inline={_.has(props, "inline") ? props.inline : "true"}
|
||||||
requiredDocumentLabel={props.requiredDocumentLabel}
|
requiredDocumentLabel={props.requiredDocumentLabel}
|
||||||
requiredDocumentValue={props.requiredDocumentValue}
|
requiredDocumentValue={props.requiredDocumentValue}
|
||||||
setDocumentsList={props.setDocumentsList}
|
setDocumentsList={props.setDocumentsList}
|
||||||
@@ -55,7 +54,7 @@ export function YesNofield(props) {
|
|||||||
validate={[required]}
|
validate={[required]}
|
||||||
errorMsg={t("newappeal:select-an-option-label")}
|
errorMsg={t("newappeal:select-an-option-label")}
|
||||||
component={RenderYesNo}
|
component={RenderYesNo}
|
||||||
inline={hasOwn(props, "inline") ? props.inline : "true"}
|
inline={_.has(props, "inline") ? props.inline : "true"}
|
||||||
requiredDocumentLabel={props.requiredDocumentLabel}
|
requiredDocumentLabel={props.requiredDocumentLabel}
|
||||||
requiredDocumentValue={props.requiredDocumentValue}
|
requiredDocumentValue={props.requiredDocumentValue}
|
||||||
setDocumentsList={props.setDocumentsList}
|
setDocumentsList={props.setDocumentsList}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import { hasOwn } from "../utils";
|
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import React, { useEffect } from "react";
|
import React, { useEffect } from "react";
|
||||||
@@ -41,7 +40,7 @@ const getValidationMessages = (t) => ({
|
|||||||
const hasParentFieldValue = ({ parentField, form, formProps }) =>
|
const hasParentFieldValue = ({ parentField, form, formProps }) =>
|
||||||
parentField != false &&
|
parentField != false &&
|
||||||
!_.isEmpty(formProps[form]) &&
|
!_.isEmpty(formProps[form]) &&
|
||||||
hasOwn(formProps[form].values, parentField);
|
_.has(formProps[form].values, parentField);
|
||||||
|
|
||||||
const isVisibleByEquality = ({
|
const isVisibleByEquality = ({
|
||||||
parentField,
|
parentField,
|
||||||
|
|||||||
+14
-27
@@ -108,7 +108,7 @@ export default function Footer(props) {
|
|||||||
>
|
>
|
||||||
<span className="vo_hidden">
|
<span className="vo_hidden">
|
||||||
{t(
|
{t(
|
||||||
"common:social-bar-share-via-link"
|
"common:social-bar-share-via-link",
|
||||||
)}{" "}
|
)}{" "}
|
||||||
</span>
|
</span>
|
||||||
Twitter
|
Twitter
|
||||||
@@ -186,37 +186,37 @@ export default function Footer(props) {
|
|||||||
<li className="govuk-footer__inline-list-item govuk-!-font-weight-bold govuk-!-margin-right-7">
|
<li className="govuk-footer__inline-list-item govuk-!-font-weight-bold govuk-!-margin-right-7">
|
||||||
<a
|
<a
|
||||||
href={t(
|
href={t(
|
||||||
"common:footer-guidance-link"
|
"common:footer-guidance-link",
|
||||||
)}
|
)}
|
||||||
className="nav-link"
|
className="nav-link"
|
||||||
>
|
>
|
||||||
{t(
|
{t(
|
||||||
"common:footer-guidance-link-label"
|
"common:footer-guidance-link-label",
|
||||||
)}
|
)}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li className="govuk-footer__inline-list-item govuk-!-font-weight-bold govuk-!-margin-right-7">
|
<li className="govuk-footer__inline-list-item govuk-!-font-weight-bold govuk-!-margin-right-7">
|
||||||
<a
|
<a
|
||||||
href={t(
|
href={t(
|
||||||
"common:footer-announcements-link"
|
"common:footer-announcements-link",
|
||||||
)}
|
)}
|
||||||
className="nav-link"
|
className="nav-link"
|
||||||
>
|
>
|
||||||
{t(
|
{t(
|
||||||
"common:footer-announcements-link-label"
|
"common:footer-announcements-link-label",
|
||||||
)}
|
)}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li className="govuk-footer__inline-list-item govuk-!-font-weight-bold">
|
<li className="govuk-footer__inline-list-item govuk-!-font-weight-bold">
|
||||||
<a
|
<a
|
||||||
href={t(
|
href={t(
|
||||||
"common:footer-contact-us-link"
|
"common:footer-contact-us-link",
|
||||||
)}
|
)}
|
||||||
className="govuk-footer__link"
|
className="govuk-footer__link"
|
||||||
id="aContactUs"
|
id="aContactUs"
|
||||||
>
|
>
|
||||||
{t(
|
{t(
|
||||||
"common:footer-contact-us-link-label"
|
"common:footer-contact-us-link-label",
|
||||||
)}
|
)}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
@@ -236,7 +236,7 @@ export default function Footer(props) {
|
|||||||
id="aAccessibility"
|
id="aAccessibility"
|
||||||
>
|
>
|
||||||
{t(
|
{t(
|
||||||
"common:footer-accessibility-link-label"
|
"common:footer-accessibility-link-label",
|
||||||
)}
|
)}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@@ -257,13 +257,13 @@ export default function Footer(props) {
|
|||||||
<li className="govuk-footer__inline-list-item">
|
<li className="govuk-footer__inline-list-item">
|
||||||
<a
|
<a
|
||||||
href={t(
|
href={t(
|
||||||
"common:footer-copyright-link"
|
"common:footer-copyright-link",
|
||||||
)}
|
)}
|
||||||
className="govuk-footer__link"
|
className="govuk-footer__link"
|
||||||
id="Access"
|
id="Access"
|
||||||
>
|
>
|
||||||
{t(
|
{t(
|
||||||
"common:footer-copyright-link-label"
|
"common:footer-copyright-link-label",
|
||||||
)}
|
)}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
@@ -271,13 +271,13 @@ export default function Footer(props) {
|
|||||||
<li className="govuk-footer__inline-list-item">
|
<li className="govuk-footer__inline-list-item">
|
||||||
<Link
|
<Link
|
||||||
href={t(
|
href={t(
|
||||||
"common:footer-privacy-link"
|
"common:footer-privacy-link",
|
||||||
)}
|
)}
|
||||||
id="aPrivacy"
|
id="aPrivacy"
|
||||||
className="govuk-footer__link"
|
className="govuk-footer__link"
|
||||||
>
|
>
|
||||||
{t(
|
{t(
|
||||||
"common:footer-privacy-link-label"
|
"common:footer-privacy-link-label",
|
||||||
)}
|
)}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@@ -285,26 +285,13 @@ export default function Footer(props) {
|
|||||||
<li className="govuk-footer__inline-list-item">
|
<li className="govuk-footer__inline-list-item">
|
||||||
<Link
|
<Link
|
||||||
href={t(
|
href={t(
|
||||||
"common:footer-terms-conditions-link"
|
"common:footer-terms-conditions-link",
|
||||||
)}
|
)}
|
||||||
id="aTermsConds"
|
id="aTermsConds"
|
||||||
className="govuk-footer__link"
|
className="govuk-footer__link"
|
||||||
>
|
>
|
||||||
{t(
|
{t(
|
||||||
"common:footer-terms-conditions-link-label"
|
"common:footer-terms-conditions-link-label",
|
||||||
)}
|
|
||||||
</Link>
|
|
||||||
</li>
|
|
||||||
<li className="govuk-footer__inline-list-item">
|
|
||||||
<Link
|
|
||||||
href={t(
|
|
||||||
"common:footer-pedw-use-ai-link"
|
|
||||||
)}
|
|
||||||
id="aHowToAI"
|
|
||||||
className="govuk-footer__link"
|
|
||||||
>
|
|
||||||
{t(
|
|
||||||
"common:footer-pedw-use-ai-label"
|
|
||||||
)}
|
)}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
+10
-2
@@ -7,7 +7,7 @@ import { connect } from "react-redux";
|
|||||||
import Banner from "../components/banner";
|
import Banner from "../components/banner";
|
||||||
import { setLogout } from "../store/accountDetails/action";
|
import { setLogout } from "../store/accountDetails/action";
|
||||||
|
|
||||||
import { performPortalSignOut } from "../lib/auth/sessionClient";
|
import { signOut } from "next-auth/react";
|
||||||
|
|
||||||
const Header = (props) => {
|
const Header = (props) => {
|
||||||
let { t, lang } = useTranslation();
|
let { t, lang } = useTranslation();
|
||||||
@@ -84,7 +84,15 @@ const Header = (props) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const handleLogout = () => {
|
const handleLogout = () => {
|
||||||
performPortalSignOut(locale);
|
console.info("////////////\n" + "logout" + "\n////////////");
|
||||||
|
(window.localStorage.clear(),
|
||||||
|
destroyCookie(null, "next-auth.csrf-token", { path: "/" }),
|
||||||
|
destroyCookie(null, "next-auth.callback-url", { path: "/" }),
|
||||||
|
destroyCookie(null, "pedw_locale", { path: "/" }),
|
||||||
|
destroyCookie(null, "pinsUser", { path: "/" }),
|
||||||
|
signOut({
|
||||||
|
callbackUrl: locale == "cy" ? "/cy/allgofnodi" : "/logout"
|
||||||
|
}));
|
||||||
};
|
};
|
||||||
|
|
||||||
//const switchLocale = locale === "en" ? "cy" : "en";
|
//const switchLocale = locale === "en" ? "cy" : "en";
|
||||||
|
|||||||
@@ -41,12 +41,12 @@ export default function Dns() {
|
|||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
<div className="govuk-form-group">
|
<div className="govuk-form-group">
|
||||||
<h3 className="heading-small card-heading">
|
<h3 className="heading-small card-heading">Contact us</h3>
|
||||||
{t("home:contact-us-heading")}
|
|
||||||
</h3>
|
|
||||||
<div className="govuk-form-group">
|
<div className="govuk-form-group">
|
||||||
<p className="govuk-body-s">
|
<p className="govuk-body-s">
|
||||||
{t("home:contact-us-paragraph")}
|
If you have any queries on an appeal, application or
|
||||||
|
anything else regarding Planning Caserwork you can
|
||||||
|
contact us.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="govuk-form-group">
|
<div className="govuk-form-group">
|
||||||
@@ -58,7 +58,7 @@ export default function Dns() {
|
|||||||
}
|
}
|
||||||
className="govuk-button govuk-button--secondary-cta"
|
className="govuk-button govuk-button--secondary-cta"
|
||||||
>
|
>
|
||||||
{t("home:contact-us-button")}
|
Contact us
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { he } from "date-fns/locale";
|
import { he } from "date-fns/locale";
|
||||||
import GoogleMapReact from "google-map-react";
|
import GoogleMapReact from "google-map-react";
|
||||||
const MapComponent = (props) => {
|
const GoogleMapComponent = (props) => {
|
||||||
const { center, zoom, locale, mapTarget } = props;
|
const { center, zoom } = props;
|
||||||
|
|
||||||
let data = [center];
|
let data = [center];
|
||||||
|
|
||||||
@@ -23,26 +23,60 @@ const MapComponent = (props) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// console.log(
|
||||||
|
// "https://datamap.gov.wales/maps/pedw-dev/embed?center=" +
|
||||||
|
// props.center.lng +
|
||||||
|
// "," +
|
||||||
|
// props.center.lat +
|
||||||
|
// "&zoom=12#/"
|
||||||
|
// );
|
||||||
return (
|
return (
|
||||||
|
// <GoogleMapReact
|
||||||
|
// options={function (maps) {
|
||||||
|
// return {
|
||||||
|
// overviewMapControl: true,
|
||||||
|
// mapTypeControl: true,
|
||||||
|
// };
|
||||||
|
// }}
|
||||||
|
// bootstrapURLKeys={{
|
||||||
|
// key: "AIzaSyCzeVrHt544bp_72YCFkw21eDsmI2JEsQo",
|
||||||
|
// }}
|
||||||
|
// defaultCenter={center}
|
||||||
|
// defaultZoom={zoom}
|
||||||
|
// yesIWantToUseGoogleMapApiInternals
|
||||||
|
// onGoogleApiLoaded={({ map, maps }) => ModelsMap(map, maps)}
|
||||||
|
// ></GoogleMapReact>
|
||||||
<>
|
<>
|
||||||
|
{" "}
|
||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
<div className="govuk-grid-column-full">
|
<div className="govuk-grid-column-full">
|
||||||
<a
|
<a
|
||||||
href={`https://${locale === "cy" ? "mapdata.llyw.cymru" : "datamap.gov.wales"}/maps/${mapTarget}/embed?center=${center.lng},${center.lat}&zoom=7#/`}
|
href={
|
||||||
|
"https://datamap.gov.wales/maps/pedw-dev/embed?center=" +
|
||||||
|
props.center.lng +
|
||||||
|
"," +
|
||||||
|
props.center.lat +
|
||||||
|
"&zoom=7#/"
|
||||||
|
}
|
||||||
rel="noreferrer noopener"
|
rel="noreferrer noopener"
|
||||||
className="govuk-link govuk-link--no-underline govuk-!-font-size-14 "
|
className="govuk-link govuk-link--no-underline govuk-!-font-size-14 "
|
||||||
target="_blank"
|
target="_blank"
|
||||||
>
|
>
|
||||||
{locale === "cy"
|
See this map on Datamap Wales
|
||||||
? "Gweler y map hwn ar Datamap Cymru"
|
|
||||||
: "See this map on Datamap Wales "}
|
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
<div className="govuk-grid-column-full">
|
<div className="govuk-grid-column-full">
|
||||||
<iframe
|
<iframe
|
||||||
src={`https://${locale === "cy" ? "mapdata.llyw.cymru" : "datamap.gov.wales"}/maps/${mapTarget}/embed?center=${center.lng},${center.lat}&zoom=7#/`}
|
src={
|
||||||
|
"https://datamap.gov.wales/maps/pedw-dev/embed?center=" +
|
||||||
|
props.center.lng +
|
||||||
|
"," +
|
||||||
|
props.center.lat +
|
||||||
|
"&zoom=7#/"
|
||||||
|
}
|
||||||
|
//src={"https://datamap.gov.wales/maps/pedw-dev/embed#/"}
|
||||||
width={"100%"}
|
width={"100%"}
|
||||||
style={{ maxHeight: "400px" }}
|
style={{ maxHeight: "400px" }}
|
||||||
height={"500px"}
|
height={"500px"}
|
||||||
@@ -54,4 +88,4 @@ const MapComponent = (props) => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default MapComponent;
|
export default GoogleMapComponent;
|
||||||
|
|||||||
+89
-11
@@ -2,9 +2,11 @@ import { signOut } from "next-auth/react";
|
|||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
|
import { destroyCookie } from "nookies";
|
||||||
import TimeOut from "../components/timeout";
|
import TimeOut from "../components/timeout";
|
||||||
import AwaitingSubmissionFromBlob from "./myportal/awaitingsubmissionfromblob";
|
import AwaitingSubmissionFromBlob from "./myportal/awaitingsubmissionfromblob";
|
||||||
import { hasOwn } from "./utils";
|
|
||||||
|
import _ from "lodash";
|
||||||
import Dns from "./myportal/dns";
|
import Dns from "./myportal/dns";
|
||||||
import MakeNewAppeal from "./myportal/makenewappeal";
|
import MakeNewAppeal from "./myportal/makenewappeal";
|
||||||
import MyCases from "./myportal/mycases";
|
import MyCases from "./myportal/mycases";
|
||||||
@@ -13,10 +15,8 @@ import SearchCases from "./myportal/searchcases";
|
|||||||
import WatchedCases from "./myportal/watchedcases";
|
import WatchedCases from "./myportal/watchedcases";
|
||||||
import MySubmittedReps from "./myportal/mysubmittedrepresentations";
|
import MySubmittedReps from "./myportal/mysubmittedrepresentations";
|
||||||
import ServiceBanner from "./myportal/servicebanner";
|
import ServiceBanner from "./myportal/servicebanner";
|
||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import transLookup from "../data/lookuptranslations.json";
|
import transLookup from "../data/lookuptranslations.json";
|
||||||
import { performPortalSignOut } from "../lib/auth/sessionClient";
|
|
||||||
import resolveCrmDisplayValue from "../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
import _ from "lodash";
|
|
||||||
|
|
||||||
const MyPortal = (props) => {
|
const MyPortal = (props) => {
|
||||||
const { showFileUpload, showLoginCheck, docsOffline } = props;
|
const { showFileUpload, showLoginCheck, docsOffline } = props;
|
||||||
@@ -26,7 +26,15 @@ const MyPortal = (props) => {
|
|||||||
const { locale } = router;
|
const { locale } = router;
|
||||||
|
|
||||||
const handleLogout = () => {
|
const handleLogout = () => {
|
||||||
performPortalSignOut({ locale, signOutFn: signOut });
|
console.info("////////////\n" + "logout" + "\n////////////");
|
||||||
|
(window.localStorage.clear(),
|
||||||
|
destroyCookie(null, "next-auth.csrf-token", { path: "/" }),
|
||||||
|
destroyCookie(null, "next-auth.callback-url", { path: "/" }),
|
||||||
|
destroyCookie(null, "pedw_locale", { path: "/" }),
|
||||||
|
destroyCookie(null, "pinsUser", { path: "/" }),
|
||||||
|
signOut({
|
||||||
|
callbackUrl: locale == "cy" ? "/cy/allgofnodi" : "/logout"
|
||||||
|
}));
|
||||||
};
|
};
|
||||||
|
|
||||||
const isLPA =
|
const isLPA =
|
||||||
@@ -39,17 +47,78 @@ const MyPortal = (props) => {
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<main className="" id="main-content" role="main">
|
<main className="" id="main-content" role="main">
|
||||||
|
{/* <div className="servicebanner myportal govuk-!-margin-bottom-4">
|
||||||
|
<h1>
|
||||||
|
<img
|
||||||
|
src={
|
||||||
|
router.locale == "cy"
|
||||||
|
? "/assets/images/planning-casework-cy.svg"
|
||||||
|
: "/assets/images/planning-casework-en.svg"
|
||||||
|
}
|
||||||
|
alt={
|
||||||
|
router.locale == "cy"
|
||||||
|
? "Fy mhorth"
|
||||||
|
: "My Portal"
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div className="serviceBanner_userDetails">
|
||||||
|
<img
|
||||||
|
className="user_logo"
|
||||||
|
src="/assets/images/user.svg"
|
||||||
|
alt={router.locale == "cy" ? "Defnyddiwr" : "User"}
|
||||||
|
/>{" "}
|
||||||
|
<div className="serviceBanner_userDetails_name">
|
||||||
|
<Link
|
||||||
|
href="/account/personaldetails"
|
||||||
|
className="govuk-button-secondary"
|
||||||
|
>
|
||||||
|
{props.accountDetails.accountDetails.firstname}{" "}
|
||||||
|
{props.accountDetails.accountDetails.lastname}
|
||||||
|
{" - "}
|
||||||
|
{
|
||||||
|
props.accountDetails.accountDetails[
|
||||||
|
"pinswg_typeofinvolvement@OData.Community.Display.V1.FormattedValue"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<Link
|
||||||
|
href={
|
||||||
|
router.locale == "cy"
|
||||||
|
? "/allgofnodi"
|
||||||
|
: "/logout"
|
||||||
|
}
|
||||||
|
onClick={() => {
|
||||||
|
handleLogout();
|
||||||
|
}}
|
||||||
|
className="govuk-header__link "
|
||||||
|
>
|
||||||
|
{t("common:signout-label")}
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div> */}
|
||||||
<ServiceBanner props={props} />
|
<ServiceBanner props={props} />
|
||||||
{isLPA && (
|
{isLPA && (
|
||||||
<div>
|
<div>
|
||||||
<h2 className="heading-small card-heading">
|
<h2 className="heading-small card-heading">
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: props.accountDetails.accountDetails[
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
props.accountDetails.accountDetails[
|
||||||
"pinswg_contact_associatedlpa@OData.Community.Display.V1.FormattedValue"
|
"pinswg_contact_associatedlpa@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup
|
json: transLookup,
|
||||||
})}{" "}
|
eval: true
|
||||||
|
})
|
||||||
|
: props.accountDetails.accountDetails[
|
||||||
|
"pinswg_contact_associatedlpa@OData.Community.Display.V1.FormattedValue"
|
||||||
|
]}{" "}
|
||||||
{t("myportal:lpa-portal-heading")}
|
{t("myportal:lpa-portal-heading")}
|
||||||
</h2>
|
</h2>
|
||||||
</div>
|
</div>
|
||||||
@@ -61,6 +130,15 @@ const MyPortal = (props) => {
|
|||||||
{!isLPA && (
|
{!isLPA && (
|
||||||
<MakeNewAppeal docsOffline={docsOffline} />
|
<MakeNewAppeal docsOffline={docsOffline} />
|
||||||
)}
|
)}
|
||||||
|
{/* {props.awaitingSubmission.awaitingSubmission[
|
||||||
|
"@odata.count"
|
||||||
|
] > 0 && (
|
||||||
|
<AwaitingSubmission
|
||||||
|
awaitingSubmission={
|
||||||
|
props.awaitingSubmission
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
)} */}
|
||||||
|
|
||||||
{!isLPA &&
|
{!isLPA &&
|
||||||
_.has(props.awaitingSubmission, [
|
_.has(props.awaitingSubmission, [
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
import { Field, formValueSelector, reduxForm } from "redux-form";
|
import { Field, formValueSelector, reduxForm } from "redux-form";
|
||||||
|
|
||||||
import transLookup from "../../data/lookuptranslations.json";
|
import transLookup from "../../data/lookuptranslations.json";
|
||||||
import resolveCrmDisplayValue from "../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
|
|
||||||
const required = (errorMsg) => (value) =>
|
const required = (errorMsg) => (value) =>
|
||||||
value || typeof value === "number" ? undefined : errorMsg;
|
value || typeof value === "number" ? undefined : errorMsg;
|
||||||
@@ -133,11 +133,22 @@ let AdvancedSearch = (props) => {
|
|||||||
key={key}
|
key={key}
|
||||||
value={optionsObj[key].accountid}
|
value={optionsObj[key].accountid}
|
||||||
>
|
>
|
||||||
{resolveCrmDisplayValue({
|
{/* {optionsObj[key].name} */}
|
||||||
value: optionsObj[key].name,
|
|
||||||
locale,
|
{router.locale == "cy"
|
||||||
translations: transLookup
|
? jsonpath({
|
||||||
})}
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
optionsObj[key]
|
||||||
|
.name +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true
|
||||||
|
})
|
||||||
|
: optionsObj[key].name ||
|
||||||
|
t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
</option>
|
</option>
|
||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
@@ -223,11 +234,31 @@ let AdvancedSearch = (props) => {
|
|||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
{resolveCrmDisplayValue({
|
{_.isEmpty(optionsObj[key])
|
||||||
value: optionsObj[key].value,
|
? ""
|
||||||
locale,
|
: _.isEmpty(optionsObj[key])
|
||||||
translations: transLookup
|
? ""
|
||||||
})}
|
: _.isEmpty(
|
||||||
|
optionsObj[key]
|
||||||
|
.value
|
||||||
|
)
|
||||||
|
? ""
|
||||||
|
: router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
optionsObj[
|
||||||
|
key
|
||||||
|
].value +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true
|
||||||
|
})
|
||||||
|
: optionsObj[key]
|
||||||
|
.value ||
|
||||||
|
t(
|
||||||
|
"case:summary-no-date-entered-label"
|
||||||
|
)}
|
||||||
</option>
|
</option>
|
||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
@@ -17,7 +18,6 @@ import {
|
|||||||
setCurrentReference,
|
setCurrentReference,
|
||||||
setCurrentView
|
setCurrentView
|
||||||
} from "../../store/currentView/action";
|
} from "../../store/currentView/action";
|
||||||
import { resolveCrmDisplayValue } from "../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
|
|
||||||
const AwaitingSubmissionFromBlob = (props) => {
|
const AwaitingSubmissionFromBlob = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -201,14 +201,22 @@ const AwaitingSubmissionFromBlob = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
<div className="cardModuleReference">
|
<div className="cardModuleReference">
|
||||||
<b>{t("myportal:appeal-type-label")}:</b>{" "}
|
<b>{t("myportal:appeal-type-label")}:</b>{" "}
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: getFormCollectionByID(
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
getFormCollectionByID(
|
||||||
showTopThreeArr[key]
|
showTopThreeArr[key]
|
||||||
.pinswg_appealcasetype
|
.pinswg_appealcasetype
|
||||||
).value,
|
).value +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup
|
json: transLookup,
|
||||||
})}
|
eval: true
|
||||||
|
})
|
||||||
|
: getFormCollectionByID(
|
||||||
|
showTopThreeArr[key]
|
||||||
|
.pinswg_appealcasetype
|
||||||
|
).value || ""}
|
||||||
</div>
|
</div>
|
||||||
<div className="cardModuleReference">
|
<div className="cardModuleReference">
|
||||||
<b>{t("myportal:case-address")}:</b>{" "}
|
<b>{t("myportal:case-address")}:</b>{" "}
|
||||||
@@ -294,14 +302,20 @@ const AwaitingSubmissionFromBlob = (props) => {
|
|||||||
{router.locale == "cy" ? "ACLl" : "LPA"}
|
{router.locale == "cy" ? "ACLl" : "LPA"}
|
||||||
:
|
:
|
||||||
</b>
|
</b>
|
||||||
|
{router.locale == "cy"
|
||||||
{resolveCrmDisplayValue({
|
? jsonpath({
|
||||||
value: showTopThreeArr[key][
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
showTopThreeArr[key][
|
||||||
"pinswg_lpaname"
|
"pinswg_lpaname"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup
|
json: transLookup,
|
||||||
})}
|
eval: true
|
||||||
|
})
|
||||||
|
: showTopThreeArr[key][
|
||||||
|
"pinswg_lpaname"
|
||||||
|
] || ""}
|
||||||
</div>
|
</div>
|
||||||
<div className="cardModuleReference">
|
<div className="cardModuleReference">
|
||||||
<b>{t("myportal:date-raised")}:</b>
|
<b>{t("myportal:date-raised")}:</b>
|
||||||
@@ -339,8 +353,8 @@ const AwaitingSubmissionFromBlob = (props) => {
|
|||||||
<h3 className="heading-small card-heading">
|
<h3 className="heading-small card-heading">
|
||||||
{t("myportal:awatitingsubmission-card-title")}
|
{t("myportal:awatitingsubmission-card-title")}
|
||||||
</h3>
|
</h3>
|
||||||
<TopThreeRow />
|
|
||||||
|
|
||||||
|
<TopThreeRow />
|
||||||
{props.awaitingSubmissionFromBlob["@odata.count"] > 1 && (
|
{props.awaitingSubmissionFromBlob["@odata.count"] > 1 && (
|
||||||
<div className="cardVieAll">
|
<div className="cardVieAll">
|
||||||
<Link
|
<Link
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ const MyRepresentations = (props) => {
|
|||||||
onClick={() => {
|
onClick={() => {
|
||||||
setCurrentView({
|
setCurrentView({
|
||||||
"viewName": "My Representations",
|
"viewName": "My Representations",
|
||||||
"viewKey": "myRepresentations"
|
"viewKey": "myRepresentations",
|
||||||
});
|
});
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
@@ -65,7 +65,7 @@ const mapDispatchToProps = (dispatch) => {
|
|||||||
return {
|
return {
|
||||||
setCurrentView: (currentView) => {
|
setCurrentView: (currentView) => {
|
||||||
dispatch(setCurrentView(currentView));
|
dispatch(setCurrentView(currentView));
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ const MyRepresentations = (props) => {
|
|||||||
onClick={() => {
|
onClick={() => {
|
||||||
setCurrentView({
|
setCurrentView({
|
||||||
"viewName": "My Representations",
|
"viewName": "My Representations",
|
||||||
"viewKey": "myRepresentations"
|
"viewKey": "myRepresentations",
|
||||||
});
|
});
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
@@ -64,7 +64,7 @@ const mapDispatchToProps = (dispatch) => {
|
|||||||
return {
|
return {
|
||||||
setCurrentView: (currentView) => {
|
setCurrentView: (currentView) => {
|
||||||
dispatch(setCurrentView(currentView));
|
dispatch(setCurrentView(currentView));
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import router from "next/router";
|
import router from "next/router";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { performPortalSignOut } from "../../lib/auth/sessionClient";
|
import { destroyCookie } from "nookies";
|
||||||
|
import { signOut } from "next-auth/react";
|
||||||
|
|
||||||
const ServiceBanner = (props) => {
|
const ServiceBanner = (props) => {
|
||||||
props = props.props;
|
props = props.props;
|
||||||
@@ -18,14 +19,23 @@ const ServiceBanner = (props) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleLogout = (locale) => {
|
const handleLogout = (locale) => {
|
||||||
performPortalSignOut(locale);
|
console.info("////////////\n" + "logout" + "\n////////////");
|
||||||
|
window.localStorage.clear(),
|
||||||
|
destroyCookie(null, "next-auth.csrf-token"),
|
||||||
|
{ path: "/" },
|
||||||
|
destroyCookie(null, "next-auth.callback-url", { path: "/" }),
|
||||||
|
destroyCookie(null, "pedw_locale", { path: "/" }),
|
||||||
|
destroyCookie(null, "pinsUser", { path: "/" }),
|
||||||
|
signOut({
|
||||||
|
callbackUrl: locale == "cy" ? "/cy/allgofnodi" : "/logout",
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const portalLogoLink = [
|
const portalLogoLink = [
|
||||||
"/myportal/[appealtypes]",
|
"/myportal/[appealtypes]",
|
||||||
"/newappeal",
|
"/newappeal",
|
||||||
"/newappeal/[appealtypes]",
|
"/newappeal/[appealtypes]",
|
||||||
"/myportal/representation"
|
"/myportal/representation",
|
||||||
];
|
];
|
||||||
return (
|
return (
|
||||||
<div className="servicebanner myportal govuk-!-margin-bottom-4">
|
<div className="servicebanner myportal govuk-!-margin-bottom-4">
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
@@ -11,7 +12,6 @@ import {
|
|||||||
getPortalModuleDetailsProxy,
|
getPortalModuleDetailsProxy,
|
||||||
getWatchedCasesProxy
|
getWatchedCasesProxy
|
||||||
} from "../../actions/services/portalService";
|
} from "../../actions/services/portalService";
|
||||||
import { splitWatchedCasesBySubmissionState } from "../../lib/domain/dashboard-policy";
|
|
||||||
import { getFormCollectionByID, getDetailsProxy } from "../../components/utils";
|
import { getFormCollectionByID, getDetailsProxy } from "../../components/utils";
|
||||||
import transLookup from "../../data/lookuptranslations.json";
|
import transLookup from "../../data/lookuptranslations.json";
|
||||||
import {
|
import {
|
||||||
@@ -32,7 +32,6 @@ import { planningappeals78_pdf } from "../../components/pdftemplates/planningapp
|
|||||||
import { other_pdf } from "../../components/pdftemplates/other_pdf";
|
import { other_pdf } from "../../components/pdftemplates/other_pdf";
|
||||||
|
|
||||||
import { PDFDownloadLink, pdf } from "@react-pdf/renderer";
|
import { PDFDownloadLink, pdf } from "@react-pdf/renderer";
|
||||||
import resolveCrmDisplayValue from "../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
|
|
||||||
const TopThree = (props) => {
|
const TopThree = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -123,10 +122,21 @@ const TopThree = (props) => {
|
|||||||
getWatchedCasesProxy(
|
getWatchedCasesProxy(
|
||||||
props.accountDetails.loggedinUserId
|
props.accountDetails.loggedinUserId
|
||||||
).then((data) => {
|
).then((data) => {
|
||||||
let filteredWatchedCases =
|
let showWatchedCases = (submittedArr) => {
|
||||||
splitWatchedCasesBySubmissionState(
|
const required = submittedArr.value.filter((el) => {
|
||||||
data.value
|
return (
|
||||||
).watchedCases;
|
el.pinswg_representationsubmitted == null
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
let newObj = {};
|
||||||
|
return Object.assign(newObj, {
|
||||||
|
"@odata.count": required.length,
|
||||||
|
"value": required
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
let filteredWatchedCases = showWatchedCases(data);
|
||||||
|
|
||||||
(setWatchedCases(filteredWatchedCases),
|
(setWatchedCases(filteredWatchedCases),
|
||||||
getDetailsProxy(
|
getDetailsProxy(
|
||||||
@@ -304,8 +314,6 @@ const TopThree = (props) => {
|
|||||||
]
|
]
|
||||||
),
|
),
|
||||||
setCurrentReference({
|
setCurrentReference({
|
||||||
"statuscode":
|
|
||||||
showTopThreeArr[key].statuscode,
|
|
||||||
"ticketnumber":
|
"ticketnumber":
|
||||||
showTopThreeArr[key]
|
showTopThreeArr[key]
|
||||||
.ticketnumber,
|
.ticketnumber,
|
||||||
@@ -406,13 +414,20 @@ const TopThree = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
<div className="cardModuleReference">
|
<div className="cardModuleReference">
|
||||||
<b>{t("myportal:appeal-type-label")}:</b>{" "}
|
<b>{t("myportal:appeal-type-label")}:</b>{" "}
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: showTopThreeArr[key][
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
showTopThreeArr[key][
|
||||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup
|
json: transLookup,
|
||||||
})}
|
eval: true
|
||||||
|
})
|
||||||
|
: showTopThreeArr[key][
|
||||||
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
</div>
|
</div>
|
||||||
{/* )} */}
|
{/* )} */}
|
||||||
{/* {topThreeType != "awaitingSubmission" ? ( */}
|
{/* {topThreeType != "awaitingSubmission" ? ( */}
|
||||||
@@ -477,13 +492,20 @@ const TopThree = (props) => {
|
|||||||
)}
|
)}
|
||||||
<div className="cardModuleReference">
|
<div className="cardModuleReference">
|
||||||
<b>{router.locale == "cy" ? "ACLl" : "LPA"}:</b>
|
<b>{router.locale == "cy" ? "ACLl" : "LPA"}:</b>
|
||||||
{resolveCrmDisplayValue({
|
{router.locale == "cy"
|
||||||
value: showTopThreeArr[key][
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
showTopThreeArr[key][
|
||||||
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup
|
json: transLookup,
|
||||||
})}
|
eval: true
|
||||||
|
})
|
||||||
|
: showTopThreeArr[key][
|
||||||
|
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
</div>
|
</div>
|
||||||
{topThreeType == "awaitingSubmission" ? (
|
{topThreeType == "awaitingSubmission" ? (
|
||||||
<div className="carModuleAddress">
|
<div className="carModuleAddress">
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||||
import useTranslation from "next-translate/useTranslation";
|
import useTranslation from "next-translate/useTranslation";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
@@ -33,7 +34,6 @@ import {
|
|||||||
setWatchedCasesDetails
|
setWatchedCasesDetails
|
||||||
} from "../../store/watchedCases/action";
|
} from "../../store/watchedCases/action";
|
||||||
import { getFormCollectionByID, getDetailsProxy } from "../utils";
|
import { getFormCollectionByID, getDetailsProxy } from "../utils";
|
||||||
import resolveCrmDisplayValue from "../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
|
||||||
|
|
||||||
const TopThree = (props) => {
|
const TopThree = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
@@ -196,6 +196,19 @@ const TopThree = (props) => {
|
|||||||
<b>{showTopThreeArr[key].pinswg_name}</b>
|
<b>{showTopThreeArr[key].pinswg_name}</b>
|
||||||
) : (
|
) : (
|
||||||
<span
|
<span
|
||||||
|
// href="#"
|
||||||
|
// href={{
|
||||||
|
// pathname:
|
||||||
|
// router.locale == "cy"
|
||||||
|
// ? "/fymhorth/representation"
|
||||||
|
// : "/myportal/representation",
|
||||||
|
// query: {
|
||||||
|
// case: showTopThreeArr[key].ticketnumber,
|
||||||
|
// state: "edit",
|
||||||
|
// created:
|
||||||
|
// showTopThreeArr[key].repfile_name,
|
||||||
|
// },
|
||||||
|
// }}
|
||||||
className="govuk-link--no-underline"
|
className="govuk-link--no-underline"
|
||||||
style={{
|
style={{
|
||||||
color: "#0360a6",
|
color: "#0360a6",
|
||||||
@@ -205,8 +218,6 @@ const TopThree = (props) => {
|
|||||||
data-id={index}
|
data-id={index}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setCurrentReference({
|
setCurrentReference({
|
||||||
"statuscode":
|
|
||||||
showTopThreeArr[key].statuscode,
|
|
||||||
"ticketnumber":
|
"ticketnumber":
|
||||||
showTopThreeArr[key].ticketnumber,
|
showTopThreeArr[key].ticketnumber,
|
||||||
"currentReference":
|
"currentReference":
|
||||||
@@ -225,12 +236,8 @@ const TopThree = (props) => {
|
|||||||
? "/fymhorth/representation"
|
? "/fymhorth/representation"
|
||||||
: "/myportal/representation",
|
: "/myportal/representation",
|
||||||
query: {
|
query: {
|
||||||
case:
|
case: showTopThreeArr[key]
|
||||||
showTopThreeArr[key]
|
.ticketnumber,
|
||||||
.ticketnumber ||
|
|
||||||
showTopThreeArr[key].caseRef ||
|
|
||||||
showTopThreeArr[key]
|
|
||||||
.pinswg_name,
|
|
||||||
state: "edit",
|
state: "edit",
|
||||||
created:
|
created:
|
||||||
showTopThreeArr[key]
|
showTopThreeArr[key]
|
||||||
@@ -279,19 +286,54 @@ const TopThree = (props) => {
|
|||||||
</div>
|
</div>
|
||||||
<div className="cardModuleReference">
|
<div className="cardModuleReference">
|
||||||
<b>{t("myportal:representation-type")}:</b>
|
<b>{t("myportal:representation-type")}:</b>
|
||||||
{resolveCrmDisplayValue({
|
{" "}
|
||||||
value: showTopThreeArr[key].representationType,
|
|
||||||
locale,
|
{router.locale == "cy"
|
||||||
translations: transLookup
|
? jsonpath({
|
||||||
})}
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
showTopThreeArr[key].representationType +
|
||||||
|
'")].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true
|
||||||
|
})
|
||||||
|
: showTopThreeArr[key].representationType || ""}
|
||||||
</div>
|
</div>
|
||||||
<div className="cardModuleReference">
|
<div className="cardModuleReference">
|
||||||
<b>{t("myportal:capacity")}:</b>
|
<b>{t("myportal:capacity")}:</b>
|
||||||
{resolveCrmDisplayValue({
|
{" "}
|
||||||
value: showTopThreeArr[key].representationCapacity,
|
{router.locale == "cy"
|
||||||
locale,
|
? jsonpath({
|
||||||
translations: transLookup
|
path:
|
||||||
})}
|
'$..[?(@ && @.value=="' +
|
||||||
|
showTopThreeArr[key]
|
||||||
|
.representationCapacity +
|
||||||
|
'" ||@.value_cy=="' +
|
||||||
|
showTopThreeArr[key]
|
||||||
|
.representationCapacity +
|
||||||
|
'" )].value_cy',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true
|
||||||
|
})
|
||||||
|
: jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value_cy=="' +
|
||||||
|
showTopThreeArr[key]
|
||||||
|
.representationCapacity +
|
||||||
|
'")].value',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true
|
||||||
|
}).length > 0
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value_cy=="' +
|
||||||
|
showTopThreeArr[key]
|
||||||
|
.representationCapacity +
|
||||||
|
'")].value',
|
||||||
|
json: transLookup,
|
||||||
|
eval: true
|
||||||
|
})
|
||||||
|
: showTopThreeArr[key].representationCapacity}
|
||||||
</div>
|
</div>
|
||||||
<div className="cardModuleReference">
|
<div className="cardModuleReference">
|
||||||
<b>{t("myportal:date-raised")}:</b>
|
<b>{t("myportal:date-raised")}:</b>
|
||||||
@@ -300,13 +342,22 @@ const TopThree = (props) => {
|
|||||||
</div>{" "}
|
</div>{" "}
|
||||||
<div className="cardModuleReference">
|
<div className="cardModuleReference">
|
||||||
<b>{router.locale == "cy" ? "ACLl" : "LPA"}:</b>
|
<b>{router.locale == "cy" ? "ACLl" : "LPA"}:</b>
|
||||||
{resolveCrmDisplayValue({
|
{" "}
|
||||||
value: showTopThreeArr[key][
|
|
||||||
|
{router.locale == "cy"
|
||||||
|
? jsonpath({
|
||||||
|
path:
|
||||||
|
'$..[?(@ && @.value=="' +
|
||||||
|
showTopThreeArr[key][
|
||||||
"_pinswg_localplanningauthority_value@OData.Community.Display.V1.FormattedValue"
|
"_pinswg_localplanningauthority_value@OData.Community.Display.V1.FormattedValue"
|
||||||
],
|
] +
|
||||||
locale,
|
'")].value_cy',
|
||||||
translations: transLookup
|
json: transLookup,
|
||||||
})}
|
eval: true
|
||||||
|
})
|
||||||
|
: showTopThreeArr[key][
|
||||||
|
"_pinswg_localplanningauthority_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
] || ""}
|
||||||
</div>
|
</div>
|
||||||
{showTopThreeArr[key].hasOwnProperty("repComplete") && (
|
{showTopThreeArr[key].hasOwnProperty("repComplete") && (
|
||||||
<div className="cardModuleReference">
|
<div className="cardModuleReference">
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user