Compare commits
136
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fdeff5b898 | ||
|
|
4e9d585566 | ||
|
|
b95a20a980 | ||
|
|
c9e7743782 | ||
|
|
6bf5918387 | ||
|
|
c2d79cf83f | ||
|
|
6ba1e16f9a | ||
|
|
6cce7d05f1 | ||
|
|
ac4834a2a4 | ||
|
|
850006d917 | ||
|
|
478fa91004 | ||
|
|
5813d409bc | ||
|
|
71035a054f | ||
|
|
c2c4690b9b | ||
|
|
9e2461305f | ||
|
|
db07425788 | ||
|
|
90e8cacf67 | ||
|
|
6462bd5163 | ||
|
|
d190fa8ff7 | ||
|
|
460dfadd1e | ||
|
|
d74e3fd668 | ||
|
|
75e9cf820d | ||
|
|
9a461dee5e | ||
|
|
1258985882 | ||
|
|
02507f298c | ||
|
|
11cdb43da4 | ||
|
|
f5bdf6a7b0 | ||
|
|
f80752ab6a | ||
|
|
b01d789bb8 | ||
|
|
bbf205a45f | ||
|
|
ec046944c0 | ||
|
|
579026b6cc | ||
|
|
2e9f90211c | ||
|
|
b7a644d078 | ||
|
|
7a54f3df71 | ||
|
|
a850399cb1 | ||
|
|
e2897e511f | ||
|
|
95486f0164 | ||
|
|
b00a2c0733 | ||
|
|
d7a73b7b0b | ||
|
|
bab0c26515 | ||
|
|
9ac88bbbde | ||
|
|
79e6dfade9 | ||
|
|
e864049bec | ||
|
|
49aa258fd9 | ||
|
|
ff699735c7 | ||
|
|
7b6af58065 | ||
|
|
001c7ad6fa | ||
|
|
b87c522137 | ||
|
|
3960a357dc | ||
|
|
94b19f9697 | ||
|
|
a1b89d19b8 | ||
|
|
f9f78548b0 | ||
|
|
a266fa5428 | ||
|
|
33dcb6b863 | ||
|
|
153f0d679e | ||
|
|
5483c4cdf2 | ||
|
|
c98bbfc321 | ||
|
|
6d0bc35612 | ||
|
|
d7bb1acb10 | ||
|
|
27fceffbc9 | ||
|
|
0150e243ed | ||
|
|
e195e09429 | ||
|
|
be68b987a1 | ||
|
|
60a2ff4594 | ||
|
|
81a6276f44 | ||
|
|
c84ff3fff9 | ||
|
|
a6941a8a06 | ||
|
|
475aa965b4 | ||
|
|
0b66a0e1d4 | ||
|
|
ca244e5de1 | ||
|
|
3efaafdb72 | ||
|
|
1e14fbc709 | ||
|
|
628b2b71fd | ||
|
|
3297fe4f16 | ||
|
|
7b1faf0bac | ||
|
|
c6e42fc314 | ||
|
|
7e47340326 | ||
|
|
c39e4bcc9a | ||
|
|
9595ad86df | ||
|
|
2262f3ab74 | ||
|
|
d0cae0fff1 | ||
|
|
a9be19b901 | ||
|
|
da07b4873e | ||
|
|
4ced5d0f42 | ||
|
|
18a05d4be8 | ||
|
|
b71a93076b | ||
|
|
3f2b8807e7 | ||
|
|
24cd7000f7 | ||
|
|
905c82f598 | ||
|
|
26e8464d46 | ||
|
|
1df5573fce | ||
|
|
25485d73ed | ||
|
|
6d8d56d745 | ||
|
|
f6bbaa5c1d | ||
|
|
4f3e3f5183 | ||
|
|
a6cc030612 | ||
|
|
2e98be3b65 | ||
|
|
149238dd4e | ||
|
|
b6bd543527 | ||
|
|
5967665138 | ||
|
|
9860f47cbe | ||
|
|
5bf1393020 | ||
|
|
5a8fd73bfd | ||
|
|
c2ae6964f9 | ||
|
|
4fb62a6773 | ||
|
|
d0b2fd077a | ||
|
|
d295a507ac | ||
|
|
4f90c9a058 | ||
|
|
0b02acf035 | ||
|
|
12a28a4be0 | ||
|
|
1a2c3ede3b | ||
|
|
46a0e0b185 | ||
|
|
0ff2d69ba6 | ||
|
|
d2e88b57d8 | ||
|
|
b596374c3c | ||
|
|
9140476a2a | ||
|
|
baf5b1838d | ||
|
|
1fd192b870 | ||
|
|
8b187742af | ||
|
|
421adafca3 | ||
|
|
a25ab433a6 | ||
|
|
843e6adee6 | ||
|
|
b2945790b1 | ||
|
|
138f03912b | ||
|
|
d406d97ddf | ||
|
|
f367f3342c | ||
|
|
d604d4f264 | ||
|
|
43e37dc844 | ||
|
|
7a14b7e8c9 | ||
|
|
b0004381ed | ||
|
|
20782db916 | ||
|
|
f34ac3ba11 | ||
|
|
5bf885933d | ||
|
|
05d83822f2 | ||
|
|
37a81522d5 |
+42
-133
@@ -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/
|
||||
RELAYURI = "ar-ns-lz-pedw-dev-uks-01.servicebus.windows.net"
|
||||
RELAYPATH = "ar-hc-lz-pedw-dev-uks-01"
|
||||
CRMURL = "devcrm2016.llcdt.gov.wales/DVPINS"
|
||||
CRMURL_VERSION = "v8.2"
|
||||
CRMURL = "dv-pedw.crm11.dynamics.com"
|
||||
CRMURL_VERSION = "v9.2"
|
||||
|
||||
# //New Test
|
||||
CLIENT_ID = d40b9373-96c2-4b04-8bd8-c2a2fe6444c1
|
||||
@@ -33,18 +33,13 @@ CRMURL = "ts-pedw.crm11.dynamics.com"
|
||||
CRMURL_VERSION = "v9.2"
|
||||
|
||||
# //New PreProd
|
||||
# CLIENT_ID = ab6c4678-b31a-4eb3-b429-e039120e488a
|
||||
# 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/
|
||||
# RELAYURI = "ar-ns-lz-pedw-ppe-uks-01.servicebus.windows.net"
|
||||
# RELAYPATH = "ar-hc-lz-pedw-ppe-uks-01"
|
||||
# # RELAY_ROOT = https://ar-ns-lz-pedw-ppe-ukw-01.servicebus.windows.net/ar-hc-lz-pedw-ppe-ukw-01/
|
||||
# # 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"
|
||||
CLIENT_ID = ab6c4678-b31a-4eb3-b429-e039120e488a
|
||||
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/
|
||||
RELAYURI = "ar-ns-lz-pedw-ppe-uks-01.servicebus.windows.net"
|
||||
RELAYPATH = "ar-hc-lz-pedw-ppe-uks-01"
|
||||
CRMURL = "wg-pp-pedw.crm11.dynamics.com"
|
||||
CRMURL_VERSION = "v9.2"
|
||||
|
||||
|
||||
# //Prod Oauth WGO
|
||||
@@ -61,61 +56,11 @@ CRMURL_VERSION = "v9.2"
|
||||
# RELAY_ROOT = https://ar-ns-lz-pedw-prod-uks-01.servicebus.windows.net/ar-hc-lz-pedw-prod-uks-01/
|
||||
# RELAYURI = "ar-ns-lz-pedw-prod-uks-01.servicebus.windows.net"
|
||||
# RELAYPATH = "ar-hc-lz-pedw-prod-uks-01"
|
||||
# # RELAY_ROOT = https://ar-ns-lz-pedw-ppe-ukw-01.servicebus.windows.net/ar-hc-lz-pedw-prod-ukw-01/
|
||||
# # RELAYURI = "ar-ns-lz-pedw-prod-ukw-01.servicebus.windows.net"
|
||||
# # RELAYPATH = "ar-hc-lz-pedw-prod-ukw-01"
|
||||
# CRMURL = "crm2016.llc.gov.wales/PEDW"
|
||||
# CRMURL_VERSION = "v8.2"
|
||||
|
||||
|
||||
|
||||
# D365 cnr WGO
|
||||
# CLIENT_ID = 3125ac03-91ac-46a7-a166-0086f0ed90b3
|
||||
# CLIENT_SECRET = bFq8Q~9VX5Ra3lKnGGIXsB.G6-ZGMx7LqyqXjdr4
|
||||
# RELAY_ROOT = https://ar-ns-lz-pedw-d365cnr-uks-01.servicebus.windows.net/ar-hc-lz-pedw-d365cnr-uks-01/
|
||||
# RELAYURI = "ar-ns-lz-pedw-d365cnr-uks-01.servicebus.windows.net"
|
||||
# RELAYPATH = "ar-hc-lz-pedw-d365cnr-uks-01"
|
||||
# CRMURL = "dv-pedw.crm11.dynamics.com"
|
||||
# CRMURL_VERSION = "v9.2"
|
||||
|
||||
# D365 Dev WGO
|
||||
# CLIENT_ID = 9b834097-03d7-409b-b038-ecfec31a394a
|
||||
# CLIENT_SECRET = .Jf8Q~tKMObCJjhh_hy3J5AIctFrBalU4FS~tdxk
|
||||
# RELAY_ROOT = https://ar-ns-lz-pedw-d365dev-uks-01.servicebus.windows.net/ar-hc-lz-pedw-d365dev-uks-01/
|
||||
# RELAYURI = "ar-ns-lz-pedw-d365dev-uks-01.servicebus.windows.net"
|
||||
# RELAYPATH = "ar-hc-lz-pedw-d365dev-uks-01"
|
||||
# CRMURL = "dv-pedw.crm11.dynamics.com"
|
||||
# CRMURL_VERSION = "v9.2"
|
||||
|
||||
# D365 Test WGO
|
||||
# CLIENT_ID = d40b9373-96c2-4b04-8bd8-c2a2fe6444c1
|
||||
# CLIENT_SECRET = 6hT8Q~glL~jloWpGmvXw3UY37QFwjUE0r._jobEM
|
||||
# RELAY_ROOT = https://ar-ns-lz-pedw-d365test-uks-01.servicebus.windows.net/ar-hc-lz-pedw-d365test-uks-01/
|
||||
# RELAYURI = "ar-ns-lz-pedw-d365test-uks-01.servicebus.windows.net"
|
||||
# RELAYPATH = "ar-hc-lz-pedw-d365test-uks-01"
|
||||
# CRMURL = "ts-pedw.crm11.dynamics.com"
|
||||
# CRMURL_VERSION = "v9.2"
|
||||
|
||||
# D365 PP WGO
|
||||
# CLIENT_ID = ab6c4678-b31a-4eb3-b429-e039120e488a
|
||||
# CLIENT_SECRET = V288Q~P1lFMvvX9Xnkx2pLixK~GOREH983Owqc1E
|
||||
# RELAY_ROOT = https://ar-ns-lz-pedw-d365ppe-uks-01.servicebus.windows.net/ar-hc-lz-pedw-d365ppe-uks-01/
|
||||
# RELAYURI = "ar-ns-lz-pedw-d365ppe-uks-01.servicebus.windows.net"
|
||||
# RELAYPATH = "ar-hc-lz-pedw-d365ppe-uks-01"
|
||||
# CRMURL = "wg-pp-pedw.crm11.dynamics.com"
|
||||
# CRMURL_VERSION = "v9.2"
|
||||
|
||||
# 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
|
||||
|
||||
SHOWLOGIN = true
|
||||
@@ -135,38 +80,24 @@ NEXTAUTH_URL = $API_ROOT
|
||||
NEXTAUTH_URL_INTERNAL = $API_ROOT
|
||||
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
|
||||
|
||||
// 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
|
||||
# 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
|
||||
|
||||
// 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
|
||||
# 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
|
||||
|
||||
// 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
|
||||
# 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
|
||||
|
||||
// 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
|
||||
|
||||
// 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
|
||||
|
||||
// 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
|
||||
|
||||
|
||||
|
||||
@@ -174,31 +105,31 @@ SECRET = SuperSecret
|
||||
|
||||
|
||||
|
||||
//Azure Storage Account
|
||||
# Azure Storage Account
|
||||
AZURE_CLIENT_ID = $CLIENT_ID
|
||||
AZURE_TENANT_ID = $TENANT
|
||||
AZURE_CLIENT_SECRET = $CLIENT_SECRET
|
||||
|
||||
// CNR key
|
||||
# CNR key
|
||||
AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwcnruks"
|
||||
AZURE_STORAGE_ACCOUNT_KEY = hRffHq4IwctpaTKdS/U33Xq6nyTDF1t++WJgIwsw7gzstktZin/rRwbTIAL9KKqesVsK7EHrTTG6+ASt4+7skw==
|
||||
AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwcnruks.blob.core.windows.net
|
||||
|
||||
// new dev key
|
||||
# new dev key
|
||||
AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwdevuks"
|
||||
AZURE_STORAGE_ACCOUNT_KEY = MmrsrCjBfop9pI2oImsP/+lJUWU2DrXsAB8nq5bOVROTmPovSGxjCjKw9+TAFr00k8WDUK9r6mVx+AStcMLyAA==
|
||||
AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwdevuks.blob.core.windows.net
|
||||
|
||||
// New test key
|
||||
# New test key
|
||||
AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwtestuks"
|
||||
# AZURE_STORAGE_ACCOUNT_KEY = 5NdDO9GGlbTFLHFOXZRw8H2C0Ow5bFTvHwUHEbStyzg2mbd1uwHSeBSvM/dkN+HfdwrFzqAkwL5P+AStdO6cig==
|
||||
AZURE_STORAGE_ACCOUNT_KEY = bqJAz5pYQVGee8dnVhlsqW+xHwinNTjgY2AmojNyB+d4uAotMR20WcO4Op13yB+9dFaXAkkjtIA4+AStHT/IYg==
|
||||
AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwtestuks.blob.core.windows.net
|
||||
|
||||
// New preprod key
|
||||
# AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwppeuks"
|
||||
# AZURE_STORAGE_ACCOUNT_KEY = B4GRKr+cA9b9mNM/GHFivzhzflJIZltG8bMmooXlYvGYySPAspTTHistAT30sHipnR+hh6dqUc9q+ASttAjPRQ==
|
||||
# AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwppeuks.blob.core.windows.net
|
||||
# New preprod key
|
||||
AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwppeuks"
|
||||
AZURE_STORAGE_ACCOUNT_KEY = B4GRKr+cA9b9mNM/GHFivzhzflJIZltG8bMmooXlYvGYySPAspTTHistAT30sHipnR+hh6dqUc9q+ASttAjPRQ==
|
||||
AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwppeuks.blob.core.windows.net
|
||||
|
||||
|
||||
# PROD key
|
||||
@@ -211,59 +142,33 @@ AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwtestuks.blob.core.windows.net
|
||||
# AZURE_STORAGE_ACCOUNT_KEY = OfV9MFqXcLLPam9GhEdMWadIOwIzhc5hd5TUqzIuQoswFdtV4ybaemjatSv+Kht0Ny1qQKjLplwY+AStUTZJrg==
|
||||
# AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwproduks.blob.core.windows.net
|
||||
|
||||
# D365 CNR key
|
||||
# AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwd365cnruks"
|
||||
# AZURE_STORAGE_ACCOUNT_KEY = nEwCp+4FuVf/9a4DOyKuQO2yRRV4Ypigg20ch1YaiL09YmEhWMEO5pNLpYtI3WnQCkIqeu1CUqwM+AStCLW01g==
|
||||
# AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwd365cnruks.blob.core.windows.net
|
||||
|
||||
# D365 DEV key
|
||||
# AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwd365devuks"
|
||||
# AZURE_STORAGE_ACCOUNT_KEY = XzwQxuZXSwYrVgemDUD2ymTpYTIfWqhypbmEALw1ZEEP0M4D3b3Gh28clSymxwFu7Gu9mhwkW4/V+AStZ6RF8Q==
|
||||
# AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwd365devuks.blob.core.windows.net
|
||||
|
||||
# D365 TEST key
|
||||
# AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwd365testuks"
|
||||
# AZURE_STORAGE_ACCOUNT_KEY = 5NdDO9GGlbTFLHFOXZRw8H2C0Ow5bFTvHwUHEbStyzg2mbd1uwHSeBSvM/dkN+HfdwrFzqAkwL5P+AStdO6cig==
|
||||
# AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwd365testuks.blob.core.windows.net
|
||||
|
||||
# D365 PP key
|
||||
# AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwd365ppeuks"
|
||||
# AZURE_STORAGE_ACCOUNT_KEY = xQz4FWDnQDE09uPOCj1t7axRiquvZG9vbxL88ywzVsJnTsAgewrHnuAGkxGPBCp2xGE53ffYOme6+AStSr8OoQ==
|
||||
# AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwd365ppeuks.blob.core.windows.net
|
||||
|
||||
# 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_QUEUE_ENDPOINT = https://$AZURE_STORAGE_ACCOUNT_NAME.queue.core.windows.net
|
||||
|
||||
//gov.notify
|
||||
//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
|
||||
# gov.notify
|
||||
# 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 = pedwnextauthlive01key-90f93710-9dae-423e-aea1-11eccd0dc132-72bfb1e1-c0b7-47cb-9887-3d47a4b11ad4
|
||||
|
||||
SHOW_DEBUG = true
|
||||
|
||||
|
||||
// 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
|
||||
|
||||
# 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
|
||||
|
||||
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
|
||||
|
||||
// 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
|
||||
# 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=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
|
||||
//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
|
||||
# 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
|
||||
|
||||
|
||||
HIDEERRORLOGS = false
|
||||
@@ -272,3 +177,7 @@ SHOWSIPS = true
|
||||
|
||||
ALLOWED_IPS=::1,203.0.113.42,198.51.100.17
|
||||
UPLOAD_BATCH_COUNT = 5
|
||||
|
||||
NRWDOMAIN = rdbmedia.co.uk
|
||||
|
||||
MAP_TARGET = pedw-dev
|
||||
@@ -78,6 +78,8 @@ Minimum required before merge:
|
||||
|
||||
- `.clinerules`
|
||||
- `CONTRIBUTING_AI.md`
|
||||
- `context/implementation-governance.md`
|
||||
- `context/maintainability-adoption-programme.md`
|
||||
- `context/runbook.md`
|
||||
- `context/integration-map.md`
|
||||
- `memory-bank/README.md`
|
||||
|
||||
+57
-81
@@ -1,7 +1,7 @@
|
||||
import { DefaultAzureCredential } from "@azure/identity";
|
||||
import _ from "lodash";
|
||||
import { hashAPIPath, consoleLogger } from ".";
|
||||
import { getDocumentTypeFromFilename } from "../components/utils";
|
||||
import { getDocumentTypeFromFilename, hasOwn } from "../components/utils";
|
||||
|
||||
const {
|
||||
ContainerClient,
|
||||
@@ -316,7 +316,7 @@ export const createBlob = async (formContent, containerName, caseref) => {
|
||||
formContent = JSON.parse(formContent);
|
||||
let caseID = "";
|
||||
|
||||
caseID = _.has(formContent, "pinswg_name")
|
||||
caseID = hasOwn(formContent, "pinswg_name")
|
||||
? formContent.pinswg_name
|
||||
: caseref;
|
||||
|
||||
@@ -476,20 +476,19 @@ export const createRepPDFBlob = async (
|
||||
? await blockBlobClient.uploadData(content)
|
||||
: await blockBlobClient.uploadStream(content);
|
||||
|
||||
let whichLocation =
|
||||
repName.indexOf("_IP_") > 0
|
||||
? "846040005"
|
||||
: repName.indexOf("_Statement_") > 0
|
||||
? "846040002"
|
||||
: repName.indexOf("_Questionnaire_") > 0
|
||||
? "846040001"
|
||||
: repName.indexOf("_Comments") > 0
|
||||
? "846040003"
|
||||
: repName.indexOf("_Impact") > 0
|
||||
? "846040029"
|
||||
: repName.indexOf("_Consultation_Response_") > 0
|
||||
? "846040036"
|
||||
: "846040002";
|
||||
const locationMap = [
|
||||
{ key: "_IP_-_Comments_", value: "846040038" }, // most specific first
|
||||
{ key: "_IP_", value: "846040005" },
|
||||
{ key: "_Statement_", value: "846040002" },
|
||||
{ key: "_Questionnaire_", value: "846040001" },
|
||||
{ key: "_Comments", value: "846040003" },
|
||||
{ key: "_Impact", value: "846040029" },
|
||||
{ key: "_Consultation_Response_", value: "846040036" }
|
||||
];
|
||||
|
||||
const whichLocation =
|
||||
locationMap.find((item) => repName.includes(item.key))?.value ||
|
||||
"846040002";
|
||||
|
||||
const tags = {
|
||||
containerid: containerName,
|
||||
@@ -618,71 +617,46 @@ export const uploadFile = async (formContent, containerName, foldername) => {
|
||||
);
|
||||
console.log(data);
|
||||
|
||||
let whichLocation =
|
||||
files[prop][0].fieldName.indexOf("_Statement_of_Case") >
|
||||
0 ||
|
||||
files[prop][0].fieldName.indexOf("_-_Statement_of_Case") >
|
||||
0 ||
|
||||
files[prop][0].fieldName.indexOf("_-_Application_Form") >
|
||||
0 ||
|
||||
files[prop][0].fieldName.indexOf(
|
||||
"_-_Site_Ownership_Certificate"
|
||||
) > 0 ||
|
||||
files[prop][0].fieldName.indexOf("_-_Decision_Notice") >
|
||||
0 ||
|
||||
files[prop][0].fieldName.indexOf("_-_Site_Location_Plan") >
|
||||
0 ||
|
||||
files[prop][0].fieldName.indexOf(
|
||||
"_-_Plans_Drawing_Documents"
|
||||
) > 0 ||
|
||||
files[prop][0].fieldName.indexOf(
|
||||
"_-_Additional_Plans_Drawings_Documents"
|
||||
) > 0 ||
|
||||
files[prop][0].fieldName.indexOf(
|
||||
"_-_Design_and_Access_Statement"
|
||||
) > 0 ||
|
||||
files[prop][0].fieldName.indexOf(
|
||||
"_-_NSB_LPA_Additional_Documents"
|
||||
) > 0 ||
|
||||
files[prop][0].fieldName.indexOf("_-_LPA_Correspondence") >
|
||||
0 ||
|
||||
files[prop][0].fieldName.indexOf(
|
||||
"_-_LPA_Original_Permission"
|
||||
) > 0 ||
|
||||
files[prop][0].fieldName.indexOf(
|
||||
"_-_LPA's_Registration_Letter"
|
||||
) > 0 ||
|
||||
files[prop][0].fieldName.indexOf(
|
||||
+"_-_Environmental_Statement"
|
||||
) > 0 ||
|
||||
files[prop][0].fieldName.indexOf("_-_Cost_of_Application") >
|
||||
0 ||
|
||||
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 fieldName = files[prop][0].fieldName;
|
||||
|
||||
const whichLocation =
|
||||
[
|
||||
// 1️⃣ LPA docs (grouped)
|
||||
{
|
||||
match: [
|
||||
"_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"
|
||||
},
|
||||
{ match: ["_IP_-_Comments_"], value: "846040038" },
|
||||
{
|
||||
match: ["_Consultation_Response_"],
|
||||
value: "846040036"
|
||||
},
|
||||
{ match: ["_Questionnaire_"], value: "846040001" },
|
||||
{ match: ["_Statement_"], value: "846040002" },
|
||||
{ match: ["_Comments_"], value: "846040003" },
|
||||
{ match: ["_Impact_"], value: "846040001" },
|
||||
{ match: ["_IP_"], value: "846040005" }
|
||||
].find((rule) =>
|
||||
rule.match.some((key) => fieldName.includes(key))
|
||||
)?.value || "846040000";
|
||||
|
||||
const tags = {
|
||||
containerid: containerName,
|
||||
@@ -803,6 +777,8 @@ 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/,
|
||||
value: "846040000"
|
||||
},
|
||||
|
||||
{ pattern: /_IP_-_Comments_/, value: "846040038" },
|
||||
{ pattern: /_IP_/, value: "846040005" },
|
||||
{ pattern: /_Statement_/, value: "846040002" },
|
||||
{ pattern: /_Questionnaire_/, value: "846040001" },
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ export const BASE_URL =
|
||||
? window.apiRoot
|
||||
: process.env.API_ROOT || `http://localhost:${port}`;
|
||||
|
||||
export const API_PATH = "/api/data/v8.2/";
|
||||
export const API_PATH = "/api/data/v9.2/";
|
||||
|
||||
export const WEBAPI_URL =
|
||||
process.env.RELAY_ROOT ||
|
||||
|
||||
+26
-32
@@ -1,4 +1,4 @@
|
||||
import _ from "lodash";
|
||||
import { hasOwn } from "../../components/utils";
|
||||
|
||||
const MASK = "[REDACTED]";
|
||||
|
||||
@@ -50,44 +50,38 @@ export const consoleLogger = (err) => {
|
||||
redactSensitive(err) +
|
||||
"\n\n/////////////////////////////////////////////////\n"
|
||||
);
|
||||
var errStr =
|
||||
"\n\n/////////////////////////////////////////////////\nServer Error " +
|
||||
"\n" +
|
||||
(_.has(err, "name") ? "Name: " + err.name + "\n" : "") +
|
||||
(_.has(err, "code") ? "Code: " + err.code + "\n" : "") +
|
||||
(_.has(err, "query") ? "Query: " + err.query + "\n" : "") +
|
||||
(_.has(err, "message") ? "Message: " + err.message + "\n" : "") +
|
||||
(_.has(err, "request.url")
|
||||
? "request.url: " + err.request.url + "\n"
|
||||
|
||||
const errStr =
|
||||
"\n\n/////////////////////////////////////////////////\nServer Error\n" +
|
||||
(hasOwn(err, "name") ? `Name: ${err.name}\n` : "") +
|
||||
(hasOwn(err, "code") ? `Code: ${err.code}\n` : "") +
|
||||
(hasOwn(err, "query") ? `Query: ${err.query}\n` : "") +
|
||||
(hasOwn(err, "message") ? `Message: ${err.message}\n` : "") +
|
||||
(err?.request?.url ? `request.url: ${err.request.url}\n` : "") +
|
||||
(err?.response?.status ? `Status: ${err.response.status}\n` : "") +
|
||||
(err?.response?.statusText
|
||||
? `StatusText: ${err.response.statusText}\n`
|
||||
: "") +
|
||||
(_.has(err, "response.status") ? "Status: " + err.code + "\n" : "") +
|
||||
(_.has(err, "response.statusText")
|
||||
? "\nStatusText: " + err.response.status + "\n"
|
||||
(err?.response?.request?.socket?.remoteAddress
|
||||
? `Request IP: ${err.response.request.socket.remoteAddress}\n`
|
||||
: "") +
|
||||
(_.has(err, "response.request.socket.remoteAddress")
|
||||
? "\nRequest IP: " +
|
||||
err.response.request.socket.remoteAddress +
|
||||
"\n"
|
||||
(err?.response?.data?.error?.message
|
||||
? `Message: ${redactSensitive(err.response.data.error.message)}\n`
|
||||
: "") +
|
||||
(_.has(err, "response.data.error.message")
|
||||
? "\nMessage: " +
|
||||
redactSensitive(err.response.data.error.message) +
|
||||
"\n"
|
||||
(err?.response?.config?.url
|
||||
? `Request URL: ${redactSensitive(err.response.config.url)}\n`
|
||||
: "") +
|
||||
(_.has(err, "response.config.url")
|
||||
? "\nRequest URL: " + redactSensitive(err.config.url) + "\n"
|
||||
(err?.response?.headers?.date
|
||||
? `Request Time: ${err.response.headers.date}\n`
|
||||
: "") +
|
||||
(_.has(err, "response.headers.date")
|
||||
? "\nRequest Time: " + err.response.headers.date + "\n"
|
||||
(err?.config?.url
|
||||
? `Axios config url: ${redactSensitive(err.config.url)}\n`
|
||||
: "") +
|
||||
(_.has(err, "config.url")
|
||||
? "\nAxios config url: " + redactSensitive(err.config.url) + "\n"
|
||||
(err?.message
|
||||
? `Axios message: ${redactSensitive(err.message)}\n`
|
||||
: "") +
|
||||
(_.has(err, "config.url")
|
||||
? "\nAxios message url: " + redactSensitive(err.message) + "\n"
|
||||
: "") +
|
||||
(_.has(err, "config.data")
|
||||
? "\nRequest payload: " + redactSensitive(err.config.data) + "\n"
|
||||
(err?.config?.data
|
||||
? `Request payload: ${redactSensitive(err.config.data)}\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";
|
||||
break;
|
||||
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_casestage,_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_dnsids_value,pinswg_startdateofevent,pinswg_typeofevent";
|
||||
break;
|
||||
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";
|
||||
break;
|
||||
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_casestage,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_startdateofevent,pinswg_typeofevent";
|
||||
break;
|
||||
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";
|
||||
@@ -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";
|
||||
break;
|
||||
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_casestage,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_startdateofevent,pinswg_typeofevent";
|
||||
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_casestage,_pinswg_dnsids_value,pinswg_startdateofevent,pinswg_typeofevent";
|
||||
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";
|
||||
// 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_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";
|
||||
break;
|
||||
default:
|
||||
return "";
|
||||
|
||||
@@ -65,3 +65,23 @@ export const getNewDocumentsPaged = async (
|
||||
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,7 +1,15 @@
|
||||
import {
|
||||
getNewAppeals,
|
||||
getNewAppealsPage,
|
||||
getNewDocumentsPaged
|
||||
getNewDocumentsPaged,
|
||||
getStatusByAppeal,
|
||||
getStatusByAppealLPA
|
||||
} from "./adminDirectService";
|
||||
|
||||
export { getNewAppeals, getNewAppealsPage, getNewDocumentsPaged };
|
||||
export {
|
||||
getNewAppeals,
|
||||
getNewAppealsPage,
|
||||
getNewDocumentsPaged,
|
||||
getStatusByAppeal,
|
||||
getStatusByAppealLPA
|
||||
};
|
||||
|
||||
@@ -5,7 +5,7 @@ import { getJson, requestJson } from "../clients/endpointClient";
|
||||
import { buildFileQuery, withBaseUrl } from "../clients/fileRouteBuilder";
|
||||
|
||||
export const getCaseMessage = (searchString) => {
|
||||
const route = buildFileQuery("/api/endpoint/getcasemessage_api", {
|
||||
const route = buildFileQuery("/api/cases/get-case-message", {
|
||||
id: searchString
|
||||
});
|
||||
|
||||
@@ -13,7 +13,7 @@ export const getCaseMessage = (searchString) => {
|
||||
};
|
||||
|
||||
export const getIncidentbyID = (searchString) => {
|
||||
const route = buildFileQuery("/api/endpoint/getincidentbyid_api", {
|
||||
const route = buildFileQuery("/api/cases/get-incident-by-id", {
|
||||
searchString
|
||||
});
|
||||
|
||||
@@ -37,7 +37,7 @@ export const getPartSavedAppeal = (searchString) => {
|
||||
};
|
||||
|
||||
export const getSIPSEvents = async (caseid) => {
|
||||
const route = buildFileQuery("/api/endpoint/getsipsevents_api", {
|
||||
const route = buildFileQuery("/api/cases/get-sips-events", {
|
||||
caseid
|
||||
});
|
||||
|
||||
@@ -45,7 +45,7 @@ export const getSIPSEvents = async (caseid) => {
|
||||
};
|
||||
|
||||
export const getSIPSMedia = async (caseid) => {
|
||||
const route = buildFileQuery("/api/endpoint/getsipsmedia_api", {
|
||||
const route = buildFileQuery("/api/cases/get-sips-media", {
|
||||
caseid
|
||||
});
|
||||
|
||||
@@ -251,7 +251,7 @@ export const getAppealPDFDocument = async (incidentid) => {
|
||||
};
|
||||
|
||||
export const getPortalModuleDetails = async (appealType, caseReference) => {
|
||||
const route = buildFileQuery("/api/endpoint/getportalmoduledetails_api", {
|
||||
const route = buildFileQuery("/api/myportal/get-portal-module-details", {
|
||||
appealType,
|
||||
caseReference: encodeURI(caseReference)
|
||||
});
|
||||
@@ -274,3 +274,11 @@ export const getPortalModuleDetailsProxy = (appealType, caseReference) => {
|
||||
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,7 +16,8 @@ import {
|
||||
getPartSavedAppeal,
|
||||
getIsPublishedbyID,
|
||||
getPortalModuleDetails,
|
||||
getPortalModuleDetailsProxy
|
||||
getPortalModuleDetailsProxy,
|
||||
getCaseStatus
|
||||
} from "./caseDirectService";
|
||||
|
||||
export {
|
||||
@@ -37,5 +38,6 @@ export {
|
||||
getPartSavedAppeal,
|
||||
getIsPublishedbyID,
|
||||
getPortalModuleDetails,
|
||||
getPortalModuleDetailsProxy
|
||||
getPortalModuleDetailsProxy,
|
||||
getCaseStatus
|
||||
};
|
||||
|
||||
@@ -12,7 +12,7 @@ import {
|
||||
} from "../clients/fileRouteBuilder";
|
||||
|
||||
export const getMyCases = (loggedInUserId) => {
|
||||
const route = buildFileQuery("/api/endpoint/getmycases_api", {
|
||||
const route = buildFileQuery("/api/myportal/get-my-cases", {
|
||||
loggedInUserId
|
||||
});
|
||||
|
||||
@@ -32,7 +32,7 @@ export const getMyInvolvements = async (loggedInUserId) => {
|
||||
};
|
||||
|
||||
export const getMyLPACases = (lpaid) => {
|
||||
const route = buildFileQuery("/api/endpoint/getmylpacases_api", {
|
||||
const route = buildFileQuery("/api/myportal/get-my-lpa-cases", {
|
||||
lpaid
|
||||
});
|
||||
|
||||
@@ -85,7 +85,7 @@ export const getRepresentationsProxy = (incidentID) => {
|
||||
};
|
||||
|
||||
export const getWatchedCases = (loggedInUserId) => {
|
||||
const route = buildFileQuery("/api/endpoint/getwatchedcases_api", {
|
||||
const route = buildFileQuery("/api/subscriptions/get-watched-cases", {
|
||||
loggedInUserId
|
||||
});
|
||||
|
||||
@@ -95,7 +95,7 @@ export const getWatchedCases = (loggedInUserId) => {
|
||||
};
|
||||
|
||||
export const getWatchedCasesProxy = (loggedInUserId) => {
|
||||
const route = buildFileQuery("/api/endpoint/getwatchedcasesproxy_api", {
|
||||
const route = buildFileQuery("/api/subscriptions/get-watched-cases-proxy", {
|
||||
loggedInUserId
|
||||
});
|
||||
|
||||
@@ -129,7 +129,7 @@ export const getAwaitingSubmission = (loggedInUserId) => {
|
||||
|
||||
export const createWatchedCases = async (formValues) => {
|
||||
var data = formValues;
|
||||
var queryUrl = buildFileQuery("/api/endpoint/createwatchedcases_api");
|
||||
var queryUrl = buildFileQuery("/api/subscriptions/create-watched-case");
|
||||
|
||||
var config = {
|
||||
method: "post",
|
||||
@@ -181,7 +181,7 @@ export const deleteAwaitingSubmissions = (incidentID) => {
|
||||
};
|
||||
|
||||
export const deleteWatchedCases = async (watchedCaseID) => {
|
||||
var queryUrl = buildFileQuery("/api/endpoint/deletewatchedcases_api", {
|
||||
var queryUrl = buildFileQuery("/api/subscriptions/delete-watched-case", {
|
||||
watchedCaseID
|
||||
});
|
||||
|
||||
@@ -274,10 +274,14 @@ export const sendRepCompleteMessage = async (
|
||||
});
|
||||
};
|
||||
|
||||
export const setRepInvolvment = async (caseid, contactid) => {
|
||||
export const setRepInvolvment = async (caseid, contactid, involvement) => {
|
||||
var queryUrl = buildFileQuery("/api/file/createrepinvolvement_api");
|
||||
|
||||
var data = { "incidentid": caseid, "contactid": contactid };
|
||||
var data = {
|
||||
"incidentid": caseid,
|
||||
"contactid": contactid,
|
||||
"involvement": involvement
|
||||
};
|
||||
var config = {
|
||||
method: "post",
|
||||
url: queryUrl,
|
||||
|
||||
@@ -51,7 +51,7 @@ export const getBasicSearchPaged = (
|
||||
showNumberOfRecords
|
||||
) => {
|
||||
return getJson(
|
||||
"/api/endpoint/getbasicsearchpaged_api?searchString=" +
|
||||
"/api/search/basic-paged?searchString=" +
|
||||
searchString +
|
||||
"&pageNumber=" +
|
||||
pageNumber +
|
||||
@@ -103,7 +103,7 @@ export const getBasicDNSSearchPaged = (
|
||||
export const getAdvancedSearch = (searchString) => {
|
||||
return getJson(
|
||||
BASE_URL +
|
||||
"/api/endpoint/getadvancedsearch_api?searchstring=" +
|
||||
"/api/search/advanced?searchstring=" +
|
||||
JSON.stringify(searchString)
|
||||
).catch(logAndReturnEmptyValueErrorResponse);
|
||||
};
|
||||
@@ -116,7 +116,7 @@ export const getAdvancedSearchPaged = (
|
||||
showNumberOfRecords
|
||||
) => {
|
||||
return getJson(
|
||||
"/api/endpoint/getadvancedsearchpaged_api?searchstring=" +
|
||||
"/api/search/advanced-paged?searchstring=" +
|
||||
JSON.stringify(searchString) +
|
||||
"&pageNumber=" +
|
||||
pageNumber +
|
||||
@@ -186,12 +186,12 @@ export const getBasicSearchDetailsPaged = async (
|
||||
})
|
||||
.join(" or ");
|
||||
|
||||
const url = `/api/endpoint/getbasicsearchdetailspaged_api?appealTypeName=${appealTypeName}&primaryIdAttribute=${primaryIdAttribute}&incidentID=${encodeURIComponent(
|
||||
const groupedUrl = `/api/search/basic-details-paged?appealTypeName=${appealTypeName}&primaryIdAttribute=${primaryIdAttribute}&incidentID=${encodeURIComponent(
|
||||
filter
|
||||
)}`;
|
||||
|
||||
try {
|
||||
const data = await getJson(url);
|
||||
const data = await getJson(groupedUrl);
|
||||
return data.value || [];
|
||||
} catch (error) {
|
||||
consoleLogger(error);
|
||||
@@ -201,7 +201,7 @@ export const getBasicSearchDetailsPaged = async (
|
||||
|
||||
export const getSearchDocumentDetails = (incidentID) => {
|
||||
return getJson(
|
||||
"/api/endpoint/getsearchdocumentdetails_api?incidentid=" + incidentID
|
||||
"/api/documents/get-search-document-details?incidentid=" + incidentID
|
||||
).catch((error) => {
|
||||
consoleLogger(error);
|
||||
throw error;
|
||||
@@ -210,7 +210,7 @@ export const getSearchDocumentDetails = (incidentID) => {
|
||||
|
||||
export const getSearchDocumentTypes = (incidentID) => {
|
||||
return getJson(
|
||||
"/api/endpoint/getsearchdocumentTypes_api?incidentid=" + incidentID
|
||||
"/api/documents/get-search-document-types?incidentid=" + incidentID
|
||||
).catch((error) => {
|
||||
consoleLogger(error);
|
||||
});
|
||||
@@ -225,7 +225,7 @@ export const getSearchDocumentDetailsPaged = (
|
||||
documentType
|
||||
) => {
|
||||
return getJson(
|
||||
"/api/endpoint/getsearchdocumentdetailspaged_api?incidentid=" +
|
||||
"/api/documents/get-search-document-details-paged?incidentid=" +
|
||||
incidentID +
|
||||
"&pageNumber=" +
|
||||
pageNumber +
|
||||
@@ -244,7 +244,7 @@ export const getSearchDocumentDetailsPaged = (
|
||||
|
||||
export const getLinkedCases = (parentIncidentid) => {
|
||||
return getJson(
|
||||
"/api/endpoint/getlinkedcases_api?parentincidentid=" + parentIncidentid
|
||||
"/api/cases/get-linked-cases?parentincidentid=" + parentIncidentid
|
||||
).catch((error) => {
|
||||
consoleLogger(error);
|
||||
});
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
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,
|
||||
optionsArr,
|
||||
meta: { touched, error },
|
||||
errorMsg,
|
||||
errorMsg
|
||||
}) => {
|
||||
let { t, lang } = useTranslation();
|
||||
optionsArr = [
|
||||
t("account:account-preferred-language-english") + ":846040001",
|
||||
t("account:account-preferred-language-welsh") + ":846040000",
|
||||
t("account:account-preferred-language-welsh") + ":846040000"
|
||||
];
|
||||
return (
|
||||
<>
|
||||
@@ -202,7 +202,7 @@ let PersonalDetails = (props) => {
|
||||
load,
|
||||
pristine,
|
||||
reset,
|
||||
submitting,
|
||||
submitting
|
||||
} = props;
|
||||
let { t, lang } = useTranslation();
|
||||
|
||||
@@ -324,8 +324,8 @@ let PersonalDetails = (props) => {
|
||||
label={t("account:account-telephone-label")}
|
||||
/>
|
||||
<Field
|
||||
name="company"
|
||||
id="company"
|
||||
name="pinswg_companyname"
|
||||
id="pinswg_companyname"
|
||||
component={RenderTextfield}
|
||||
type="text"
|
||||
className="govuk-input govuk-input--width-20"
|
||||
@@ -444,7 +444,7 @@ const mapStateToProps = (state) => {
|
||||
searchResultsObj: state.searchResultsObj,
|
||||
formData: state.formData,
|
||||
appealType: state.appealType,
|
||||
accountDetails: state.accountDetails,
|
||||
accountDetails: state.accountDetails
|
||||
//form: state.form,
|
||||
};
|
||||
};
|
||||
@@ -453,7 +453,7 @@ const mapDispatchToProps = (dispatch) => {
|
||||
return {
|
||||
setCurrentSection: (currentSection) => {
|
||||
dispatch(setCurrentSection(currentSection));
|
||||
},
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
@@ -484,12 +484,12 @@ const selector = formValueSelector("personalDetailsForm"); // <-- same as form n
|
||||
PersonalDetails = reduxForm({
|
||||
form: "personalDetailsForm",
|
||||
enableReinitialize: true, // this is needed!!
|
||||
destroyOnUnmount: false,
|
||||
destroyOnUnmount: false
|
||||
})(PersonalDetails);
|
||||
|
||||
// You have to connect() to any reducers that you wish to connect to yourself
|
||||
PersonalDetails = connect((state) => ({
|
||||
initialValues: state.accountDetails.accountDetails, // pull initial values from account reducer
|
||||
initialValues: state.accountDetails.accountDetails // pull initial values from account reducer
|
||||
}))(PersonalDetails);
|
||||
|
||||
export default PersonalDetails;
|
||||
|
||||
@@ -11,7 +11,7 @@ const BuildCheckPersonalDetails = (props) => {
|
||||
handleSubmit,
|
||||
value,
|
||||
setPersonalDetailsComplete,
|
||||
setAccountUpdatedComplete,
|
||||
setAccountUpdatedComplete
|
||||
} = props;
|
||||
let { t, lang } = useTranslation();
|
||||
|
||||
@@ -142,7 +142,7 @@ const BuildCheckPersonalDetails = (props) => {
|
||||
<dd className="govuk-summary-list__value">
|
||||
{
|
||||
props.props.props.form.personalDetailsForm.values
|
||||
.company
|
||||
.pinswg_companyname
|
||||
}
|
||||
</dd>
|
||||
<dd className="govuk-summary-list__actions">
|
||||
@@ -354,7 +354,7 @@ const mapStateToProps = (state) => {
|
||||
searchResultsObj: state.searchResultsObj,
|
||||
formData: state.formData,
|
||||
appealType: state.appealType,
|
||||
accountDetails: state.accountDetails,
|
||||
accountDetails: state.accountDetails
|
||||
//form: state.form,
|
||||
};
|
||||
};
|
||||
@@ -363,7 +363,7 @@ const mapDispatchToProps = (dispatch) => {
|
||||
return {
|
||||
setCurrentSection: (currentSection) => {
|
||||
dispatch(setCurrentSection(currentSection));
|
||||
},
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ const PersonalDetailsComplete = (props) => {
|
||||
}
|
||||
|
||||
doUpdate();
|
||||
}, [loggedinUserId, formValues, prefLang]);
|
||||
}, [loggedinUserId, formValues, prefLang, userLang]);
|
||||
|
||||
return (
|
||||
<>
|
||||
|
||||
@@ -66,7 +66,7 @@ const RegisterForm = (props) => {
|
||||
setRegisterFormComplete,
|
||||
setAccountCreatedComplete,
|
||||
loggedInUserEmail,
|
||||
emailaddress1,
|
||||
emailaddress1
|
||||
} = props;
|
||||
let { t, lang } = useTranslation();
|
||||
|
||||
@@ -199,6 +199,17 @@ const RegisterForm = (props) => {
|
||||
"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 className="govuk-fieldset">
|
||||
<legend className="govuk-fieldset__legend govuk-fieldset__legend--m">
|
||||
@@ -312,8 +323,8 @@ const mapStateToProps = (state, props) => {
|
||||
appealType: state.appealType,
|
||||
//form: state.form,
|
||||
initialValues: {
|
||||
emailaddress1: props.loggedInUserEmail,
|
||||
},
|
||||
emailaddress1: props.loggedInUserEmail
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
@@ -321,7 +332,7 @@ const mapDispatchToProps = (dispatch) => {
|
||||
return {
|
||||
setCurrentSection: (currentSection) => {
|
||||
dispatch(setCurrentSection(currentSection));
|
||||
},
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
@@ -334,6 +345,6 @@ export default connect(
|
||||
reduxForm({
|
||||
form: "accountRegisterForm",
|
||||
enableReinitialize: true,
|
||||
destroyOnUnmount: false,
|
||||
destroyOnUnmount: false
|
||||
})(RegisterForm)
|
||||
);
|
||||
|
||||
@@ -3,6 +3,7 @@ import Link from "next/link";
|
||||
import { useRouter } from "next/router";
|
||||
import CRMError from "./crmError";
|
||||
import SearchResults from "./search/addresssearchresults";
|
||||
import { hasOwn } from "./utils";
|
||||
|
||||
export default function Search(props) {
|
||||
const {
|
||||
@@ -12,14 +13,14 @@ export default function Search(props) {
|
||||
myportal,
|
||||
watchedCases,
|
||||
isLinkedCase,
|
||||
showLoginCheck,
|
||||
showLoginCheck
|
||||
} = props;
|
||||
let { t } = useTranslation();
|
||||
|
||||
const router = useRouter();
|
||||
const { locale } = router;
|
||||
|
||||
var hasError = _.has(searchResultsObj.searchResultsObj, "errorCode")
|
||||
var hasError = hasOwn(searchResultsObj.searchResultsObj, "errorCode")
|
||||
? true
|
||||
: false;
|
||||
|
||||
|
||||
@@ -6,15 +6,17 @@ import Link from "next/link";
|
||||
import { useRouter } from "next/router";
|
||||
import PaginationControl from "../../../components/search/pagination";
|
||||
import { connect } from "react-redux";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
|
||||
import {
|
||||
setSearchResults,
|
||||
setSearchDetails
|
||||
} from "../../../store/searchOutput/action";
|
||||
|
||||
import { getDetailsProxy, getSearchDetailsPaged } from "../../utils";
|
||||
import { getDetailsProxy, getSearchDetailsPaged, hasOwn } from "../../utils";
|
||||
import { getAdvancedSearchPaged } from "../../../actions/services/searchService";
|
||||
import { getNewAppealsPage } from "../../../actions/services/adminService";
|
||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
import {
|
||||
setCurrentPage,
|
||||
setCurrentReference
|
||||
@@ -28,9 +30,15 @@ function AppealsTab(props) {
|
||||
const [fieldSortState, setfieldSortState] = useState("desc");
|
||||
const [loginToWatch, setLoginToWatch] = useState("true");
|
||||
|
||||
const searchDetailsObj = props.searchResultsObj.searchDetailsObj || {};
|
||||
const resultsArr = props.searchResultsObj.searchResultsObj.value || [];
|
||||
const searchResultsObj = props.searchResultsObj.searchResultsObj;
|
||||
const {
|
||||
searchResultsObj: searchResultsState,
|
||||
setSearchResults,
|
||||
setSearchDetails
|
||||
} = props;
|
||||
|
||||
const searchDetailsObj = searchResultsState.searchDetailsObj || {};
|
||||
const resultsArr = searchResultsState.searchResultsObj.value || [];
|
||||
const searchResultsObj = searchResultsState.searchResultsObj;
|
||||
|
||||
const { t } = useTranslation();
|
||||
const router = useRouter();
|
||||
@@ -75,20 +83,14 @@ function AppealsTab(props) {
|
||||
fieldSort,
|
||||
selectedOption
|
||||
).then((data) => {
|
||||
props.setSearchResults(data); // ✅ use props, not import
|
||||
setSearchResults(data);
|
||||
return getSearchDetailsPaged(data).then((details) => {
|
||||
props.setSearchDetails(details); // ✅ use props, not import
|
||||
setSearchDetails(details);
|
||||
setShowSpinnerState(false);
|
||||
});
|
||||
});
|
||||
},
|
||||
[
|
||||
advancedSearch,
|
||||
searchString,
|
||||
selectedOption,
|
||||
props.setSearchDetails,
|
||||
props.setSearchResults
|
||||
]
|
||||
[selectedOption, setSearchDetails, setSearchResults]
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
@@ -255,6 +257,8 @@ function AppealsTab(props) {
|
||||
className="govuk-link--no-underline"
|
||||
onClick={() => {
|
||||
setCurrentReference({
|
||||
"statuscode":
|
||||
item.statuscode,
|
||||
"ticketnumber":
|
||||
item.ticketnumber,
|
||||
"currentReference":
|
||||
@@ -304,7 +308,7 @@ function AppealsTab(props) {
|
||||
)}
|
||||
:
|
||||
</span>
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_projectlocation"
|
||||
)
|
||||
@@ -323,7 +327,7 @@ function AppealsTab(props) {
|
||||
)[0]
|
||||
: ""
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddressline1"
|
||||
)
|
||||
@@ -333,52 +337,52 @@ function AppealsTab(props) {
|
||||
{/* {detailsObj.pinswg_siteaddressline1 !=
|
||||
null && <br />} */}
|
||||
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddressline1"
|
||||
) &&
|
||||
detailsObj.pinswg_siteaddressline1 !=
|
||||
null && <br />}
|
||||
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddressline1"
|
||||
)
|
||||
? detailsObj.pinswg_siteaddressline2
|
||||
: ""}
|
||||
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddressline2"
|
||||
) &&
|
||||
detailsObj.pinswg_siteaddressline2 !=
|
||||
null && <br />}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddresstown"
|
||||
)
|
||||
? detailsObj.pinswg_siteaddresstown
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddresstown"
|
||||
) &&
|
||||
detailsObj.pinswg_siteaddresstown !=
|
||||
null && <br />}
|
||||
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddresscounty"
|
||||
)
|
||||
? detailsObj.pinswg_siteaddresscounty
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddresscounty"
|
||||
) &&
|
||||
detailsObj.pinswg_siteaddresscounty !=
|
||||
null && <br />}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddresspostcode"
|
||||
)
|
||||
@@ -396,7 +400,7 @@ function AppealsTab(props) {
|
||||
? item.pinswg_appellantfirstname +
|
||||
" " +
|
||||
item.pinswg_appellantlastname
|
||||
: _.has(detailsObj, [
|
||||
: hasOwn(detailsObj, [
|
||||
"_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue"
|
||||
])
|
||||
? detailsObj[
|
||||
@@ -411,23 +415,17 @@ function AppealsTab(props) {
|
||||
)}
|
||||
:
|
||||
</span>
|
||||
{_.has(item, [
|
||||
{hasOwn(item, [
|
||||
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||
])
|
||||
? router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
item[
|
||||
? resolveCrmDisplayValue({
|
||||
value: item[
|
||||
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
],
|
||||
locale: router.locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: "N/A"
|
||||
})
|
||||
: item[
|
||||
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||
] || "N/A"
|
||||
: ""}
|
||||
</dd>
|
||||
<dd className="govuk-summary-list__value govuk-!-font-size-16">
|
||||
@@ -437,20 +435,14 @@ function AppealsTab(props) {
|
||||
)}
|
||||
:
|
||||
</span>
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
item[
|
||||
{resolveCrmDisplayValue({
|
||||
value: item[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: item[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] || "N/A"}
|
||||
],
|
||||
locale: router.locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: "N/A"
|
||||
})}
|
||||
</dd>
|
||||
<dd className="govuk-summary-list__value govuk-!-font-size-16">
|
||||
<span className="results-visually-hidden">
|
||||
@@ -460,20 +452,14 @@ function AppealsTab(props) {
|
||||
:
|
||||
</span>
|
||||
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
item[
|
||||
{resolveCrmDisplayValue({
|
||||
value: item[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: item[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] || "N/A"}
|
||||
],
|
||||
locale: router.locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: "N/A"
|
||||
})}
|
||||
</dd>
|
||||
<dd className="govuk-summary-list__value govuk-!-font-size-16">
|
||||
{item[
|
||||
|
||||
@@ -0,0 +1,273 @@
|
||||
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>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,571 @@
|
||||
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>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,294 @@
|
||||
// // 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 { connect } from "react-redux";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import { formatDates, getDocLink } from "../../utils";
|
||||
import { formatDates, getDocLink, hasOwn } from "../../utils";
|
||||
import PaginationControl from "../../../components/case/pagination";
|
||||
import DocumentLink from "../../utils/downloads";
|
||||
import { useDownloadQueue } from "../../utils/downloadmanager";
|
||||
@@ -21,6 +21,8 @@ import { getNewDocumentsPaged } from "../../../actions/services/adminService";
|
||||
import { setCurrentPage } from "../../../store/currentView/action";
|
||||
|
||||
import { setDocumentDetails } from "../../../store/searchOutput/action";
|
||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
|
||||
const getDocumentTypes = [
|
||||
{
|
||||
"Value": 846040009,
|
||||
@@ -397,19 +399,11 @@ const DocumentsTab = (props) => {
|
||||
className="govuk-label-s govuk-checkboxes__label"
|
||||
htmlFor={item.Value}
|
||||
>
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
item.Label +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: item.Label ||
|
||||
t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}{" "}
|
||||
{resolveCrmDisplayValue({
|
||||
value: item.Label,
|
||||
locale,
|
||||
translations: transLookup
|
||||
})}
|
||||
</label>
|
||||
</div>
|
||||
);
|
||||
@@ -470,19 +464,11 @@ const DocumentsTab = (props) => {
|
||||
className="govuk-label-s govuk-checkboxes__label"
|
||||
htmlFor={"origin_" + item.Value}
|
||||
>
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
item.Label +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: item.Label ||
|
||||
t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}{" "}
|
||||
{resolveCrmDisplayValue({
|
||||
value: item.Label,
|
||||
locale,
|
||||
translations: transLookup
|
||||
})}
|
||||
</label>
|
||||
</div>
|
||||
);
|
||||
@@ -754,7 +740,7 @@ const DocumentsTab = (props) => {
|
||||
// )}
|
||||
// :
|
||||
// </span>
|
||||
// {_.has(
|
||||
// {hasOwn(
|
||||
// detailsObj,
|
||||
// "pinswg_name"
|
||||
// )
|
||||
@@ -789,7 +775,7 @@ const DocumentsTab = (props) => {
|
||||
)}
|
||||
:
|
||||
</span>
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_name"
|
||||
)
|
||||
@@ -805,7 +791,7 @@ const DocumentsTab = (props) => {
|
||||
)}
|
||||
:
|
||||
</span>
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_name"
|
||||
)
|
||||
@@ -822,22 +808,15 @@ const DocumentsTab = (props) => {
|
||||
:
|
||||
</span>
|
||||
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue(
|
||||
{
|
||||
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"
|
||||
],
|
||||
locale,
|
||||
translations:
|
||||
transLookup
|
||||
}
|
||||
)}
|
||||
</dd>
|
||||
<dd className="govuk-summary-list__value govuk-!-font-size-14">
|
||||
@@ -848,7 +827,7 @@ const DocumentsTab = (props) => {
|
||||
:
|
||||
</span>
|
||||
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"createdon"
|
||||
)
|
||||
@@ -936,17 +915,16 @@ const DocumentsTab = (props) => {
|
||||
)
|
||||
.then((data) => data)
|
||||
.then((data) => {
|
||||
props.setDocumentDetails(data);
|
||||
setDocumentDetails(data);
|
||||
setShowSpinnerState(false);
|
||||
});
|
||||
},
|
||||
[
|
||||
props.incidentid,
|
||||
selectedOption,
|
||||
selectedDocumentType,
|
||||
selectedWeeks,
|
||||
selectedDocumentOrigin,
|
||||
props.setDocumentDetails
|
||||
setDocumentDetails
|
||||
]
|
||||
);
|
||||
|
||||
@@ -957,7 +935,7 @@ const DocumentsTab = (props) => {
|
||||
orderBy,
|
||||
fieldSort
|
||||
).then((data) => {
|
||||
props.setDocumentDetails(data);
|
||||
setDocumentDetails(data);
|
||||
return data;
|
||||
});
|
||||
|
||||
@@ -1060,7 +1038,7 @@ const DocumentsTab = (props) => {
|
||||
selectedDocumentType,
|
||||
selectedWeeks
|
||||
).then((data) => {
|
||||
props.setDocumentDetails(data);
|
||||
setDocumentDetails(data);
|
||||
setDocumentSearchState(true);
|
||||
|
||||
return data;
|
||||
@@ -1072,13 +1050,11 @@ const DocumentsTab = (props) => {
|
||||
//const searchDocumentResultsObj = docDetailsObj();
|
||||
}, [
|
||||
incidentid,
|
||||
props.setDocumentDetails,
|
||||
setDocumentDetails,
|
||||
selectedOption,
|
||||
selectedDocumentType,
|
||||
fieldSortState,
|
||||
orderByState,
|
||||
getDocumentTypes,
|
||||
getOrigin,
|
||||
getDocumentResults,
|
||||
lang,
|
||||
selectedWeeks
|
||||
@@ -1107,9 +1083,7 @@ const DocumentsTab = (props) => {
|
||||
return (
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-grid-column-full">
|
||||
<h2 className="govuk-heading-m ">
|
||||
{t("case:documents-heading-label")}
|
||||
</h2>
|
||||
<h1 className="">{t("case:documents-heading-label")}</h1>
|
||||
{/* <div className="">
|
||||
MDU :{" "}
|
||||
{countFieldValue(
|
||||
@@ -1134,7 +1108,7 @@ const DocumentsTab = (props) => {
|
||||
<select
|
||||
onChange={(e) => {
|
||||
setSelectedWeeks(e.target.value);
|
||||
props.setCurrentPage(1);
|
||||
setCurrentPage(1);
|
||||
}}
|
||||
value={selectedWeeks}
|
||||
className="govuk-select"
|
||||
|
||||
@@ -4,9 +4,12 @@ import Link from "next/link";
|
||||
import { bytesToSize } from "../../../components/utils";
|
||||
import {
|
||||
deleteMyRepresentationsFromBlob,
|
||||
deleteAwaitingSubmissionsFromBlob
|
||||
deleteAwaitingSubmissionsFromBlob,
|
||||
getRepsFromBlobProxy
|
||||
} from "../../../actions/services/documentService";
|
||||
import { sendRepCompleteMessage } from "../../../actions/services/portalService";
|
||||
import { parseCookies } from "nookies";
|
||||
import { consoleLogger } from "../../../actions/core/logger";
|
||||
|
||||
import { formatBlobDates } from "../utils/adminHelper";
|
||||
|
||||
@@ -21,6 +24,33 @@ export default function StorageTab({ data, repCompleteCount }) {
|
||||
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 (
|
||||
<div>
|
||||
<h1>Storage Account Contents</h1>
|
||||
|
||||
@@ -37,7 +37,7 @@ export async function fetchAdminStorageData() {
|
||||
const limit = pLimit(5);
|
||||
let data = await Promise.all(
|
||||
users.map(async (user) => {
|
||||
limit(async () => {
|
||||
return limit(async () => {
|
||||
const containers = await listContainersForUser(
|
||||
blobServiceClient,
|
||||
`${user.id}`,
|
||||
|
||||
@@ -91,7 +91,7 @@ const Breadcrumbs = (props) => {
|
||||
watchedCases: () => t("myportal:watchedcases-card-title"),
|
||||
myCases: () => t("myportal:mycases-card-title"),
|
||||
myRepresentations: () => t("myportal:myrepresentations-card-title"),
|
||||
mySubmittedReps: "Submitted representations"
|
||||
mySubmittedReps: () => t("myportal:submitted-reps-card-title")
|
||||
};
|
||||
|
||||
const viewAllLabelResolver = labelsByKey[viewKey];
|
||||
@@ -186,7 +186,7 @@ const Breadcrumbs = (props) => {
|
||||
<>
|
||||
{renderLinkCrumb(
|
||||
isWelsh
|
||||
? `${router.locale}/dnsapplications`
|
||||
? `/${router.locale}/dnsapplications`
|
||||
: "/dnsapplications",
|
||||
t("dnsCommon:service-name")
|
||||
)}
|
||||
|
||||
+1
-8
@@ -44,15 +44,8 @@ const Case = (props) => {
|
||||
showLoginCheck={props.showLoginCheck}
|
||||
eventsObj={props.eventsObj}
|
||||
mediaObj={props.mediaObj}
|
||||
mapTarget={props.mapTarget}
|
||||
/>
|
||||
{showRepresentations == true && (
|
||||
<RepresentationList
|
||||
incidentid={props.incidentid}
|
||||
caseReference={props.caseReference}
|
||||
representationsObj={props.representationsObj}
|
||||
documentDetailsObj={props.documentDetailsObj}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
+24
-383
@@ -5,7 +5,7 @@ import { useRouter } from "next/router";
|
||||
import { useCallback, useEffect, useRef, useState } from "react";
|
||||
import { connect } from "react-redux";
|
||||
import transLookup from "../../data/lookuptranslations.json";
|
||||
import { formatDates, getDocLink } from "../utils";
|
||||
import { formatDates, getDocLink, hasOwn } from "../utils";
|
||||
import PaginationControl from "./pagination";
|
||||
import { sendGAEvent } from "@next/third-parties/google";
|
||||
|
||||
@@ -19,6 +19,7 @@ import { setCurrentPage } from "../../store/currentView/action";
|
||||
import { setDocumentDetails } from "../../store/searchOutput/action";
|
||||
import DocumentLink from "../utils/downloads";
|
||||
import { useDownloadQueue } from "../utils/downloadmanager";
|
||||
import resolveCrmDisplayValue from "../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
|
||||
const DocumentDetails = (props) => {
|
||||
let { t, lang } = useTranslation();
|
||||
@@ -38,6 +39,8 @@ const DocumentDetails = (props) => {
|
||||
const router = useRouter();
|
||||
const { locale } = router;
|
||||
|
||||
const appealType = props.currentView?.caseReference?.appealType;
|
||||
|
||||
var documentDetailsArr = documentDetailsObj || [];
|
||||
const { startDownload, getStatus } = useDownloadQueue(3);
|
||||
const [selectedOption, setSelectedOption] = useState(10);
|
||||
@@ -92,352 +95,6 @@ const DocumentDetails = (props) => {
|
||||
};
|
||||
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) => {
|
||||
documentDetailsArr = documentDetailsArr.value;
|
||||
|
||||
@@ -547,19 +204,11 @@ const DocumentDetails = (props) => {
|
||||
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"
|
||||
)}{" "}
|
||||
{resolveCrmDisplayValue({
|
||||
value: item.pinswg_isharedocumentlocationsLabel,
|
||||
locale,
|
||||
translations: transLookup
|
||||
})}{" "}
|
||||
- ({item.count})
|
||||
</label>
|
||||
</div>
|
||||
@@ -785,7 +434,7 @@ const DocumentDetails = (props) => {
|
||||
)}
|
||||
:
|
||||
</span>
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_name"
|
||||
)
|
||||
@@ -801,7 +450,7 @@ const DocumentDetails = (props) => {
|
||||
)}
|
||||
:
|
||||
</span>
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_name"
|
||||
)
|
||||
@@ -817,24 +466,13 @@ const DocumentDetails = (props) => {
|
||||
)}
|
||||
:
|
||||
</span>
|
||||
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
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"
|
||||
)}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup
|
||||
})}
|
||||
</dd>
|
||||
<dd className="govuk-summary-list__value govuk-!-font-size-16">
|
||||
<span className="results-visually-hidden">
|
||||
@@ -844,7 +482,7 @@ const DocumentDetails = (props) => {
|
||||
:
|
||||
</span>
|
||||
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_latestpublisheddate"
|
||||
)
|
||||
@@ -1043,14 +681,17 @@ const DocumentDetails = (props) => {
|
||||
<h3>
|
||||
{showDocumentSearchState == false
|
||||
? t("case:documents-checking-label")
|
||||
: appealType === 846040002 ||
|
||||
appealType === 846040011
|
||||
? t(
|
||||
"case:documents-non-available-app-label"
|
||||
)
|
||||
: t("case:documents-non-available-label")}
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
) : showFilteredDocs == "true" ? (
|
||||
FilteredDocumentView(documentDetailsArr)
|
||||
) : (
|
||||
DocumentView(documentDetailsArr)
|
||||
FilteredDocumentView(documentDetailsArr)
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+115
-72
@@ -3,9 +3,16 @@ import { setCurrentPage } from "../../store/currentView/action";
|
||||
import { connect } from "react-redux";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { formatDates } from "../utils";
|
||||
import {
|
||||
getLivePublishedEvent,
|
||||
isEventLiveNow
|
||||
} from "./summary/utils/liveEvent";
|
||||
import { useRouter } from "next/router";
|
||||
|
||||
const EventsDetails = (props) => {
|
||||
let { t } = useTranslation();
|
||||
const router = useRouter();
|
||||
const { locale } = router;
|
||||
|
||||
const EventView = (eventsArr) => {
|
||||
eventsArr = eventsArr.value;
|
||||
@@ -23,8 +30,6 @@ const EventsDetails = (props) => {
|
||||
return obj.hasOwnProperty(property) && obj[property] !== null;
|
||||
}
|
||||
|
||||
//console.log(eventsArr.length > 0);
|
||||
|
||||
return (
|
||||
eventsArr.length > 0 && (
|
||||
<div className="govuk-grid-row">
|
||||
@@ -63,76 +68,26 @@ const EventsDetails = (props) => {
|
||||
{item.pinswg_eventname}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
<div className="eventColumn">
|
||||
{hasOwnPropertyAndNotNull(
|
||||
item,
|
||||
"pinswg_eventaddressline1"
|
||||
[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
]
|
||||
) && (
|
||||
<>
|
||||
<div>
|
||||
<b>
|
||||
{t(
|
||||
"case:event-address-label"
|
||||
"case:event-type-of-event-label"
|
||||
)}
|
||||
</b>
|
||||
:
|
||||
</div>
|
||||
<div>
|
||||
:{" "}
|
||||
{
|
||||
item.pinswg_eventaddressline1
|
||||
}
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
|
||||
{hasOwnPropertyAndNotNull(
|
||||
item,
|
||||
"pinswg_eventaddressline2"
|
||||
) && (
|
||||
<div>
|
||||
{
|
||||
item.pinswg_eventaddressline2
|
||||
item[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
]
|
||||
}
|
||||
</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(
|
||||
item,
|
||||
"pinswg_dateeventrequested"
|
||||
@@ -171,27 +126,115 @@ const EventsDetails = (props) => {
|
||||
<div className="eventColumn">
|
||||
{hasOwnPropertyAndNotNull(
|
||||
item,
|
||||
[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue",
|
||||
]
|
||||
"pinswg_eventaddressline1"
|
||||
) && (
|
||||
<div>
|
||||
<>
|
||||
<div
|
||||
style={{
|
||||
display: "flex"
|
||||
}}
|
||||
>
|
||||
<b>
|
||||
{t(
|
||||
"case:event-type-of-event-label"
|
||||
"case:event-address-label"
|
||||
)}
|
||||
</b>
|
||||
:{" "}
|
||||
:
|
||||
<div
|
||||
style={{
|
||||
display:
|
||||
"flex",
|
||||
marginLeft:
|
||||
"10px",
|
||||
flexDirection:
|
||||
"column"
|
||||
}}
|
||||
>
|
||||
{hasOwnPropertyAndNotNull(
|
||||
item,
|
||||
"pinswg_eventaddressline1"
|
||||
) && (
|
||||
<span>
|
||||
{
|
||||
item[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
]
|
||||
item.pinswg_eventaddressline1
|
||||
}
|
||||
</div>
|
||||
</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>
|
||||
@@ -203,7 +246,7 @@ const EventsDetails = (props) => {
|
||||
|
||||
const mapStateToProps = (state) => {
|
||||
return {
|
||||
...state,
|
||||
...state
|
||||
};
|
||||
};
|
||||
|
||||
@@ -214,7 +257,7 @@ const mapDispatchToProps = (dispatch) => {
|
||||
},
|
||||
setCurrentPage: (currentPage) => {
|
||||
dispatch(setCurrentPage(currentPage));
|
||||
},
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
+25
-411
@@ -1,404 +1,7 @@
|
||||
// // 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 useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import { getBilingualText } from "./summary/utils/helpers";
|
||||
|
||||
/**
|
||||
* MediaDetails
|
||||
@@ -447,19 +50,19 @@ const MediaDetails = ({ mediaObj, whichTab, title, useNoCookie = true }) => {
|
||||
const { t } = useTranslation();
|
||||
const router = useRouter();
|
||||
|
||||
const mediaArr = mediaObj?.value || [];
|
||||
const sourceMedia = mediaObj?.value;
|
||||
const isActive = whichTab ? whichTab === "case-media" : true;
|
||||
|
||||
// Build list of playable items (publishable only)
|
||||
const videoItems = useMemo(() => {
|
||||
const isWelsh = router.locale === "cy";
|
||||
|
||||
return (mediaArr || [])
|
||||
return (sourceMedia || [])
|
||||
.filter((x) => x?.pinswg_publishtoweb)
|
||||
.map((item) => {
|
||||
const link = isWelsh
|
||||
? item.pinswg_mediaLinkCY
|
||||
: item.pinswg_mediaLinkEN;
|
||||
? item.pinswg_videoplatformurlwelsh
|
||||
: item.pinswg_videoplatformurl;
|
||||
|
||||
const videoId = extractYouTubeId(link);
|
||||
if (!videoId) return null;
|
||||
@@ -468,19 +71,19 @@ const MediaDetails = ({ mediaObj, whichTab, title, useNoCookie = true }) => {
|
||||
key:
|
||||
item.pinswg_documentid ||
|
||||
item.pinswg_mediaid ||
|
||||
`${item.pinswg_name}-${videoId}`,
|
||||
`${item.pinswg_eventrecordingid}-${videoId}`,
|
||||
videoId,
|
||||
name: item.pinswg_name || "Video",
|
||||
name: item.pinswg_eventrecordingname || "Video",
|
||||
description: item.pinswg_description || "",
|
||||
// If you later store duration in CRM, map it here (e.g. "03:42")
|
||||
duration: item.pinswg_duration || null,
|
||||
thumbnailHQ: `https://img.youtube.com/vi/${videoId}/hqdefault.jpg`,
|
||||
thumbnailMax: `https://img.youtube.com/vi/${videoId}/maxresdefault.jpg`,
|
||||
raw: item,
|
||||
raw: item
|
||||
};
|
||||
})
|
||||
.filter(Boolean);
|
||||
}, [mediaArr, router.locale]);
|
||||
}, [sourceMedia, router.locale]);
|
||||
|
||||
const [selectedIndex, setSelectedIndex] = useState(0);
|
||||
|
||||
@@ -546,14 +149,22 @@ const MediaDetails = ({ mediaObj, whichTab, title, useNoCookie = true }) => {
|
||||
{selected && (
|
||||
<div className="govuk-!-margin-bottom-4">
|
||||
<div className="govuk-body">
|
||||
<b>{t("case:event-name-label")}</b>:{" "}
|
||||
{selected.name}
|
||||
<b>{t("case:event-recording-name-label")}</b>:{" "}
|
||||
{getBilingualText(selected.name, router.locale)}
|
||||
</div>
|
||||
|
||||
{!!selected.description && (
|
||||
<div className="govuk-body">
|
||||
<b>{t("case:event-event-name-label")}</b>:{" "}
|
||||
{selected.description}
|
||||
<b>
|
||||
{t(
|
||||
"case:event-recording-description-label"
|
||||
)}
|
||||
</b>
|
||||
:{" "}
|
||||
{getBilingualText(
|
||||
selected.description,
|
||||
router.locale
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
@@ -629,7 +240,10 @@ const MediaDetails = ({ mediaObj, whichTab, title, useNoCookie = true }) => {
|
||||
</div>
|
||||
|
||||
<span className="videoTitle">
|
||||
{v.name}
|
||||
{getBilingualText(
|
||||
v.name,
|
||||
router.locale
|
||||
)}
|
||||
</span>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
@@ -2,22 +2,22 @@ import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import { connect } from "react-redux";
|
||||
import { Field, change, reduxForm } from "redux-form";
|
||||
import { useState } from "react";
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
import { bytesToSize, getThumbnailIconByExtension } from "../../utils";
|
||||
import {
|
||||
FileUploadField,
|
||||
RenderCondtionalRadioList,
|
||||
RenderPickList,
|
||||
RenderRichMultiline,
|
||||
shouldDisableButton,
|
||||
shouldDisableButton
|
||||
} from "./representationElements";
|
||||
import RepresentationTypeSelectorBlock from "./elements/RepresentationTypeSelectorBlock";
|
||||
|
||||
import { useDropzone } from "react-dropzone";
|
||||
import {
|
||||
setRepresentationCapacity,
|
||||
setRepresentationSubmit,
|
||||
setFilesForRepresentations,
|
||||
setFilesForRepresentations
|
||||
} from "../../../store/currentView/action";
|
||||
|
||||
const ConsultationAgent = (props) => {
|
||||
@@ -36,9 +36,23 @@ const ConsultationAgent = (props) => {
|
||||
setSavingStatus,
|
||||
savingStatus,
|
||||
setFilesForRepresentations,
|
||||
onRepresentationTypeChange,
|
||||
onTypeSelectionConfirmed
|
||||
} = props;
|
||||
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) != "{}") {
|
||||
setRepFileName(formObj.representationForm.values);
|
||||
|
||||
@@ -63,63 +77,43 @@ const ConsultationAgent = (props) => {
|
||||
));
|
||||
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 (
|
||||
<>
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-form-group">
|
||||
{typeof formObj.representationForm.values
|
||||
.representationType == "undefined" &&
|
||||
props.representationType != "Select..." ? (
|
||||
<>
|
||||
<h2 className="govuk-heading-m ">
|
||||
{t(
|
||||
<RepresentationTypeSelectorBlock
|
||||
t={t}
|
||||
headingText={t(
|
||||
"myrepresentations:consultation-from-an-agent-heading"
|
||||
)}
|
||||
</h2>
|
||||
|
||||
<label
|
||||
className="govuk-label govuk-body-m"
|
||||
htmlFor="representationType"
|
||||
>
|
||||
{t(
|
||||
kindLabelText={t(
|
||||
"myrepresentations:kind-of-consultation-label"
|
||||
)}
|
||||
</label>
|
||||
|
||||
<Field
|
||||
name="representationType"
|
||||
component={RenderPickList}
|
||||
datafieldname="representationType"
|
||||
optionsArr={
|
||||
appellantApplicantRepresentationArr
|
||||
}
|
||||
isTypeSelected={isTypeConfirmed}
|
||||
selectedTypeDisplay={selectedRepresentationTypeDisplay}
|
||||
representationType={selectedRepresentationType}
|
||||
setTypeSelectionConfirmed={setTypeSelectionConfirmed}
|
||||
onRepresentationTypeChange={onRepresentationTypeChange}
|
||||
onTypeSelectionConfirmed={onTypeSelectionConfirmed}
|
||||
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>
|
||||
{(typeof props.representationType != "undefined" ||
|
||||
typeof formObj.representationForm.values
|
||||
.representationType != "undefined") && (
|
||||
{isTypeConfirmed && (
|
||||
<>
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-form-group">
|
||||
@@ -146,8 +140,7 @@ const ConsultationAgent = (props) => {
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-form-group">
|
||||
<p className="govuk-body">
|
||||
{formObj.representationForm.values
|
||||
.representationType ==
|
||||
{selectedRepresentationType ==
|
||||
"Consultation Response"
|
||||
? t(
|
||||
"myrepresentations:enter-comment-label"
|
||||
@@ -160,8 +153,7 @@ const ConsultationAgent = (props) => {
|
||||
className="govuk-fieldset"
|
||||
aria-describedby="commentBox-hint"
|
||||
>
|
||||
{formObj.representationForm.values
|
||||
.representationType ==
|
||||
{selectedRepresentationType ==
|
||||
"Consultation Response" && (
|
||||
<div className="govuk-form-group">
|
||||
<Field
|
||||
@@ -223,7 +215,8 @@ const ConsultationAgent = (props) => {
|
||||
"myrepresentations:add-files-label"
|
||||
)}
|
||||
ticketnumber={
|
||||
props.props.caseReference
|
||||
props.currentView.caseReference
|
||||
.ticketnumber
|
||||
}
|
||||
hint={"sdsd"}
|
||||
fileList={
|
||||
@@ -265,8 +258,7 @@ const ConsultationAgent = (props) => {
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
{typeof formObj.representationForm.values.representationType !=
|
||||
"undefined" && (
|
||||
{isTypeConfirmed && (
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-button-group">
|
||||
<button
|
||||
@@ -275,7 +267,7 @@ const ConsultationAgent = (props) => {
|
||||
data-module="govuk-button"
|
||||
disabled={shouldDisableButton({
|
||||
props,
|
||||
formObj,
|
||||
formObj
|
||||
})}
|
||||
>
|
||||
{t("common:continue-button")}
|
||||
@@ -349,7 +341,7 @@ const mapDispatchToProps = (dispatch) => ({
|
||||
|
||||
setFilesForRepresentations: (fileList) => {
|
||||
dispatch(setFilesForRepresentations(fileList));
|
||||
},
|
||||
}
|
||||
});
|
||||
|
||||
export default connect(
|
||||
@@ -359,6 +351,6 @@ export default connect(
|
||||
reduxForm({
|
||||
form: "representationForm",
|
||||
enableReinitialize: true,
|
||||
destroyOnUnmount: false,
|
||||
destroyOnUnmount: false
|
||||
})(ConsultationAgent)
|
||||
);
|
||||
|
||||
@@ -2,21 +2,21 @@ import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import { connect } from "react-redux";
|
||||
import { Field, change, reduxForm } from "redux-form";
|
||||
import { useState } from "react";
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
import { bytesToSize, getThumbnailIconByExtension } from "../../utils";
|
||||
import {
|
||||
FileUploadField,
|
||||
RenderPickList,
|
||||
RenderRichMultiline,
|
||||
shouldDisableButton,
|
||||
shouldDisableButton
|
||||
} from "./representationElements";
|
||||
import RepresentationTypeSelectorBlock from "./elements/RepresentationTypeSelectorBlock";
|
||||
|
||||
import { useDropzone } from "react-dropzone";
|
||||
import {
|
||||
setRepresentationCapacity,
|
||||
setRepresentationSubmit,
|
||||
setFilesForRepresentations,
|
||||
setFilesForRepresentations
|
||||
} from "../../../store/currentView/action";
|
||||
|
||||
const ConsultationAppellant = (props) => {
|
||||
@@ -35,9 +35,23 @@ const ConsultationAppellant = (props) => {
|
||||
setSavingStatus,
|
||||
savingStatus,
|
||||
setFilesForRepresentations,
|
||||
onRepresentationTypeChange,
|
||||
onTypeSelectionConfirmed
|
||||
} = props;
|
||||
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");
|
||||
|
||||
if (JSON.stringify(formObj) != "{}") {
|
||||
@@ -62,66 +76,47 @@ const ConsultationAppellant = (props) => {
|
||||
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 (
|
||||
<>
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-form-group">
|
||||
{typeof formObj.representationForm.values
|
||||
.representationType == "undefined" &&
|
||||
props.representationType != "Select..." ? (
|
||||
<>
|
||||
<h2 className="govuk-heading-m ">
|
||||
{t(
|
||||
<RepresentationTypeSelectorBlock
|
||||
t={t}
|
||||
headingText={t(
|
||||
"myrepresentations:consultation-from-an-appellant-heading"
|
||||
)}
|
||||
</h2>
|
||||
<label
|
||||
className="govuk-label govuk-body-m"
|
||||
htmlFor="representationType"
|
||||
>
|
||||
{t(
|
||||
kindLabelText={t(
|
||||
"myrepresentations:kind-of-consultation-label"
|
||||
)}
|
||||
</label>
|
||||
<Field
|
||||
name="representationType"
|
||||
component={RenderPickList}
|
||||
datafieldname="representationType"
|
||||
optionsArr={
|
||||
appellantApplicantRepresentationArr
|
||||
}
|
||||
isTypeSelected={isTypeConfirmed}
|
||||
selectedTypeDisplay={selectedRepresentationTypeDisplay}
|
||||
representationType={selectedRepresentationType}
|
||||
setTypeSelectionConfirmed={setTypeSelectionConfirmed}
|
||||
onRepresentationTypeChange={onRepresentationTypeChange}
|
||||
onTypeSelectionConfirmed={onTypeSelectionConfirmed}
|
||||
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>
|
||||
{(typeof props.representationType != "undefined" ||
|
||||
typeof formObj.representationForm.values
|
||||
.representationType != "undefined") && (
|
||||
{isTypeConfirmed && (
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-form-group">
|
||||
<p className="govuk-body">
|
||||
{formObj.representationForm.values
|
||||
.representationType ==
|
||||
{selectedRepresentationType ==
|
||||
"Consultation Response"
|
||||
? t("myrepresentations:enter-comment-label")
|
||||
: t(
|
||||
@@ -132,8 +127,7 @@ const ConsultationAppellant = (props) => {
|
||||
className="govuk-fieldset"
|
||||
aria-describedby="commentBox-hint"
|
||||
>
|
||||
{formObj.representationForm.values
|
||||
.representationType ==
|
||||
{selectedRepresentationType ==
|
||||
"Consultation Response" && (
|
||||
<div className="govuk-form-group">
|
||||
<Field
|
||||
@@ -195,7 +189,10 @@ const ConsultationAppellant = (props) => {
|
||||
label={t(
|
||||
"myrepresentations:add-files-label"
|
||||
)}
|
||||
ticketnumber={props.props.caseReference}
|
||||
ticketnumber={
|
||||
props.currentView.caseReference
|
||||
.ticketnumber
|
||||
}
|
||||
hint={"sdsd"}
|
||||
fileList={
|
||||
props.currentView.fileList
|
||||
@@ -233,8 +230,7 @@ const ConsultationAppellant = (props) => {
|
||||
</div>
|
||||
)}
|
||||
|
||||
{typeof formObj.representationForm.values.representationType !=
|
||||
"undefined" && (
|
||||
{isTypeConfirmed && (
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-button-group">
|
||||
<button
|
||||
@@ -243,7 +239,7 @@ const ConsultationAppellant = (props) => {
|
||||
data-module="govuk-button"
|
||||
disabled={shouldDisableButton({
|
||||
props,
|
||||
formObj,
|
||||
formObj
|
||||
})}
|
||||
>
|
||||
{t("common:continue-button")}
|
||||
@@ -253,7 +249,6 @@ const ConsultationAppellant = (props) => {
|
||||
onClick={() => {
|
||||
setRepresentationCapacity();
|
||||
props.updateField(
|
||||
"representationForm",
|
||||
"representationType",
|
||||
""
|
||||
);
|
||||
@@ -321,7 +316,7 @@ const mapDispatchToProps = (dispatch) => {
|
||||
|
||||
setFilesForRepresentations: (fileList) => {
|
||||
dispatch(setFilesForRepresentations(fileList));
|
||||
},
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
@@ -332,6 +327,6 @@ export default connect(
|
||||
reduxForm({
|
||||
form: "representationForm",
|
||||
enableReinitialize: true,
|
||||
destroyOnUnmount: false,
|
||||
destroyOnUnmount: false
|
||||
})(ConsultationAppellant)
|
||||
);
|
||||
|
||||
@@ -2,22 +2,22 @@ import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import { connect } from "react-redux";
|
||||
import { Field, change, reduxForm } from "redux-form";
|
||||
import { useState } from "react";
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
import { bytesToSize, getThumbnailIconByExtension } from "../../utils";
|
||||
import {
|
||||
FileUploadField,
|
||||
RenderCondtionalRadioList,
|
||||
RenderPickList,
|
||||
RenderRichMultiline,
|
||||
shouldDisableButton,
|
||||
shouldDisableButton
|
||||
} from "./representationElements";
|
||||
import RepresentationTypeSelectorBlock from "./elements/RepresentationTypeSelectorBlock";
|
||||
|
||||
import { useDropzone } from "react-dropzone";
|
||||
import {
|
||||
setRepresentationCapacity,
|
||||
setRepresentationSubmit,
|
||||
setFilesForRepresentations,
|
||||
setFilesForRepresentations
|
||||
} from "../../../store/currentView/action";
|
||||
|
||||
const ConsultationInterestedPartyPerson = (props) => {
|
||||
@@ -35,11 +35,25 @@ const ConsultationInterestedPartyPerson = (props) => {
|
||||
setSavingStatus,
|
||||
savingStatus,
|
||||
setFilesForRepresentations,
|
||||
onRepresentationTypeChange,
|
||||
onTypeSelectionConfirmed
|
||||
} = props;
|
||||
const required = (value) => (value ? undefined : "Required");
|
||||
|
||||
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) != "{}") {
|
||||
setRepFileName(formObj.representationForm.values);
|
||||
|
||||
@@ -62,67 +76,46 @@ const ConsultationInterestedPartyPerson = (props) => {
|
||||
{file.path} - {file.size} bytes
|
||||
</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 (
|
||||
<>
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-form-group">
|
||||
{typeof formObj.representationForm.values
|
||||
.representationType == "undefined" &&
|
||||
props.representationType != "Select..." ? (
|
||||
<>
|
||||
<h2 className="govuk-heading-m ">
|
||||
{t(
|
||||
<RepresentationTypeSelectorBlock
|
||||
t={t}
|
||||
headingText={t(
|
||||
"myrepresentations:consultation-from-an-interested-person-heading"
|
||||
)}
|
||||
</h2>
|
||||
|
||||
<label
|
||||
className="govuk-label govuk-body-m"
|
||||
htmlFor="representationType"
|
||||
>
|
||||
{t(
|
||||
kindLabelText={t(
|
||||
"myrepresentations:kind-of-consultation-label"
|
||||
)}
|
||||
</label>
|
||||
|
||||
<Field
|
||||
name="representationType"
|
||||
component={RenderPickList}
|
||||
datafieldname="representationType"
|
||||
isTypeSelected={isTypeConfirmed}
|
||||
selectedTypeDisplay={selectedRepresentationTypeDisplay}
|
||||
representationType={selectedRepresentationType}
|
||||
setTypeSelectionConfirmed={setTypeSelectionConfirmed}
|
||||
onRepresentationTypeChange={onRepresentationTypeChange}
|
||||
onTypeSelectionConfirmed={onTypeSelectionConfirmed}
|
||||
optionsArr={interestedPersonRepresentationArr}
|
||||
validate={[required]}
|
||||
optionsArr={
|
||||
interestedPersonRepresentationArr
|
||||
}
|
||||
errorMsg={t(
|
||||
"myrepresentations:select-an-option-label"
|
||||
)}
|
||||
errorMsg={t("myrepresentations:select-an-option-label")}
|
||||
/>
|
||||
</>
|
||||
) : (
|
||||
<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") && (
|
||||
{isTypeConfirmed && (
|
||||
<>
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-form-group">
|
||||
@@ -134,7 +127,7 @@ const ConsultationInterestedPartyPerson = (props) => {
|
||||
t(
|
||||
"myrepresentations:questionnaire-yes"
|
||||
),
|
||||
t("myrepresentations:questionnaire-no"),
|
||||
t("myrepresentations:questionnaire-no")
|
||||
]}
|
||||
id="representationOnBehalfOf"
|
||||
className="govuk-radios__input"
|
||||
@@ -154,8 +147,7 @@ const ConsultationInterestedPartyPerson = (props) => {
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-form-group">
|
||||
<p className="govuk-body">
|
||||
{formObj.representationForm.values
|
||||
.representationType ==
|
||||
{selectedRepresentationType ==
|
||||
"Consultation Response"
|
||||
? t(
|
||||
"myrepresentations:enter-comment-label"
|
||||
@@ -169,8 +161,7 @@ const ConsultationInterestedPartyPerson = (props) => {
|
||||
aria-describedby="commentBox-hint"
|
||||
>
|
||||
{" "}
|
||||
{formObj.representationForm.values
|
||||
.representationType ==
|
||||
{selectedRepresentationType ==
|
||||
"Consultation Response" && (
|
||||
<div className="govuk-form-group">
|
||||
<Field
|
||||
@@ -232,7 +223,8 @@ const ConsultationInterestedPartyPerson = (props) => {
|
||||
"myrepresentations:add-files-label"
|
||||
)}
|
||||
ticketnumber={
|
||||
props.props.caseReference
|
||||
props.currentView.caseReference
|
||||
.ticketnumber
|
||||
}
|
||||
hint={"sdsd"}
|
||||
fileList={
|
||||
@@ -274,8 +266,7 @@ const ConsultationInterestedPartyPerson = (props) => {
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
{typeof formObj.representationForm.values.representationType !=
|
||||
"undefined" && (
|
||||
{isTypeConfirmed && (
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-button-group">
|
||||
<button
|
||||
@@ -284,7 +275,7 @@ const ConsultationInterestedPartyPerson = (props) => {
|
||||
data-module="govuk-button"
|
||||
disabled={shouldDisableButton({
|
||||
props,
|
||||
formObj,
|
||||
formObj
|
||||
})}
|
||||
>
|
||||
{t("common:continue-button")}
|
||||
@@ -363,7 +354,7 @@ const mapDispatchToProps = (dispatch) => ({
|
||||
dispatch(change(form, field, newValue)),
|
||||
setFilesForRepresentations: (fileList) => {
|
||||
dispatch(setFilesForRepresentations(fileList));
|
||||
},
|
||||
}
|
||||
});
|
||||
|
||||
export default connect(
|
||||
@@ -373,6 +364,6 @@ export default connect(
|
||||
reduxForm({
|
||||
form: "representationForm",
|
||||
enableReinitialize: true,
|
||||
destroyOnUnmount: false,
|
||||
destroyOnUnmount: false
|
||||
})(ConsultationInterestedPartyPerson)
|
||||
);
|
||||
|
||||
@@ -1,17 +1,134 @@
|
||||
import { Field } from "redux-form";
|
||||
import router from "next/router";
|
||||
import Link from "next/link";
|
||||
|
||||
import { RenderPickList } from "../representationElements";
|
||||
const getRepresentationTypeHint = (option, t) => {
|
||||
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 = ({
|
||||
t,
|
||||
headingText,
|
||||
kindLabelText,
|
||||
isTypeSelected,
|
||||
selectedTypeDisplay,
|
||||
representationType,
|
||||
setTypeSelectionConfirmed,
|
||||
onRepresentationTypeChange,
|
||||
onTypeSelectionConfirmed,
|
||||
optionsArr,
|
||||
validate,
|
||||
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 (
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-form-group">
|
||||
@@ -20,20 +137,59 @@ const RepresentationTypeSelectorBlock = ({
|
||||
<h2 className="govuk-heading-m ">{headingText}</h2>
|
||||
|
||||
<label
|
||||
className="govuk-label govuk-body-m"
|
||||
className="govuk-label govuk-body-m govuk-!-margin-bottom-2"
|
||||
htmlFor="representationType"
|
||||
>
|
||||
{kindLabelText}
|
||||
</label>
|
||||
|
||||
{hasSelectableOptions ? (
|
||||
<>
|
||||
<Field
|
||||
name="representationType"
|
||||
component={RenderPickList}
|
||||
datafieldname="representationType"
|
||||
component={
|
||||
RenderRepresentationTypeRadioList
|
||||
}
|
||||
onRepresentationTypeChange={
|
||||
onRepresentationTypeChange
|
||||
}
|
||||
validate={validate}
|
||||
optionsArr={optionsArr}
|
||||
optionsArr={enhancedOptions}
|
||||
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">
|
||||
|
||||
@@ -52,12 +52,18 @@ import {
|
||||
buildSubmitEnrichedValues,
|
||||
runFinalisationSequence
|
||||
} from "./utils/finalisationBoundary";
|
||||
import { buildRepresentationContext } from "./utils/buildRepsArrRules";
|
||||
import { getAvailableRepresentationTypes } from "../../../lib/domain/representation-type-policy/getAvailableRepresentationTypes";
|
||||
|
||||
let MakeRepresentation = (props) => {
|
||||
let { t } = useTranslation();
|
||||
|
||||
const [savingStatus, setSavingStatus] = useState(false);
|
||||
const [finaliseAppealProcess, setFinaliseAppealProcess] = useState(false);
|
||||
const [representationTypeConfirmed, setRepresentationTypeConfirmed] =
|
||||
useState(
|
||||
!!props?.currentView?.caseReference?.repDetails?.representationType
|
||||
);
|
||||
|
||||
//const [questionnaireCount, setQuestionnaireCount] = useState(0);
|
||||
|
||||
@@ -249,9 +255,14 @@ let MakeRepresentation = (props) => {
|
||||
|
||||
var detailsObj = {};
|
||||
|
||||
// const isAppellant =
|
||||
// props.props.accountDetails.accountDetails.pinswg_typeofinvolvement ===
|
||||
// 846040001;
|
||||
|
||||
const isAppellant =
|
||||
props.props.accountDetails.accountDetails.pinswg_typeofinvolvement ===
|
||||
846040001;
|
||||
props.props.accountDetails.accountDetails.emailaddress1 ==
|
||||
props.searchResultsObj?.searchResultsObj?.value[0].customerid_contact
|
||||
.emailaddress1;
|
||||
|
||||
const capacityOptionsArr = [];
|
||||
|
||||
@@ -303,259 +314,25 @@ let MakeRepresentation = (props) => {
|
||||
const safeDetailsObj = detailsObj || {};
|
||||
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 buildArr = [];
|
||||
const todaysDate = new Date();
|
||||
const isCaseOwner =
|
||||
props.props.accountDetails.accountDetails.emailaddress1 ==
|
||||
props.searchResultsObj?.searchResultsObj?.value[0]
|
||||
.customerid_contact.emailaddress1;
|
||||
|
||||
const isDNS = appealType === 846040011;
|
||||
const isSIPS = appealType === 846040002;
|
||||
const specialistProcess = currentView.caseReference.specialistProcess;
|
||||
|
||||
const isSpecialistNonHearing = specialistProcess !== 846040001;
|
||||
|
||||
const involvementType =
|
||||
const ctx = buildRepresentationContext({
|
||||
detailsObj,
|
||||
appealType,
|
||||
specialistProcess: currentView.caseReference.specialistProcess,
|
||||
involvementType:
|
||||
props.props?.accountDetails?.accountDetails
|
||||
?.pinswg_typeofinvolvement;
|
||||
?.pinswg_typeofinvolvement,
|
||||
selectedCapacity: repCapacityType(),
|
||||
isCaseOwner,
|
||||
isNRW
|
||||
});
|
||||
|
||||
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;
|
||||
return getAvailableRepresentationTypes(ctx);
|
||||
};
|
||||
|
||||
const repCapacityType = () => {
|
||||
@@ -586,7 +363,10 @@ let MakeRepresentation = (props) => {
|
||||
updateRepresentation,
|
||||
setSavingStatus,
|
||||
savingStatus,
|
||||
setCurrentReference
|
||||
setCurrentReference,
|
||||
onRepresentationTypeChange: () =>
|
||||
setRepresentationTypeConfirmed(false),
|
||||
onTypeSelectionConfirmed: () => setRepresentationTypeConfirmed(true)
|
||||
};
|
||||
|
||||
const { controlKey } = resolveRepresentationControlKey({
|
||||
@@ -791,7 +571,7 @@ let MakeRepresentation = (props) => {
|
||||
loggedinUserEmail
|
||||
} = props.props;
|
||||
const incidentID = props.appealType.caseReference.incidentid;
|
||||
const currentRef = caseReferenceObj.currentReference;
|
||||
const currentRef = caseReferenceObj.ticketnumber;
|
||||
const containerID = accountDetails.containerID;
|
||||
|
||||
setSavingStatus(useSaveStatus);
|
||||
@@ -1092,15 +872,29 @@ let MakeRepresentation = (props) => {
|
||||
// Prepare data object for upload
|
||||
const dataObj = cleanedValues;
|
||||
|
||||
const caseFolderReference =
|
||||
props.caseReference ||
|
||||
dataObj.ticketnumber ||
|
||||
currentView?.caseReference?.ticketnumber ||
|
||||
currentView?.caseReference?.currentReference ||
|
||||
dataObj.caseRef ||
|
||||
"";
|
||||
|
||||
// Update links on values
|
||||
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
|
||||
return uploadRepFiles(
|
||||
dataObj,
|
||||
[{}],
|
||||
updatedValues.containerID,
|
||||
`${props.caseReference}/${dataObj.repfile_name}`
|
||||
resolvedContainerID,
|
||||
`${caseFolderReference}/${dataObj.repfile_name}`
|
||||
);
|
||||
};
|
||||
|
||||
@@ -1108,7 +902,7 @@ let MakeRepresentation = (props) => {
|
||||
|
||||
const isQuestionnaire =
|
||||
formObj?.representationForm?.values?.representationType ===
|
||||
"Questionnaire";
|
||||
"Questionnaire" && representationTypeConfirmed;
|
||||
|
||||
const appealIsConsultation = appealType === 846040002;
|
||||
const appealIsLocalImpact =
|
||||
@@ -1210,8 +1004,12 @@ let MakeRepresentation = (props) => {
|
||||
<RepresentationFlowFormStage
|
||||
t={t}
|
||||
appealIsConsultation={appealIsConsultation}
|
||||
currentReference={
|
||||
currentView.caseReference.currentReference
|
||||
currentReference={ticketnumber}
|
||||
caseTitle={
|
||||
currentView?.caseReference?.repDetails
|
||||
?.pinswg_name ||
|
||||
currentView?.currentReference ||
|
||||
currentView?.caseReference.currentReference
|
||||
}
|
||||
whichControl={whichControl}
|
||||
appealIsLocalImpact={appealIsLocalImpact}
|
||||
|
||||
@@ -2,7 +2,7 @@ import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import { connect } from "react-redux";
|
||||
import { Field, change, reduxForm } from "redux-form";
|
||||
import { useState } from "react";
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
import { bytesToSize, getThumbnailIconByExtension } from "../../utils";
|
||||
import {
|
||||
@@ -36,10 +36,24 @@ const RepAgent = (props) => {
|
||||
updateRepresentation,
|
||||
setSavingStatus,
|
||||
savingStatus,
|
||||
setFilesForRepresentations
|
||||
setFilesForRepresentations,
|
||||
onRepresentationTypeChange,
|
||||
onTypeSelectionConfirmed
|
||||
} = props;
|
||||
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) != "{}") {
|
||||
setRepFileName(formObj.representationForm.values);
|
||||
|
||||
@@ -64,23 +78,23 @@ const RepAgent = (props) => {
|
||||
));
|
||||
const required = (value) => (value ? undefined : "Required");
|
||||
|
||||
const hasTypeSelectionInline =
|
||||
typeof formObj.representationForm.values.representationType ==
|
||||
"undefined" && props.representationType != "Select...";
|
||||
const selectedRepresentationType =
|
||||
formObj?.representationForm?.values?.representationType ||
|
||||
props.representationType;
|
||||
|
||||
const isTypeConfirmed =
|
||||
!!selectedRepresentationType && typeSelectionConfirmed;
|
||||
|
||||
const selectedRepresentationTypeDisplay =
|
||||
router.locale == "cy"
|
||||
? formObj.representationForm.values.representationType ==
|
||||
"Questionnaire"
|
||||
? selectedRepresentationType == "Questionnaire"
|
||||
? "Holiadur"
|
||||
: formObj.representationForm.values.representationType ==
|
||||
"Statement"
|
||||
: selectedRepresentationType == "Statement"
|
||||
? "Datganiad"
|
||||
: formObj.representationForm.values.representationType ==
|
||||
"Final comments"
|
||||
: selectedRepresentationType == "Final comments"
|
||||
? "Sylwadau terfynol"
|
||||
: formObj.representationForm.values.representationType
|
||||
: formObj.representationForm.values.representationType;
|
||||
: selectedRepresentationType
|
||||
: selectedRepresentationType;
|
||||
|
||||
const handleSaveExit = () => {
|
||||
let valuesObj = props.props.props.form[props.form].values || {};
|
||||
@@ -98,13 +112,15 @@ const RepAgent = (props) => {
|
||||
"myrepresentations:representation-from-an-agent-heading"
|
||||
)}
|
||||
kindLabelText={t("myrepresentations:kind-of-rep-label")}
|
||||
isTypeSelected={!hasTypeSelectionInline}
|
||||
isTypeSelected={isTypeConfirmed}
|
||||
selectedTypeDisplay={selectedRepresentationTypeDisplay}
|
||||
representationType={selectedRepresentationType}
|
||||
setTypeSelectionConfirmed={setTypeSelectionConfirmed}
|
||||
onRepresentationTypeChange={onRepresentationTypeChange}
|
||||
onTypeSelectionConfirmed={onTypeSelectionConfirmed}
|
||||
optionsArr={appellantApplicantRepresentationArr}
|
||||
/>
|
||||
{(typeof props.representationType != "undefined" ||
|
||||
typeof formObj.representationForm.values
|
||||
.representationType != "undefined") && (
|
||||
{isTypeConfirmed && (
|
||||
<>
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-form-group">
|
||||
@@ -227,8 +243,7 @@ const RepAgent = (props) => {
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
{typeof formObj.representationForm.values.representationType !=
|
||||
"undefined" && (
|
||||
{isTypeConfirmed && (
|
||||
<RepresentationActionButtons
|
||||
t={t}
|
||||
locale={router.locale}
|
||||
|
||||
@@ -2,12 +2,11 @@ import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import { connect } from "react-redux";
|
||||
import { Field, change, reduxForm } from "redux-form";
|
||||
import { useState } from "react";
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
import { bytesToSize, getThumbnailIconByExtension } from "../../utils";
|
||||
import {
|
||||
FileUploadField,
|
||||
RenderPickList,
|
||||
RenderRichMultiline,
|
||||
shouldDisableButton
|
||||
} from "./representationElements";
|
||||
@@ -36,10 +35,24 @@ const RepAppellant = (props) => {
|
||||
updateRepresentation,
|
||||
setSavingStatus,
|
||||
savingStatus,
|
||||
setFilesForRepresentations
|
||||
setFilesForRepresentations,
|
||||
onRepresentationTypeChange,
|
||||
onTypeSelectionConfirmed
|
||||
} = props;
|
||||
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");
|
||||
|
||||
if (JSON.stringify(formObj) != "{}") {
|
||||
@@ -64,23 +77,23 @@ const RepAppellant = (props) => {
|
||||
index === self.findIndex((t) => t.name === value.name)
|
||||
);
|
||||
|
||||
const hasTypeSelectionInline =
|
||||
typeof formObj.representationForm.values.representationType ==
|
||||
"undefined" && props.representationType != "Select...";
|
||||
const selectedRepresentationType =
|
||||
formObj?.representationForm?.values?.representationType ||
|
||||
props.representationType;
|
||||
|
||||
const isTypeConfirmed =
|
||||
!!selectedRepresentationType && typeSelectionConfirmed;
|
||||
|
||||
const selectedRepresentationTypeDisplay =
|
||||
router.locale == "cy"
|
||||
? formObj.representationForm.values.representationType ==
|
||||
"Questionnaire"
|
||||
? selectedRepresentationType == "Questionnaire"
|
||||
? "Holiadur"
|
||||
: formObj.representationForm.values.representationType ==
|
||||
"Statement"
|
||||
: selectedRepresentationType == "Statement"
|
||||
? "Datganiad"
|
||||
: formObj.representationForm.values.representationType ==
|
||||
"Final comments"
|
||||
: selectedRepresentationType == "Final comments"
|
||||
? "Sylwadau terfynol"
|
||||
: formObj.representationForm.values.representationType
|
||||
: formObj.representationForm.values.representationType;
|
||||
: selectedRepresentationType
|
||||
: selectedRepresentationType;
|
||||
|
||||
const handleSaveExit = () => {
|
||||
let valuesObj = props.props.props.form[props.form].values || {};
|
||||
@@ -98,13 +111,15 @@ const RepAppellant = (props) => {
|
||||
"myrepresentations:representation-from-an-appellant-heading"
|
||||
)}
|
||||
kindLabelText={t("myrepresentations:kind-of-rep-label")}
|
||||
isTypeSelected={!hasTypeSelectionInline}
|
||||
isTypeSelected={isTypeConfirmed}
|
||||
selectedTypeDisplay={selectedRepresentationTypeDisplay}
|
||||
representationType={selectedRepresentationType}
|
||||
setTypeSelectionConfirmed={setTypeSelectionConfirmed}
|
||||
onRepresentationTypeChange={onRepresentationTypeChange}
|
||||
onTypeSelectionConfirmed={onTypeSelectionConfirmed}
|
||||
optionsArr={appellantApplicantRepresentationArr}
|
||||
/>
|
||||
{(typeof props.representationType != "undefined" ||
|
||||
typeof formObj.representationForm.values
|
||||
.representationType != "undefined") && (
|
||||
{isTypeConfirmed && (
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-form-group">
|
||||
<p className="govuk-body">
|
||||
@@ -220,8 +235,7 @@ const RepAppellant = (props) => {
|
||||
</div>
|
||||
)}
|
||||
|
||||
{typeof formObj.representationForm.values.representationType !=
|
||||
"undefined" && (
|
||||
{isTypeConfirmed && (
|
||||
<RepresentationActionButtons
|
||||
t={t}
|
||||
locale={router.locale}
|
||||
|
||||
@@ -66,7 +66,8 @@ const RepComplete = (props) => {
|
||||
(props.props.currentView.representationMessageSent != true &&
|
||||
(setRepInvolvment(
|
||||
props.props.currentView.caseReference.incidentid,
|
||||
props.props.props.props.accountDetails.accountDetails.contactid
|
||||
props.props.props.props.accountDetails.accountDetails.contactid,
|
||||
props.props.currentView.representationCapacity
|
||||
),
|
||||
sendRepCompleteMessage(
|
||||
props.props.props.props.accountDetails.containerID,
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import { useState } from "react";
|
||||
@@ -13,6 +12,7 @@ import {
|
||||
bytesToSize,
|
||||
getThumbnailIconByExtension,
|
||||
formatDates,
|
||||
hasOwn,
|
||||
updateLinks,
|
||||
getDocLink
|
||||
} from "../../utils";
|
||||
@@ -233,35 +233,41 @@ const RepCompleteSubmit = (props) => {
|
||||
let filterFiles = [];
|
||||
|
||||
function showRepsEnded(endDate) {
|
||||
let date = new Date();
|
||||
date = new Date(date.toDateString());
|
||||
let end = new Date(endDate);
|
||||
end.setUTCHours(23);
|
||||
end.setUTCMinutes(59);
|
||||
end.setUTCSeconds(59);
|
||||
end.toISOString();
|
||||
if (!endDate) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return end > date ? false : true;
|
||||
const end = new Date(endDate);
|
||||
|
||||
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 = () => {
|
||||
if (repFormData.representationType == "Questionnaire") {
|
||||
if (repFormData.representationType === "Questionnaire") {
|
||||
return false;
|
||||
} else {
|
||||
if (repFormData.representationType == "Final comments") {
|
||||
return repFormData.hasOwnProperty(
|
||||
"pinswg_finalcommentsduedate"
|
||||
) && showRepsEnded(repFormData.pinswg_finalcommentsduedate)
|
||||
? true
|
||||
: false;
|
||||
}
|
||||
if (repFormData.representationType == "Statement") {
|
||||
return repFormData.hasOwnProperty("pinswg_statementduedate") &&
|
||||
showRepsEnded(repFormData.pinswg_statementduedate)
|
||||
? true
|
||||
: false;
|
||||
|
||||
if (repFormData.representationType === "Final comments") {
|
||||
return showRepsEnded(repFormData.pinswg_finalcommentsduedate);
|
||||
}
|
||||
|
||||
if (repFormData.representationType === "Statement") {
|
||||
return (
|
||||
showRepsEnded(repFormData.pinswg_statementduedate) ||
|
||||
showRepsEnded(repFormData.pinswg_endofrepresentationperiod)
|
||||
);
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
const triggerQuestionnaireDownload = async () => {
|
||||
@@ -399,7 +405,7 @@ const RepCompleteSubmit = (props) => {
|
||||
</a> */}
|
||||
</dd>
|
||||
</div>
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
repFormData,
|
||||
"representationOnBehalfOf"
|
||||
) && (
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const RepDetails = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -31,7 +32,7 @@ const RepDetails = (props) => {
|
||||
detailsObj = jsonpath({
|
||||
path: '$..[?(@ && @.ticketnumber=="' + ticketnumber + '")]',
|
||||
json: setCaseDetailsObj,
|
||||
eval: true,
|
||||
eval: true
|
||||
});
|
||||
|
||||
detailsObj = detailsObj[0];
|
||||
@@ -61,34 +62,43 @@ const RepDetails = (props) => {
|
||||
{t("case:summary-site-address-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(detailsObj, "pinswg_siteaddressline1")
|
||||
{hasOwn(detailsObj, "pinswg_siteaddressline1")
|
||||
? detailsObj.pinswg_siteaddressline1
|
||||
: ""}
|
||||
{_.has(detailsObj, "pinswg_siteaddressline1") &&
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddressline1"
|
||||
) &&
|
||||
detailsObj.pinswg_siteaddressline1 !=
|
||||
null && <br />}
|
||||
{_.has(detailsObj, "pinswg_siteaddressline2")
|
||||
{hasOwn(detailsObj, "pinswg_siteaddressline2")
|
||||
? detailsObj.pinswg_siteaddressline2
|
||||
: ""}
|
||||
{_.has(detailsObj, "pinswg_siteaddressline2") &&
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddressline2"
|
||||
) &&
|
||||
detailsObj.pinswg_siteaddressline2 !=
|
||||
null && <br />}
|
||||
{_.has(detailsObj, "pinswg_siteaddresstown")
|
||||
{hasOwn(detailsObj, "pinswg_siteaddresstown")
|
||||
? detailsObj.pinswg_siteaddresstown
|
||||
: ""}
|
||||
{_.has(detailsObj, "pinswg_siteaddresstown") &&
|
||||
{hasOwn(detailsObj, "pinswg_siteaddresstown") &&
|
||||
detailsObj.pinswg_siteaddresstown !=
|
||||
null && <br />}
|
||||
{_.has(detailsObj, "pinswg_siteaddresscounty")
|
||||
{hasOwn(detailsObj, "pinswg_siteaddresscounty")
|
||||
? detailsObj.pinswg_siteaddresscounty
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddresscounty"
|
||||
) &&
|
||||
detailsObj.pinswg_siteaddresscounty !=
|
||||
null && <br />}
|
||||
{_.has(detailsObj, "pinswg_siteaddresspostcode")
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddresspostcode"
|
||||
)
|
||||
? detailsObj.pinswg_siteaddresspostcode
|
||||
: ""}
|
||||
</dd>
|
||||
|
||||
@@ -2,7 +2,7 @@ import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import { connect } from "react-redux";
|
||||
import { Field, change, reduxForm } from "redux-form";
|
||||
import { useState } from "react";
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
import { bytesToSize, getThumbnailIconByExtension } from "../../utils";
|
||||
import {
|
||||
@@ -35,12 +35,26 @@ const RepInterestedPartyPerson = (props) => {
|
||||
updateRepresentation,
|
||||
setSavingStatus,
|
||||
savingStatus,
|
||||
setFilesForRepresentations
|
||||
setFilesForRepresentations,
|
||||
onRepresentationTypeChange,
|
||||
onTypeSelectionConfirmed
|
||||
} = props;
|
||||
const required = (value) => (value ? undefined : "Required");
|
||||
|
||||
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) != "{}") {
|
||||
setRepFileName(formObj.representationForm.values);
|
||||
|
||||
@@ -64,23 +78,23 @@ const RepInterestedPartyPerson = (props) => {
|
||||
</li>
|
||||
));
|
||||
|
||||
const hasTypeSelectionInline =
|
||||
typeof formObj.representationForm.values.representationType ==
|
||||
"undefined" && props.representationType != "Select...";
|
||||
const selectedRepresentationType =
|
||||
formObj?.representationForm?.values?.representationType ||
|
||||
props.representationType;
|
||||
|
||||
const isTypeConfirmed =
|
||||
!!selectedRepresentationType && typeSelectionConfirmed;
|
||||
|
||||
const selectedRepresentationTypeDisplay =
|
||||
router.locale == "cy"
|
||||
? formObj.representationForm.values.representationType ==
|
||||
"Questionnaire"
|
||||
? selectedRepresentationType == "Questionnaire"
|
||||
? "Holiadur"
|
||||
: formObj.representationForm.values.representationType ==
|
||||
"Statement"
|
||||
: selectedRepresentationType == "Statement"
|
||||
? "Datganiad"
|
||||
: formObj.representationForm.values.representationType ==
|
||||
"Final comments"
|
||||
: selectedRepresentationType == "Final comments"
|
||||
? "Sylwadau terfynol"
|
||||
: formObj.representationForm.values.representationType
|
||||
: formObj.representationForm.values.representationType;
|
||||
: selectedRepresentationType
|
||||
: selectedRepresentationType;
|
||||
|
||||
const handleSaveExit = () => {
|
||||
let valuesObj = props.props.props.form[props.form].values || {};
|
||||
@@ -95,18 +109,20 @@ const RepInterestedPartyPerson = (props) => {
|
||||
<RepresentationTypeSelectorBlock
|
||||
t={t}
|
||||
headingText={t(
|
||||
"myrepresentations:consultation-from-an-interested-person-heading"
|
||||
"myrepresentations:representation-from-an-interested-person-heading"
|
||||
)}
|
||||
kindLabelText={t("myrepresentations:kind-of-rep-label")}
|
||||
isTypeSelected={!hasTypeSelectionInline}
|
||||
isTypeSelected={isTypeConfirmed}
|
||||
selectedTypeDisplay={selectedRepresentationTypeDisplay}
|
||||
representationType={selectedRepresentationType}
|
||||
setTypeSelectionConfirmed={setTypeSelectionConfirmed}
|
||||
onRepresentationTypeChange={onRepresentationTypeChange}
|
||||
onTypeSelectionConfirmed={onTypeSelectionConfirmed}
|
||||
optionsArr={interestedPersonRepresentationArr}
|
||||
validate={[required]}
|
||||
errorMsg={t("myrepresentations:select-an-option-label")}
|
||||
/>
|
||||
{(typeof props.representationType != "undefined" ||
|
||||
typeof formObj.representationForm.values
|
||||
.representationType != "undefined") && (
|
||||
{isTypeConfirmed && (
|
||||
<>
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-form-group">
|
||||
@@ -213,8 +229,7 @@ const RepInterestedPartyPerson = (props) => {
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
{typeof formObj.representationForm.values.representationType !=
|
||||
"undefined" && (
|
||||
{isTypeConfirmed && (
|
||||
<RepresentationActionButtons
|
||||
t={t}
|
||||
locale={router.locale}
|
||||
|
||||
@@ -10,9 +10,9 @@ import { useState, useEffect } from "react";
|
||||
import {
|
||||
FileUploadField,
|
||||
RenderMultiline,
|
||||
RenderPickList,
|
||||
shouldDisableButton,
|
||||
shouldDisableButton
|
||||
} from "./representationElements";
|
||||
import RepresentationTypeSelectorBlock from "./elements/RepresentationTypeSelectorBlock";
|
||||
import RepresentationProgress_enforcement from "./representationProgress/representationProgress_enforcement";
|
||||
import RepresentationProgress_s78 from "./representationProgress/representationProgress_s78";
|
||||
import Enforcement_Questionnaire from "./representationQuestionnaires/representationLPAQuestionnaire_enforcement";
|
||||
@@ -23,7 +23,7 @@ import {
|
||||
setRepresentationSubmit,
|
||||
setFilesForRepresentations,
|
||||
setCurrentPage,
|
||||
setCurrentReference,
|
||||
setCurrentReference
|
||||
} from "../../../store/currentView/action";
|
||||
|
||||
let RepLPA = (props) => {
|
||||
@@ -49,6 +49,8 @@ let RepLPA = (props) => {
|
||||
setSavingStatus,
|
||||
savingStatus,
|
||||
setFilesForRepresentations,
|
||||
onRepresentationTypeChange,
|
||||
onTypeSelectionConfirmed
|
||||
} = props;
|
||||
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
|
||||
|
||||
@@ -59,6 +61,36 @@ let RepLPA = (props) => {
|
||||
));
|
||||
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 = () => {
|
||||
{
|
||||
switch (currentView.caseReference.appealType) {
|
||||
@@ -183,7 +215,7 @@ let RepLPA = (props) => {
|
||||
currentView.caseReference.currentReference +
|
||||
'")]',
|
||||
json: setCaseDetailsObj,
|
||||
eval: true,
|
||||
eval: true
|
||||
});
|
||||
|
||||
let setCaseResultssObj = router.query.hasOwnProperty("state")
|
||||
@@ -202,7 +234,7 @@ let RepLPA = (props) => {
|
||||
currentView.caseReference.currentReference +
|
||||
'")]',
|
||||
json: setCaseResultssObj,
|
||||
eval: true,
|
||||
eval: true
|
||||
});
|
||||
resultsObj = resultsObj[0];
|
||||
|
||||
@@ -225,62 +257,26 @@ let RepLPA = (props) => {
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-form-group">
|
||||
{!_.has(
|
||||
formObj["representationForm"],
|
||||
["values", "representationType"] ||
|
||||
typeof props.currentView.caseReference.repDetails !=
|
||||
"undefined"
|
||||
) ? (
|
||||
<>
|
||||
<label
|
||||
className="govuk-label govuk-body-m"
|
||||
htmlFor="representationType"
|
||||
>
|
||||
{t(
|
||||
<RepresentationTypeSelectorBlock
|
||||
t={t}
|
||||
headingText={t(
|
||||
"myrepresentations:representation-from-an-lpa-heading"
|
||||
)}
|
||||
</label>
|
||||
<Field
|
||||
id="representationType"
|
||||
name="representationType"
|
||||
component={RenderPickList}
|
||||
datafieldname="representationType"
|
||||
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")}
|
||||
/>
|
||||
</>
|
||||
) : (
|
||||
<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..." ? (
|
||||
{isTypeConfirmed &&
|
||||
(selectedRepresentationType != "Questionnaire" ? (
|
||||
<>
|
||||
<p className="govuk-body">
|
||||
{t("myrepresentations:enter-comment-label")}
|
||||
@@ -354,7 +350,8 @@ let RepLPA = (props) => {
|
||||
"myrepresentations:add-files-label"
|
||||
)}
|
||||
ticketnumber={
|
||||
props.currentView.caseReference.ticketnumber
|
||||
props.currentView.caseReference
|
||||
.ticketnumber
|
||||
}
|
||||
hint={"sdsd"}
|
||||
fileList={
|
||||
@@ -401,9 +398,8 @@ let RepLPA = (props) => {
|
||||
</div>
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-button-group">
|
||||
{(typeof props.representationType != "undefined" ||
|
||||
_.has(formObj, "values", "representationType")) &&
|
||||
props.representationType == "Questionnaire" && (
|
||||
{isTypeConfirmed &&
|
||||
selectedRepresentationType == "Questionnaire" && (
|
||||
<>
|
||||
{showQuestionnaireSection <
|
||||
questionnaireCount && (
|
||||
@@ -443,14 +439,14 @@ let RepLPA = (props) => {
|
||||
// top: 0,
|
||||
// behavior: "smooth",
|
||||
// });
|
||||
setRepFileName(
|
||||
(setRepFileName(
|
||||
props.formObj[
|
||||
"representationForm"
|
||||
].values
|
||||
),
|
||||
setShowQuestionnaireSection(
|
||||
showQuestionnaireSection - 1
|
||||
);
|
||||
));
|
||||
}}
|
||||
className="govuk-link"
|
||||
>
|
||||
@@ -503,9 +499,8 @@ let RepLPA = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}{" "}
|
||||
{(typeof props.representationType != "undefined" ||
|
||||
_.has(formObj, "values", "representationType")) &&
|
||||
props.representationType != "Questionnaire" && (
|
||||
{isTypeConfirmed &&
|
||||
selectedRepresentationType != "Questionnaire" && (
|
||||
<>
|
||||
<button
|
||||
type="submit"
|
||||
@@ -513,7 +508,7 @@ let RepLPA = (props) => {
|
||||
data-module="govuk-button"
|
||||
disabled={shouldDisableButton({
|
||||
props,
|
||||
formObj,
|
||||
formObj
|
||||
})}
|
||||
onClick={() => {
|
||||
let valuesObj =
|
||||
@@ -612,7 +607,7 @@ RepLPA = connect((state) => {
|
||||
|
||||
return {
|
||||
procedureType,
|
||||
representationType,
|
||||
representationType
|
||||
};
|
||||
})(RepLPA);
|
||||
|
||||
@@ -625,7 +620,7 @@ const mapDispatchToProps = (dispatch) => ({
|
||||
},
|
||||
setCurrentReference: (currentReference) => {
|
||||
dispatch(setCurrentReference(currentReference));
|
||||
},
|
||||
}
|
||||
});
|
||||
|
||||
const mapStateToProps = (state, props) => {
|
||||
@@ -641,8 +636,7 @@ const mapStateToProps = (state, props) => {
|
||||
],
|
||||
"firstname":
|
||||
props.props.props.accountDetails.accountDetails.firstname,
|
||||
"lastname":
|
||||
props.props.props.accountDetails.accountDetails.lastname,
|
||||
"lastname": props.props.props.accountDetails.accountDetails.lastname
|
||||
}
|
||||
);
|
||||
return {
|
||||
@@ -653,7 +647,7 @@ const mapStateToProps = (state, props) => {
|
||||
currentView: state.currentView,
|
||||
myRepresentations: state.myRepresentations,
|
||||
watchedCases: state.watchedCases,
|
||||
initialValues: initialValuesTemp,
|
||||
initialValues: initialValuesTemp
|
||||
};
|
||||
};
|
||||
|
||||
@@ -664,6 +658,6 @@ export default connect(
|
||||
reduxForm({
|
||||
form: "representationForm",
|
||||
enableReinitialize: true,
|
||||
destroyOnUnmount: false,
|
||||
destroyOnUnmount: false
|
||||
})(RepLPA)
|
||||
);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const RepLPADetails = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -23,7 +24,7 @@ const RepLPADetails = (props) => {
|
||||
detailsObj = jsonpath({
|
||||
path: '$..[?(@ && @.ticketnumber=="' + ticketnumber + '")]',
|
||||
json: setCaseDetailsObj,
|
||||
eval: true,
|
||||
eval: true
|
||||
});
|
||||
|
||||
detailsObj = detailsObj[0];
|
||||
@@ -51,34 +52,43 @@ const RepLPADetails = (props) => {
|
||||
{t("case:summary-site-address-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(detailsObj, "pinswg_siteaddressline1")
|
||||
{hasOwn(detailsObj, "pinswg_siteaddressline1")
|
||||
? detailsObj.pinswg_siteaddressline1
|
||||
: ""}
|
||||
{_.has(detailsObj, "pinswg_siteaddressline1") &&
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddressline1"
|
||||
) &&
|
||||
detailsObj.pinswg_siteaddressline1 !=
|
||||
null && <br />}
|
||||
{_.has(detailsObj, "pinswg_siteaddressline2")
|
||||
{hasOwn(detailsObj, "pinswg_siteaddressline2")
|
||||
? detailsObj.pinswg_siteaddressline2
|
||||
: ""}
|
||||
{_.has(detailsObj, "pinswg_siteaddressline2") &&
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddressline2"
|
||||
) &&
|
||||
detailsObj.pinswg_siteaddressline2 !=
|
||||
null && <br />}
|
||||
{_.has(detailsObj, "pinswg_siteaddresstown")
|
||||
{hasOwn(detailsObj, "pinswg_siteaddresstown")
|
||||
? detailsObj.pinswg_siteaddresstown
|
||||
: ""}
|
||||
{_.has(detailsObj, "pinswg_siteaddresstown") &&
|
||||
{hasOwn(detailsObj, "pinswg_siteaddresstown") &&
|
||||
detailsObj.pinswg_siteaddresstown !=
|
||||
null && <br />}
|
||||
{_.has(detailsObj, "pinswg_siteaddresscounty")
|
||||
{hasOwn(detailsObj, "pinswg_siteaddresscounty")
|
||||
? detailsObj.pinswg_siteaddresscounty
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddresscounty"
|
||||
) &&
|
||||
detailsObj.pinswg_siteaddresscounty !=
|
||||
null && <br />}
|
||||
{_.has(detailsObj, "pinswg_siteaddresspostcode")
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddresspostcode"
|
||||
)
|
||||
? detailsObj.pinswg_siteaddresspostcode
|
||||
: ""}
|
||||
</dd>
|
||||
|
||||
+62
-63
@@ -1,6 +1,5 @@
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { formatDates, updateLinks } from "../../../utils";
|
||||
import { formatDates, hasOwn, updateLinks } from "../../../utils";
|
||||
|
||||
let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -11,7 +10,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
showQuestionnaireSection,
|
||||
setShowQuestionnaireSection,
|
||||
setRepresentationSubmit,
|
||||
questionnaireCount,
|
||||
questionnaireCount
|
||||
} = props;
|
||||
|
||||
let repFormData = formObj.representationForm.values;
|
||||
@@ -22,7 +21,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<>
|
||||
{showQuestionnaireSection}
|
||||
|
||||
{_.has(repFormData, "procedureType") && (
|
||||
{hasOwn(repFormData, "procedureType") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -84,7 +83,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "enterToView") && (
|
||||
{hasOwn(repFormData, "enterToView") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -117,7 +116,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "enterNeighbouringLandToViewSite") && (
|
||||
{hasOwn(repFormData, "enterNeighbouringLandToViewSite") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -160,7 +159,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.enterNeighbouringLandToViewSiteEvidence,
|
||||
__html: repFormData.enterNeighbouringLandToViewSiteEvidence
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
@@ -187,7 +186,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "enterNeighbouringLandAccessRequired") && (
|
||||
{hasOwn(repFormData, "enterNeighbouringLandAccessRequired") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -231,7 +230,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.enterNeighbouringLandAccessRequiredEvidence,
|
||||
__html: repFormData.enterNeighbouringLandAccessRequiredEvidence
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
@@ -258,7 +257,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "healthAndSafetyIssues") && (
|
||||
{hasOwn(repFormData, "healthAndSafetyIssues") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -301,7 +300,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.healthAndSafetyIssuesEvidence,
|
||||
__html: repFormData.healthAndSafetyIssuesEvidence
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
@@ -337,11 +336,11 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(repFormData, "LPAcontactDetails") ? (
|
||||
{hasOwn(repFormData, "LPAcontactDetails") ? (
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.LPAcontactDetails,
|
||||
__html: repFormData.LPAcontactDetails
|
||||
}}
|
||||
/>
|
||||
) : (
|
||||
@@ -378,11 +377,11 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(repFormData, "LPAcaseFileAndReps") ? (
|
||||
{hasOwn(repFormData, "LPAcaseFileAndReps") ? (
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.LPAcaseFileAndReps,
|
||||
__html: repFormData.LPAcaseFileAndReps
|
||||
}}
|
||||
/>
|
||||
) : (
|
||||
@@ -419,11 +418,11 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(repFormData, "LPAldpAndMap") ? (
|
||||
{hasOwn(repFormData, "LPAldpAndMap") ? (
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.LPAldpAndMap,
|
||||
__html: repFormData.LPAldpAndMap
|
||||
}}
|
||||
/>
|
||||
) : (
|
||||
@@ -460,11 +459,11 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</dt>
|
||||
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(repFormData, "LPAlocalGuidance") ? (
|
||||
{hasOwn(repFormData, "LPAlocalGuidance") ? (
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.LPAlocalGuidance,
|
||||
__html: repFormData.LPAlocalGuidance
|
||||
}}
|
||||
/>
|
||||
) : (
|
||||
@@ -493,7 +492,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</div>
|
||||
</>
|
||||
|
||||
{_.has(repFormData, "LPAintentionToSubmitFullStatement") && (
|
||||
{hasOwn(repFormData, "LPAintentionToSubmitFullStatement") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -526,7 +525,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "AONB") && (
|
||||
{hasOwn(repFormData, "AONB") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -558,7 +557,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "ROW") && (
|
||||
{hasOwn(repFormData, "ROW") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -600,7 +599,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.ROWEvidence,
|
||||
__html: repFormData.ROWEvidence
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
@@ -627,7 +626,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "conservationArea") && (
|
||||
{hasOwn(repFormData, "conservationArea") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -670,7 +669,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.conservationAreaEvidence,
|
||||
__html: repFormData.conservationAreaEvidence
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
@@ -697,7 +696,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "affectListedBuilding") && (
|
||||
{hasOwn(repFormData, "affectListedBuilding") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -740,7 +739,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.affectListedBuildingEvidence,
|
||||
__html: repFormData.affectListedBuildingEvidence
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
@@ -767,7 +766,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "TPO") && (
|
||||
{hasOwn(repFormData, "TPO") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -810,7 +809,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.TPOEvidence,
|
||||
__html: repFormData.TPOEvidence
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
@@ -837,7 +836,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "natureConservationSite") && (
|
||||
{hasOwn(repFormData, "natureConservationSite") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -880,7 +879,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.natureConservationSiteEvidence,
|
||||
__html: repFormData.natureConservationSiteEvidence
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
@@ -907,7 +906,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "protectedSpecies") && (
|
||||
{hasOwn(repFormData, "protectedSpecies") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -950,7 +949,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.protectedSpeciesEvidence,
|
||||
__html: repFormData.protectedSpeciesEvidence
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
@@ -977,7 +976,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "gypsyTravellerInvolvment") && (
|
||||
{hasOwn(repFormData, "gypsyTravellerInvolvment") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -1010,7 +1009,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "governmentDepartmentComments") && (
|
||||
{hasOwn(repFormData, "governmentDepartmentComments") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -1053,7 +1052,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.governmentDepartmentCommentsEvidence,
|
||||
__html: repFormData.governmentDepartmentCommentsEvidence
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
@@ -1080,7 +1079,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "developmentNotBeginLaterThanFiveYears") && (
|
||||
{hasOwn(repFormData, "developmentNotBeginLaterThanFiveYears") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -1113,7 +1112,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "developmentCarriedOutInAccordance") && (
|
||||
{hasOwn(repFormData, "developmentCarriedOutInAccordance") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -1156,7 +1155,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.developmentCarriedOutInAccordanceEvidence,
|
||||
__html: repFormData.developmentCarriedOutInAccordanceEvidence
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
@@ -1183,7 +1182,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "developmentNotTakePlaceBiodiversity") && (
|
||||
{hasOwn(repFormData, "developmentNotTakePlaceBiodiversity") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -1216,7 +1215,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "developmentNotTakePlaceBroadband") && (
|
||||
{hasOwn(repFormData, "developmentNotTakePlaceBroadband") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -1259,7 +1258,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.developmentNotTakePlaceBroadbandEvidence,
|
||||
__html: repFormData.developmentNotTakePlaceBroadbandEvidence
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
@@ -1286,7 +1285,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "developmentAnyOtherConditions") && (
|
||||
{hasOwn(repFormData, "developmentAnyOtherConditions") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -1329,7 +1328,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.developmentAnyOtherConditionsEvidence,
|
||||
__html: repFormData.developmentAnyOtherConditionsEvidence
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
@@ -1356,7 +1355,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "copyOfApplicantsCertificate") && (
|
||||
{hasOwn(repFormData, "copyOfApplicantsCertificate") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -1399,7 +1398,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.copyOfApplicantsCertificateEvidence,
|
||||
__html: repFormData.copyOfApplicantsCertificateEvidence
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
@@ -1426,7 +1425,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "advertismentGiven") && (
|
||||
{hasOwn(repFormData, "advertismentGiven") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -1469,7 +1468,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.advertismentGivenEvidence,
|
||||
__html: repFormData.advertismentGivenEvidence
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
@@ -1496,7 +1495,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "copyOfLetterOfAppealNotification") && (
|
||||
{hasOwn(repFormData, "copyOfLetterOfAppealNotification") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -1539,7 +1538,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.copyOfLetterOfAppealNotificationEvidence,
|
||||
__html: repFormData.copyOfLetterOfAppealNotificationEvidence
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
@@ -1566,7 +1565,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "lpaEIAOS") && (
|
||||
{hasOwn(repFormData, "lpaEIAOS") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -1609,7 +1608,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.lpaEIAOSEvidence,
|
||||
__html: repFormData.lpaEIAOSEvidence
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
@@ -1636,7 +1635,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "advertismentConsentDiscontinuanceNotice") && (
|
||||
{hasOwn(repFormData, "advertismentConsentDiscontinuanceNotice") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -1681,7 +1680,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.advertismentConsentDiscontinuanceNoticeEvidence,
|
||||
__html: repFormData.advertismentConsentDiscontinuanceNoticeEvidence
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
@@ -1708,7 +1707,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "detailsOfOtherAppeals") && (
|
||||
{hasOwn(repFormData, "detailsOfOtherAppeals") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -1751,7 +1750,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.detailsOfOtherAppeals,
|
||||
__html: repFormData.detailsOfOtherAppeals
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
@@ -1778,7 +1777,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "detailsOfPreviousAppeals") && (
|
||||
{hasOwn(repFormData, "detailsOfPreviousAppeals") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -1821,7 +1820,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.detailsOfPreviousAppealsEvidence,
|
||||
__html: repFormData.detailsOfPreviousAppealsEvidence
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
@@ -1848,7 +1847,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "otherRelevantInformation") && (
|
||||
{hasOwn(repFormData, "otherRelevantInformation") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -1891,7 +1890,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
<div
|
||||
className="govuk-summary-list-check-ellipsis"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: repFormData.otherRelevantInformationEvidence,
|
||||
__html: repFormData.otherRelevantInformationEvidence
|
||||
}}
|
||||
/>
|
||||
</dd>
|
||||
@@ -1918,7 +1917,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "signedDate") && (
|
||||
{hasOwn(repFormData, "signedDate") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -1950,7 +1949,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "caseOfficer") && (
|
||||
{hasOwn(repFormData, "caseOfficer") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -1983,7 +1982,7 @@ let RepLPAQuestionnaireCheck_s78 = (props) => {
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
{_.has(repFormData, "onBehalfOfLPA") && (
|
||||
{hasOwn(repFormData, "onBehalfOfLPA") && (
|
||||
<>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
|
||||
@@ -4,6 +4,7 @@ const RepresentationFlowFormStage = ({
|
||||
t,
|
||||
appealIsConsultation,
|
||||
currentReference,
|
||||
caseTitle,
|
||||
whichControl,
|
||||
appealIsLocalImpact,
|
||||
renderDueDate,
|
||||
@@ -22,7 +23,7 @@ const RepresentationFlowFormStage = ({
|
||||
: t(
|
||||
"myrepresentations:make-a-representation-on-label"
|
||||
)}{" "}
|
||||
{currentReference}{" "}
|
||||
{caseTitle}{" "}
|
||||
</h1>
|
||||
|
||||
<div id="rep-form">
|
||||
|
||||
@@ -0,0 +1,119 @@
|
||||
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:
|
||||
caseReferenceObj.incidentid ||
|
||||
caseReferenceObj.repDetails.incidentid,
|
||||
caseRef: caseReferenceObj.currentReference,
|
||||
caseRef: caseReferenceObj.ticketnumber,
|
||||
casereference: caseReferenceObj.currentReference,
|
||||
pinswg_questionnaireduedate: detailsObj.pinswg_questionnaireduedate,
|
||||
pinswg_endofrepresentationperiod:
|
||||
|
||||
@@ -88,23 +88,13 @@ const RepresentationList = (props) => {
|
||||
{t("case:documents-doc-type-label")}:
|
||||
</span>
|
||||
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
sanbox: {}
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup
|
||||
})}
|
||||
</dd>
|
||||
<dd className="govuk-summary-list__value govuk-!-font-size-16">
|
||||
<span className="results-visually-hidden">
|
||||
|
||||
@@ -0,0 +1,130 @@
|
||||
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;
|
||||
+269
-90
@@ -9,6 +9,7 @@ import transLookup from "../../data/lookuptranslations.json";
|
||||
import Documents from "./documents";
|
||||
import EventsDetails from "./events";
|
||||
import MediaDetails from "./media";
|
||||
import StatusDetails from "./status";
|
||||
|
||||
import {
|
||||
createWatchedCases,
|
||||
@@ -23,6 +24,7 @@ import {
|
||||
setCurrentReference,
|
||||
setCurrentView
|
||||
} from "../../store/currentView/action";
|
||||
import resolveCrmDisplayValue from "../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
|
||||
import {
|
||||
setWatchedCases,
|
||||
@@ -31,7 +33,11 @@ import {
|
||||
|
||||
import { signIn, useSession } from "next-auth/react";
|
||||
import { destroyCookie, parseCookies, setCookie } from "nookies";
|
||||
import { getFormCollectionByID, getDetailsProxy } from "../utils";
|
||||
import { getFormCollectionByID, getDetailsProxy, hasOwn } from "../utils";
|
||||
import {
|
||||
getLivePublishedEvent,
|
||||
isEventLiveNow
|
||||
} from "./summary/utils/liveEvent";
|
||||
|
||||
import * as CaseTypes from "./summaryTypes"; // ✅ must match filename exactly
|
||||
import {
|
||||
@@ -61,7 +67,7 @@ import CaseNoticeBanner from "./caseNoticeBanner";
|
||||
import WatchModal from "./watchmodal";
|
||||
import EIADetails from "./eia";
|
||||
|
||||
import GoogleMapComponent from "../mapping";
|
||||
import MapComponent from "../mapping";
|
||||
import OSPoint from "ospoint";
|
||||
|
||||
const CaseSummary = (props) => {
|
||||
@@ -90,7 +96,8 @@ const CaseSummary = (props) => {
|
||||
currentView,
|
||||
messagesObj,
|
||||
docsOffline,
|
||||
ticketnumber
|
||||
ticketnumber,
|
||||
mapTarget
|
||||
} = props;
|
||||
|
||||
const showLoginCheck =
|
||||
@@ -196,6 +203,10 @@ const CaseSummary = (props) => {
|
||||
return isEmail;
|
||||
};
|
||||
|
||||
const primaryId = getFormCollectionByID(
|
||||
appealTypeID || setCaseQueryObj.value[0].pinswg_appealcasetype
|
||||
).PrimaryIdAttribute;
|
||||
|
||||
const deleteItem = (caseID, topThreeType) => {
|
||||
let cookies = parseCookies();
|
||||
topThreeType == "watchedCases" &&
|
||||
@@ -311,6 +322,20 @@ const CaseSummary = (props) => {
|
||||
|
||||
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 siteCoords = {};
|
||||
let center = {};
|
||||
@@ -349,6 +374,47 @@ const CaseSummary = (props) => {
|
||||
showDetails == true ? (
|
||||
<>
|
||||
<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-column-full">
|
||||
<h1 className="govuk-heading-xl govuk-!-margin-bottom-7">
|
||||
@@ -363,6 +429,7 @@ const CaseSummary = (props) => {
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="govuk-tabs" data-module="govuk-tabs">
|
||||
<h2 className="govuk-tabs__title">Contents</h2>
|
||||
<ul className="govuk-tabs__list">
|
||||
@@ -443,12 +510,11 @@ const CaseSummary = (props) => {
|
||||
href="#case-eia"
|
||||
onClick={() => setWhichTab("case-eia")}
|
||||
>
|
||||
{" "}
|
||||
EIA
|
||||
{router.locale == "cy" ? "AEA" : "EIA"}
|
||||
</a>
|
||||
</li>
|
||||
)}
|
||||
{isObjectNotEmpty(props, "eventsObj") && (
|
||||
{hasEventsTabData && (
|
||||
<li
|
||||
className={
|
||||
whichTab == "case-events"
|
||||
@@ -468,7 +534,7 @@ const CaseSummary = (props) => {
|
||||
</a>
|
||||
</li>
|
||||
)}
|
||||
{isObjectNotEmpty(props, "mediaObj") && (
|
||||
{hasMediaTabData && (
|
||||
<li
|
||||
className={
|
||||
whichTab == "case-media"
|
||||
@@ -505,6 +571,21 @@ const CaseSummary = (props) => {
|
||||
{t("case:summary-tab-documents-label")}
|
||||
</a>
|
||||
</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>
|
||||
<div
|
||||
className={
|
||||
@@ -526,27 +607,15 @@ const CaseSummary = (props) => {
|
||||
<dl className="govuk-summary-list govuk-!-margin-bottom-9">
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{getFormCollectionByID(
|
||||
appealTypeID ||
|
||||
setCaseQueryObj.value[0]
|
||||
.pinswg_appealcasetype
|
||||
).PrimaryIdAttribute ==
|
||||
"pinswg_dnsid"
|
||||
{primaryId === "pinswg_dnsid" ||
|
||||
primaryId ===
|
||||
"pinswg_nonvalidationid" ||
|
||||
primaryId === "pinswg_sipscase"
|
||||
? t(
|
||||
"case:summary-applicantonly-label"
|
||||
)
|
||||
: getFormCollectionByID(
|
||||
appealTypeID ||
|
||||
setCaseQueryObj
|
||||
.value[0]
|
||||
.pinswg_appealcasetype
|
||||
).PrimaryIdAttribute ==
|
||||
"pinswg_nonvalidationid"
|
||||
? t(
|
||||
"case:summary-appellantonly-label"
|
||||
)
|
||||
: t(
|
||||
"case:summary-applicant-label"
|
||||
"case:summary-appellantonly-label"
|
||||
)}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
@@ -562,7 +631,7 @@ const CaseSummary = (props) => {
|
||||
</div>
|
||||
{detailsObj.pinswg_agentcontactname !=
|
||||
null &&
|
||||
(_.has(
|
||||
(hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_agentcontactname"
|
||||
) ? (
|
||||
@@ -573,7 +642,7 @@ const CaseSummary = (props) => {
|
||||
)}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_agentcontactname"
|
||||
)
|
||||
@@ -617,103 +686,103 @@ const CaseSummary = (props) => {
|
||||
)[0]
|
||||
: ""
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddressline1"
|
||||
)
|
||||
? detailsObj.pinswg_siteaddressline1
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_addressline1"
|
||||
)
|
||||
? detailsObj.pinswg_addressline1
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddressline1"
|
||||
) &&
|
||||
detailsObj.pinswg_siteaddressline1 !=
|
||||
null && <br />}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_addressline1"
|
||||
) &&
|
||||
detailsObj.pinswg_addressline1 !=
|
||||
null && <br />}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddressline2"
|
||||
)
|
||||
? detailsObj.pinswg_siteaddressline2
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_addressline2"
|
||||
)
|
||||
? detailsObj.pinswg_addressline2
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_addressline2"
|
||||
) &&
|
||||
detailsObj.pinswg_addressline2 !=
|
||||
null && <br />}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddresstown"
|
||||
)
|
||||
? detailsObj.pinswg_siteaddresstown
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_addresstown"
|
||||
)
|
||||
? detailsObj.pinswg_addresstown
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddresstown"
|
||||
) &&
|
||||
detailsObj.pinswg_siteaddresstown !=
|
||||
null && <br />}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_addresstown"
|
||||
) &&
|
||||
detailsObj.pinswg_addresstown !=
|
||||
null && <br />}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddresscounty"
|
||||
)
|
||||
? detailsObj.pinswg_siteaddresscounty
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_addresscounty"
|
||||
)
|
||||
? detailsObj.pinswg_addresscounty
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddresscounty"
|
||||
) &&
|
||||
detailsObj.pinswg_siteaddresscounty !=
|
||||
null && <br />}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_addresscounty"
|
||||
) &&
|
||||
detailsObj.pinswg_addresscounty !=
|
||||
null && <br />}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddresspostcode"
|
||||
)
|
||||
? detailsObj.pinswg_siteaddresspostcode
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_postcode"
|
||||
)
|
||||
@@ -808,6 +877,52 @@ const CaseSummary = (props) => {
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-grid-column-full">
|
||||
<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">
|
||||
{getFormCollectionByID(
|
||||
appealTypeID
|
||||
@@ -839,13 +954,13 @@ const CaseSummary = (props) => {
|
||||
case:
|
||||
currentType ==
|
||||
"searchResultsObj"
|
||||
? detailsObj.pinswg_name
|
||||
? detailsObj.ticketnumber
|
||||
: currentType ==
|
||||
"watchedCases"
|
||||
? casesObj.pinswg_title
|
||||
: currentType ==
|
||||
"directResultsObj"
|
||||
? detailsObj.pinswg_name
|
||||
? detailsObj.ticketnumber
|
||||
: casesObj.reference
|
||||
}
|
||||
}}
|
||||
@@ -914,6 +1029,7 @@ const CaseSummary = (props) => {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
|
||||
{isGeneralRepresentationWindowOpen(
|
||||
detailsObj
|
||||
) && (
|
||||
@@ -1367,7 +1483,7 @@ const CaseSummary = (props) => {
|
||||
</div>
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-grid-column-full">
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_startdate"
|
||||
) &&
|
||||
@@ -1457,9 +1573,11 @@ const CaseSummary = (props) => {
|
||||
width: "100%"
|
||||
}}
|
||||
>
|
||||
<GoogleMapComponent
|
||||
<MapComponent
|
||||
center={center}
|
||||
zoom={zoom}
|
||||
locale={router.locale}
|
||||
mapTarget={mapTarget}
|
||||
/>
|
||||
{/* <OSMapComponent center={center} zoom={zoom} /> */}
|
||||
</div>
|
||||
@@ -1498,103 +1616,103 @@ const CaseSummary = (props) => {
|
||||
)[0]
|
||||
: ""
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddressline1"
|
||||
)
|
||||
? detailsObj.pinswg_siteaddressline1
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_addressline1"
|
||||
)
|
||||
? detailsObj.pinswg_addressline1
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddressline1"
|
||||
) &&
|
||||
detailsObj.pinswg_siteaddressline1 !=
|
||||
null && <br />}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_addressline1"
|
||||
) &&
|
||||
detailsObj.pinswg_addressline1 !=
|
||||
null && <br />}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddressline2"
|
||||
)
|
||||
? detailsObj.pinswg_siteaddressline2
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_addressline2"
|
||||
)
|
||||
? detailsObj.pinswg_addressline2
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_addressline2"
|
||||
) &&
|
||||
detailsObj.pinswg_addressline2 !=
|
||||
null && <br />}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddresstown"
|
||||
)
|
||||
? detailsObj.pinswg_siteaddresstown
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_addresstown"
|
||||
)
|
||||
? detailsObj.pinswg_addresstown
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddresstown"
|
||||
) &&
|
||||
detailsObj.pinswg_siteaddresstown !=
|
||||
null && <br />}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_addresstown"
|
||||
) &&
|
||||
detailsObj.pinswg_addresstown !=
|
||||
null && <br />}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddresscounty"
|
||||
)
|
||||
? detailsObj.pinswg_siteaddresscounty
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_addresscounty"
|
||||
)
|
||||
? detailsObj.pinswg_addresscounty
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddresscounty"
|
||||
) &&
|
||||
detailsObj.pinswg_siteaddresscounty !=
|
||||
null && <br />}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_addresscounty"
|
||||
) &&
|
||||
detailsObj.pinswg_addresscounty !=
|
||||
null && <br />}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_siteaddresspostcode"
|
||||
)
|
||||
? detailsObj.pinswg_siteaddresspostcode
|
||||
: ""}
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_postcode"
|
||||
)
|
||||
@@ -1622,16 +1740,20 @@ const CaseSummary = (props) => {
|
||||
<div className="card-body">
|
||||
<div>
|
||||
<h4 className="govuk-heading-s ">
|
||||
EIA Screening
|
||||
{t(
|
||||
"case:summary-eia-screening-heading"
|
||||
)}
|
||||
</h4>
|
||||
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
Screening start date
|
||||
{t(
|
||||
"case:summary-eia-screening-start-date-label"
|
||||
)}
|
||||
</dt>{" "}
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_screeningstartdate"
|
||||
)
|
||||
@@ -1651,10 +1773,12 @@ const CaseSummary = (props) => {
|
||||
</div>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
EIA target date
|
||||
{t(
|
||||
"case:summary-eia-screening-target-date-label"
|
||||
)}
|
||||
</dt>{" "}
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_eiatargetdate"
|
||||
)
|
||||
@@ -1679,10 +1803,12 @@ const CaseSummary = (props) => {
|
||||
) && (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
Target Extended
|
||||
{t(
|
||||
"case:summary-eia-screening-target-extended-label"
|
||||
)}
|
||||
</dt>{" "}
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_targetextended"
|
||||
)
|
||||
@@ -1703,11 +1829,12 @@ const CaseSummary = (props) => {
|
||||
)}
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
Direction Issued
|
||||
Date
|
||||
{t(
|
||||
"case:summary-eia-screening-direction-issued-label"
|
||||
)}
|
||||
</dt>{" "}
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_directionissueddate"
|
||||
)
|
||||
@@ -1737,7 +1864,7 @@ const CaseSummary = (props) => {
|
||||
)}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_eiarequired"
|
||||
)
|
||||
@@ -1756,6 +1883,35 @@ const CaseSummary = (props) => {
|
||||
</dd>
|
||||
</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>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1764,16 +1920,20 @@ const CaseSummary = (props) => {
|
||||
<div className="card-body">
|
||||
<div>
|
||||
<h4 className="govuk-heading-s ">
|
||||
EIA Scoping
|
||||
{t(
|
||||
"case:summary-eia-scoping-heading"
|
||||
)}
|
||||
</h4>
|
||||
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
Scoping Start Date
|
||||
{t(
|
||||
"case:summary-eia-scoping-start-date-label"
|
||||
)}
|
||||
</dt>{" "}
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_scopingstartdate"
|
||||
)
|
||||
@@ -1793,10 +1953,12 @@ const CaseSummary = (props) => {
|
||||
</div>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
Scoping Target Date
|
||||
{t(
|
||||
"case:summary-eia-scoping-target-date-label"
|
||||
)}
|
||||
</dt>{" "}
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_scopingtargetdate"
|
||||
)
|
||||
@@ -1820,11 +1982,12 @@ const CaseSummary = (props) => {
|
||||
) && (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
Scoping Target
|
||||
Extended
|
||||
{t(
|
||||
"case:summary-eia-scoping-target-extended-label"
|
||||
)}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_scopingtargetextended"
|
||||
)
|
||||
@@ -1845,11 +2008,12 @@ const CaseSummary = (props) => {
|
||||
)}
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
Scoping Outcome
|
||||
Issued Date
|
||||
{t(
|
||||
"case:summary-eia-scoping-direction-issued-date-label"
|
||||
)}
|
||||
</dt>{" "}
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_scopingoutcomeissueddate"
|
||||
)
|
||||
@@ -1878,7 +2042,7 @@ const CaseSummary = (props) => {
|
||||
.PrimaryIdAttribute == "pinswg_sipscase" && (
|
||||
<EIADetails props={props} />
|
||||
)}
|
||||
{isObjectNotEmpty(props, "eventsObj") && (
|
||||
{hasEventsTabData && (
|
||||
<div
|
||||
className={
|
||||
whichTab == "case-events"
|
||||
@@ -1891,7 +2055,7 @@ const CaseSummary = (props) => {
|
||||
</div>
|
||||
)}
|
||||
|
||||
{isObjectNotEmpty(props, "mediaObj") && (
|
||||
{hasMediaTabData && (
|
||||
<div
|
||||
className={
|
||||
whichTab == "case-media"
|
||||
@@ -1928,6 +2092,19 @@ const CaseSummary = (props) => {
|
||||
showFilteredDocs={props.showFilteredDocs}
|
||||
/>
|
||||
</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>
|
||||
</>
|
||||
@@ -1992,10 +2169,12 @@ const CaseSummary = (props) => {
|
||||
) : null;
|
||||
}
|
||||
|
||||
const fallbackIncidentId = setCaseQueryObj?.value?.[0]?.incidentid;
|
||||
|
||||
useEffect(() => {
|
||||
const linkCaseObj = async () => {
|
||||
let docObj = await getLinkedCases(
|
||||
incidentid || setCaseQueryObj.value[0].incidentid
|
||||
incidentid || fallbackIncidentId
|
||||
).then((data) => {
|
||||
//console.log(data);
|
||||
setCurrentLinkedCases(data);
|
||||
@@ -2006,7 +2185,7 @@ const CaseSummary = (props) => {
|
||||
};
|
||||
|
||||
const linkedCases = linkCaseObj();
|
||||
}, [incidentid, setCurrentLinkedCases]);
|
||||
}, [incidentid, fallbackIncidentId, setCurrentLinkedCases]);
|
||||
|
||||
let now = new Date();
|
||||
let expDate = new Date(now);
|
||||
|
||||
@@ -0,0 +1,853 @@
|
||||
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)
|
||||
}));
|
||||
};
|
||||
@@ -0,0 +1,36 @@
|
||||
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,18 +1,20 @@
|
||||
export function showRepsLocal(startDate, endDate) {
|
||||
let date = new Date();
|
||||
date = new Date(date.toDateString());
|
||||
const start = new Date(startDate);
|
||||
const end = new Date(endDate);
|
||||
import {
|
||||
resolveRepresentationWindow,
|
||||
isRepresentationWindowOpen,
|
||||
isRepresentationWindowClosed,
|
||||
canShowRepresentationButtonForAppealType,
|
||||
canStartHouseholderRepresentation,
|
||||
canStartCpoRepresentation,
|
||||
canStartRowRepresentation,
|
||||
canStartAdvertRepresentation
|
||||
} from "../../../../lib/domain/representation-policy";
|
||||
|
||||
return date >= start && date <= end ? true : false;
|
||||
export function showRepsLocal(startDate, endDate) {
|
||||
return isRepresentationWindowOpen(startDate, endDate);
|
||||
}
|
||||
|
||||
export function showRepsEndedLocal(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;
|
||||
return isRepresentationWindowClosed(startDate, endDate);
|
||||
}
|
||||
|
||||
export function isConsultationWindowOpen(detailsObj) {
|
||||
@@ -23,24 +25,7 @@ export function isConsultationWindowOpen(detailsObj) {
|
||||
}
|
||||
|
||||
export function isGeneralRepresentationWindowOpen(detailsObj) {
|
||||
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
|
||||
)
|
||||
);
|
||||
return resolveRepresentationWindow(detailsObj).isOpen;
|
||||
}
|
||||
|
||||
export function canShowRepButtonForAppealType({
|
||||
@@ -48,44 +33,31 @@ export function canShowRepButtonForAppealType({
|
||||
isLPA,
|
||||
searchDetailsObj
|
||||
}) {
|
||||
switch (appealType) {
|
||||
case 846040012:
|
||||
case 846040013:
|
||||
case 846040014:
|
||||
//for ROW case 846040015:
|
||||
case 846040020:
|
||||
case 846040021:
|
||||
case 846040023:
|
||||
case 846040024:
|
||||
if (!canShowRepresentationButtonForAppealType(appealType)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
switch (appealType) {
|
||||
case 846040004:
|
||||
return isLPA ? true : false;
|
||||
return canStartHouseholderRepresentation(appealType, isLPA);
|
||||
|
||||
case 846040015:
|
||||
return searchDetailsObj[0].value[0].pinswg_specialistcaseprocess ==
|
||||
846040001
|
||||
? showRepsLocal(
|
||||
searchDetailsObj[0].value[0].pinswg_startdate,
|
||||
searchDetailsObj[0].value[0].pinswg_finalcommentsduedate
|
||||
)
|
||||
: true;
|
||||
return canStartRowRepresentation(
|
||||
appealType,
|
||||
searchDetailsObj[0].value[0]
|
||||
);
|
||||
|
||||
case 846040018:
|
||||
let shouldShow =
|
||||
searchDetailsObj[0].value[0].pinswg_speacialistcaseprocess ==
|
||||
846040000 && isLPA
|
||||
? true
|
||||
: searchDetailsObj[0].value[0]
|
||||
.pinswg_speacialistcaseprocess == 846040001
|
||||
? true
|
||||
: false;
|
||||
|
||||
return shouldShow;
|
||||
return canStartAdvertRepresentation(
|
||||
appealType,
|
||||
searchDetailsObj[0].value[0],
|
||||
isLPA
|
||||
);
|
||||
|
||||
case 846040019:
|
||||
return showRepsLocal(
|
||||
searchDetailsObj[0].value[0].pinswg_startdate,
|
||||
searchDetailsObj[0].value[0].pinswg_statementduedate
|
||||
return canStartCpoRepresentation(
|
||||
appealType,
|
||||
searchDetailsObj[0].value[0]
|
||||
);
|
||||
|
||||
default:
|
||||
@@ -100,6 +72,9 @@ export function getEntryCtaLabelKey(appealType) {
|
||||
}
|
||||
|
||||
export function shouldSuppressBlockedMessage({ appealType, isLPA }) {
|
||||
if (!canShowRepresentationButtonForAppealType(appealType)) {
|
||||
return true;
|
||||
}
|
||||
return !isLPA && appealType == 846040004;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
import SummaryRow from "../summary/components/SummaryRow";
|
||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const Pinswg_advertsid = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -22,139 +24,94 @@ const Pinswg_advertsid = (props) => {
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
label={t("case:summary-case-type-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t("case:summary-no-date-entered-label")
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
})}
|
||||
/>
|
||||
|
||||
<SummaryRow
|
||||
label={"Specialist Case Process"}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
label={t(
|
||||
"case:summary-specialist-case-process-label"
|
||||
)}
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_speacialistcaseprocess@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_speacialistcaseprocess@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
|
||||
<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"
|
||||
] || ""
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-eia-required-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
],
|
||||
locale,
|
||||
translations: 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
|
||||
label={t("case:summary-procedure-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-type-of-event-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-status-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t("case:summary-no-date-entered-label")
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
})}
|
||||
/>
|
||||
|
||||
<div className="govuk-summary-list__row">
|
||||
@@ -162,23 +119,16 @@ const Pinswg_advertsid = (props) => {
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
)
|
||||
})}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
@@ -195,7 +145,9 @@ const Pinswg_advertsid = (props) => {
|
||||
{t("case:summary-case-link-status-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, ["numberofchildincidents"])
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents > 0
|
||||
? t(
|
||||
"case:summary-case-link-status-linked"
|
||||
@@ -234,7 +186,7 @@ const Pinswg_advertsid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-start-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_startdate")
|
||||
hasOwn(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdate
|
||||
@@ -242,7 +194,7 @@ const Pinswg_advertsid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(detailsObj, "pinswg_startdates")
|
||||
: hasOwn(detailsObj, "pinswg_startdates")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdates
|
||||
@@ -259,7 +211,10 @@ const Pinswg_advertsid = (props) => {
|
||||
"case:summary-questionnaire-due-date-label"
|
||||
)}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_questionnaireduedate")
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_questionnaireduedate"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_questionnaireduedate
|
||||
)
|
||||
@@ -278,7 +233,7 @@ const Pinswg_advertsid = (props) => {
|
||||
"case:summary-interested-party-date-label"
|
||||
)}
|
||||
value={
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatement"
|
||||
)
|
||||
@@ -291,7 +246,7 @@ const Pinswg_advertsid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
: hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatements"
|
||||
)
|
||||
@@ -311,7 +266,7 @@ const Pinswg_advertsid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-event-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_dateeventrequested")
|
||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_dateeventrequested
|
||||
)
|
||||
@@ -328,7 +283,7 @@ const Pinswg_advertsid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-start-event-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_startdateoftheevent")
|
||||
hasOwn(detailsObj, "pinswg_startdateoftheevent")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdateoftheevent
|
||||
)
|
||||
@@ -344,7 +299,7 @@ const Pinswg_advertsid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-decision-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_casedecisiondate")
|
||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_casedecisiondate
|
||||
)
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
import SummaryRow from "../summary/components/SummaryRow";
|
||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const Pinswg_callinss77id = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -22,149 +24,97 @@ const Pinswg_callinss77id = (props) => {
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
label={t("case:summary-case-type-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t("case:summary-no-date-entered-label")
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<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"
|
||||
] || ""
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-eia-required-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
],
|
||||
locale,
|
||||
translations: 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
|
||||
label={t("case:summary-procedure-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-type-of-event-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-status-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t("case:summary-no-date-entered-label")
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
)
|
||||
})}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
</dd>
|
||||
</div>
|
||||
{casesObj.numberofchildincidents > 0 && (
|
||||
@@ -173,7 +123,9 @@ const Pinswg_callinss77id = (props) => {
|
||||
{t("case:summary-case-link-status-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, ["numberofchildincidents"])
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents > 0
|
||||
? t(
|
||||
"case:summary-case-link-status-linked"
|
||||
@@ -212,7 +164,7 @@ const Pinswg_callinss77id = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-start-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_startdate")
|
||||
hasOwn(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdate
|
||||
@@ -220,7 +172,7 @@ const Pinswg_callinss77id = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(detailsObj, "pinswg_startdates")
|
||||
: hasOwn(detailsObj, "pinswg_startdates")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdates
|
||||
@@ -236,7 +188,10 @@ const Pinswg_callinss77id = (props) => {
|
||||
"case:summary-questionnaire-due-date-label"
|
||||
)}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_questionnaireduedate")
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_questionnaireduedate"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_questionnaireduedate
|
||||
)
|
||||
@@ -249,36 +204,11 @@ const Pinswg_callinss77id = (props) => {
|
||||
: 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
|
||||
label={t("case:summary-statement-due-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_statementsduedate")
|
||||
hasOwn(detailsObj, "pinswg_statementsduedate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_statementsduedate
|
||||
)
|
||||
@@ -296,7 +226,7 @@ const Pinswg_callinss77id = (props) => {
|
||||
"case:summary-interested-party-date-label"
|
||||
)}
|
||||
value={
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatement"
|
||||
)
|
||||
@@ -309,7 +239,7 @@ const Pinswg_callinss77id = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
: hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatements"
|
||||
)
|
||||
@@ -330,7 +260,10 @@ const Pinswg_callinss77id = (props) => {
|
||||
"case:summary-applicant-final-comments-date-label"
|
||||
)}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_finalcommentsduedate")
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_finalcommentsduedate"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_finalcommentsduedate
|
||||
)
|
||||
@@ -343,35 +276,11 @@ const Pinswg_callinss77id = (props) => {
|
||||
: 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
|
||||
label={t("case:summary-event-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_dateeventrequested")
|
||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_dateeventrequested
|
||||
)
|
||||
@@ -387,7 +296,7 @@ const Pinswg_callinss77id = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-start-event-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_startdateofevent")
|
||||
hasOwn(detailsObj, "pinswg_startdateofevent")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdateofevent
|
||||
)
|
||||
@@ -403,7 +312,7 @@ const Pinswg_callinss77id = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-decision-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_casedecisiondate")
|
||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_casedecisiondate
|
||||
)
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
import SummaryRow from "../summary/components/SummaryRow";
|
||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const Pinswg_commonlandid = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -22,149 +24,97 @@ const Pinswg_commonlandid = (props) => {
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
label={t("case:summary-case-type-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t("case:summary-no-date-entered-label")
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<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"
|
||||
] || ""
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-eia-required-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
],
|
||||
locale,
|
||||
translations: 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
|
||||
label={t("case:summary-procedure-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-type-of-event-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-status-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t("case:summary-no-date-entered-label")
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
)
|
||||
})}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
</dd>
|
||||
</div>
|
||||
{casesObj.numberofchildincidents > 0 && (
|
||||
@@ -173,7 +123,9 @@ const Pinswg_commonlandid = (props) => {
|
||||
{t("case:summary-case-link-status-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, ["numberofchildincidents"])
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents > 0
|
||||
? t(
|
||||
"case:summary-case-link-status-linked"
|
||||
@@ -205,26 +157,14 @@ const Pinswg_commonlandid = (props) => {
|
||||
label={t(
|
||||
"case:summary-case-relevant-authoritylabel"
|
||||
)}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.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")
|
||||
}
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_relevantauthorityname"
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
</dl>
|
||||
</SummaryCard>
|
||||
@@ -237,7 +177,7 @@ const Pinswg_commonlandid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-start-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_startdate")
|
||||
hasOwn(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdate
|
||||
@@ -245,7 +185,7 @@ const Pinswg_commonlandid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(detailsObj, "pinswg_startdates")
|
||||
: hasOwn(detailsObj, "pinswg_startdates")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdates
|
||||
@@ -262,7 +202,10 @@ const Pinswg_commonlandid = (props) => {
|
||||
"case:summary-questionnaire-due-date-label"
|
||||
)}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_questionnaireduedate")
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_questionnaireduedate"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_questionnaireduedate
|
||||
)
|
||||
@@ -279,7 +222,7 @@ const Pinswg_commonlandid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-statement-due-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_statementsduedate")
|
||||
hasOwn(detailsObj, "pinswg_statementsduedate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_statementsduedate
|
||||
)
|
||||
@@ -298,7 +241,7 @@ const Pinswg_commonlandid = (props) => {
|
||||
"case:summary-interested-party-date-label"
|
||||
)}
|
||||
value={
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatement"
|
||||
)
|
||||
@@ -311,7 +254,7 @@ const Pinswg_commonlandid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
: hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatements"
|
||||
)
|
||||
@@ -333,7 +276,10 @@ const Pinswg_commonlandid = (props) => {
|
||||
"case:summary-applicant-final-comments-date-label"
|
||||
)}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_finalcommentsduedate")
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_finalcommentsduedate"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_finalcommentsduedate
|
||||
)
|
||||
@@ -346,35 +292,11 @@ const Pinswg_commonlandid = (props) => {
|
||||
: 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
|
||||
label={t("case:summary-event-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_dateeventrequested")
|
||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_dateeventrequested
|
||||
)
|
||||
@@ -391,7 +313,7 @@ const Pinswg_commonlandid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-start-event-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_starttimeoftheevent")
|
||||
hasOwn(detailsObj, "pinswg_starttimeoftheevent")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_starttimeoftheevent
|
||||
)
|
||||
@@ -407,7 +329,7 @@ const Pinswg_commonlandid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-decision-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_casedecisiondate")
|
||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_casedecisiondate
|
||||
)
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
import SummaryRow from "../summary/components/SummaryRow";
|
||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const Pinswg_communityinfrastructurelevyid = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -22,149 +24,97 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
label={t("case:summary-case-type-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t("case:summary-no-date-entered-label")
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<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"
|
||||
] || ""
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-eia-required-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
],
|
||||
locale,
|
||||
translations: 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
|
||||
label={t("case:summary-procedure-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-type-of-event-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-status-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t("case:summary-no-date-entered-label")
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
)
|
||||
})}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
</dd>
|
||||
</div>
|
||||
{casesObj.numberofchildincidents > 0 && (
|
||||
@@ -173,7 +123,9 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
|
||||
{t("case:summary-case-link-status-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, ["numberofchildincidents"])
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents > 0
|
||||
? t(
|
||||
"case:summary-case-link-status-linked"
|
||||
@@ -212,7 +164,7 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-start-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_startdate")
|
||||
hasOwn(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdate
|
||||
@@ -220,7 +172,7 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(detailsObj, "pinswg_startdates")
|
||||
: hasOwn(detailsObj, "pinswg_startdates")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdates
|
||||
@@ -236,7 +188,7 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
|
||||
"case:summary-interested-party-date-label"
|
||||
)}
|
||||
value={
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatement"
|
||||
)
|
||||
@@ -249,7 +201,7 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
: hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatements"
|
||||
)
|
||||
@@ -271,7 +223,10 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
|
||||
"case:summary-applicant-final-comments-date-label"
|
||||
)}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_finalcommentsduedate")
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_finalcommentsduedate"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_finalcommentsduedate
|
||||
)
|
||||
@@ -288,7 +243,7 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-event-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_dateeventrequested")
|
||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_dateeventrequested
|
||||
)
|
||||
@@ -305,7 +260,7 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-start-event-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_startdateoftheevent")
|
||||
hasOwn(detailsObj, "pinswg_startdateoftheevent")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdateoftheevent
|
||||
)
|
||||
@@ -321,7 +276,7 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-decision-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_casedecisiondate")
|
||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_casedecisiondate
|
||||
)
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
import SummaryRow from "../summary/components/SummaryRow";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const Pinswg_compulsorypurchaseordersid = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -22,131 +22,81 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
label={t("case:summary-case-type-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t("case:summary-no-date-entered-label")
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
})}
|
||||
/>
|
||||
|
||||
<SummaryRow
|
||||
label={t("case:summary-eia-required-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_detailedeiascreening@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
],
|
||||
locale,
|
||||
translations: 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
|
||||
label={t("case:summary-procedure-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-type-of-event-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-status-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t("case:summary-no-date-entered-label")
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
)
|
||||
})}
|
||||
</dd>
|
||||
</div>
|
||||
{casesObj.numberofchildincidents > 0 && (
|
||||
@@ -155,7 +105,9 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
||||
{t("case:summary-case-link-status-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, ["numberofchildincidents"])
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents > 0
|
||||
? t(
|
||||
"case:summary-case-link-status-linked"
|
||||
@@ -187,26 +139,12 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
||||
label={t(
|
||||
"case:summary-case-relevant-authoritylabel"
|
||||
)}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.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")
|
||||
}
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj.pinswg_relevantauthorityname,
|
||||
locale: router.locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
</dl>
|
||||
</SummaryCard>
|
||||
@@ -219,7 +157,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-start-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_startdate")
|
||||
hasOwn(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdate
|
||||
@@ -227,7 +165,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(detailsObj, "pinswg_startdates")
|
||||
: hasOwn(detailsObj, "pinswg_startdates")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdates
|
||||
@@ -244,7 +182,10 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
||||
"case:summary-questionnaire-due-date-label"
|
||||
)}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_questionnaireduedate")
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_questionnaireduedate"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_questionnaireduedate
|
||||
)
|
||||
@@ -261,7 +202,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-statement-due-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_statementduedate")
|
||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_statementduedate
|
||||
)
|
||||
@@ -280,7 +221,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
||||
"case:summary-interested-party-date-label"
|
||||
)}
|
||||
value={
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatement"
|
||||
)
|
||||
@@ -293,7 +234,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
: hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatements"
|
||||
)
|
||||
@@ -315,7 +256,10 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
||||
"case:summary-applicant-final-comments-date-label"
|
||||
)}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_finalcommentsduedate")
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_finalcommentsduedate"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_finalcommentsduedate
|
||||
)
|
||||
@@ -335,7 +279,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
||||
)}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(
|
||||
{hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||
)
|
||||
@@ -356,7 +300,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-event-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_dateeventrequested")
|
||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_dateeventrequested
|
||||
)
|
||||
@@ -373,7 +317,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-start-event-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_startdateofevent")
|
||||
hasOwn(detailsObj, "pinswg_startdateofevent")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdateofevent
|
||||
)
|
||||
@@ -389,7 +333,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-decision-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_casedecisiondate")
|
||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_casedecisiondate
|
||||
)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,8 +3,11 @@ import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
import SummaryRow from "../summary/components/SummaryRow";
|
||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const Pinswg_electricityactid = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -62,82 +65,49 @@ const Pinswg_electricityactid = (props) => {
|
||||
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-case-type-label")}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
label={t(
|
||||
"case:summary-case-type-label"
|
||||
)}
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
})}
|
||||
/>
|
||||
<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"
|
||||
] || ""
|
||||
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-eia-required-label"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
)
|
||||
: detailsObj[
|
||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-to-be-confirmed-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -146,10 +116,7 @@ const Pinswg_electricityactid = (props) => {
|
||||
)}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{" "}
|
||||
{/* {casesObj.caseDetails.caseOfficer ||
|
||||
""} */}
|
||||
{_.has(casesObj, "_ownerid_value")
|
||||
{hasOwn(casesObj, "_ownerid_value")
|
||||
? casesObj[
|
||||
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
|
||||
]
|
||||
@@ -157,112 +124,59 @@ const Pinswg_electricityactid = (props) => {
|
||||
</dd>
|
||||
</div>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-procedure-label")}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
label={t(
|
||||
"case:summary-procedure-label"
|
||||
)}
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""
|
||||
|
||||
}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-type-of-event-label"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""
|
||||
|
||||
}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-status-label")}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
)
|
||||
})}
|
||||
</dd>
|
||||
</div>
|
||||
{casesObj.numberofchildincidents > 0 && (
|
||||
@@ -273,8 +187,8 @@ const Pinswg_electricityactid = (props) => {
|
||||
)}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, [
|
||||
"numberofchildincidents",
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents >
|
||||
0
|
||||
@@ -308,39 +222,26 @@ const Pinswg_electricityactid = (props) => {
|
||||
""
|
||||
)}
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-case-recommendation-label"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj.pinswg_recommendation +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj.pinswg_recommendation ||
|
||||
t(
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_recommendation"
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
})}
|
||||
/>
|
||||
{detailsObj.pinswg_webaddress != null && (
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-case-website-label"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
@@ -348,15 +249,13 @@ const Pinswg_electricityactid = (props) => {
|
||||
detailsObj.pinswg_webaddress +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj.pinswg_webaddress ||
|
||||
t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
)}
|
||||
</dl>
|
||||
@@ -371,12 +270,11 @@ const Pinswg_electricityactid = (props) => {
|
||||
</h3>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-event-date-label")}
|
||||
|
||||
label={t(
|
||||
"case:summary-event-date-label"
|
||||
)}
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_dateeventrequested"
|
||||
)
|
||||
@@ -392,19 +290,14 @@ const Pinswg_electricityactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-decision-date-label"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_casedecisiondate"
|
||||
)
|
||||
@@ -420,23 +313,15 @@ const Pinswg_electricityactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
|
||||
<SummaryRow
|
||||
|
||||
|
||||
label={t(
|
||||
"case:summary-application-accepted-as-valid"
|
||||
)}
|
||||
|
||||
|
||||
value={
|
||||
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_applicationacceptedasvalid"
|
||||
)
|
||||
@@ -452,21 +337,14 @@ const Pinswg_electricityactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-application-rejected-as-invalid"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_applicationrejectedasinvalid"
|
||||
)
|
||||
@@ -482,19 +360,14 @@ const Pinswg_electricityactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-confirm-request-to-vary-application"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_confirmrequesttovaryapplication"
|
||||
)
|
||||
@@ -510,19 +383,14 @@ const Pinswg_electricityactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-date-of-decisions"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_dateofdecision"
|
||||
)
|
||||
@@ -538,19 +406,14 @@ const Pinswg_electricityactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-date-of-request-to-vary"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_dateofrequesttovarytheapplication"
|
||||
)
|
||||
@@ -566,19 +429,14 @@ const Pinswg_electricityactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-date-of-submission-of-application"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_dateofsubmissionofapplication"
|
||||
)
|
||||
@@ -594,19 +452,14 @@ const Pinswg_electricityactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-date-project-published-to-website"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_dateprojectpublishedonwebsite"
|
||||
)
|
||||
@@ -622,19 +475,14 @@ const Pinswg_electricityactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-deadline-for-submission-of-application"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_deadlineforsubmissionofapplication"
|
||||
)
|
||||
@@ -650,19 +498,14 @@ const Pinswg_electricityactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-end-of-representation-period"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_endofrepresentationperiod"
|
||||
)
|
||||
@@ -678,19 +521,14 @@ const Pinswg_electricityactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-inspector-report-submission-to-welsh-government"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_inspectorreportsubmittedtowelshgovernment"
|
||||
)
|
||||
@@ -706,19 +544,14 @@ const Pinswg_electricityactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-procedure-confirmed"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_procedureconfirmed"
|
||||
)
|
||||
@@ -734,19 +567,14 @@ const Pinswg_electricityactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-reject-request-to-vary-application"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_rejectrequesttovaryapplication"
|
||||
)
|
||||
@@ -762,17 +590,12 @@ const Pinswg_electricityactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-report-due-by")}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_reportdueby"
|
||||
)
|
||||
@@ -788,17 +611,14 @@ const Pinswg_electricityactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-suspension-dates")}
|
||||
|
||||
label={t(
|
||||
"case:summary-suspension-dates"
|
||||
)}
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_suspensiondates"
|
||||
)
|
||||
@@ -814,19 +634,14 @@ const Pinswg_electricityactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-suspension-end-dates"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_suspensionenddates"
|
||||
)
|
||||
@@ -842,19 +657,14 @@ const Pinswg_electricityactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-suspension-start-dates"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_suspensionstartdates"
|
||||
)
|
||||
@@ -870,19 +680,14 @@ const Pinswg_electricityactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-valid-notice-of-intention-to-submit-an-application"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_validnoticeofintentiontosubmitanapplicati"
|
||||
)
|
||||
@@ -898,17 +703,12 @@ const Pinswg_electricityactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-withdrawn-date")}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_withdrawndate"
|
||||
)
|
||||
@@ -924,19 +724,14 @@ const Pinswg_electricityactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-written-acceptance-of-notice"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_writtenacceptanceofnotification"
|
||||
)
|
||||
@@ -952,9 +747,7 @@ const Pinswg_electricityactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
import SummaryRow from "../summary/components/SummaryRow";
|
||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -22,149 +24,97 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
label={t("case:summary-case-type-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t("case:summary-no-date-entered-label")
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<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"
|
||||
] || ""
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-eia-required-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
],
|
||||
locale,
|
||||
translations: 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
|
||||
label={t("case:summary-procedure-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-type-of-event-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-status-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t("case:summary-no-date-entered-label")
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
)
|
||||
})}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
</dd>
|
||||
</div>
|
||||
{casesObj.numberofchildincidents > 0 && (
|
||||
@@ -173,7 +123,9 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
||||
{t("case:summary-case-link-status-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, ["numberofchildincidents"])
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents > 0
|
||||
? t(
|
||||
"case:summary-case-link-status-linked"
|
||||
@@ -212,7 +164,7 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-start-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_startdate")
|
||||
hasOwn(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdate
|
||||
@@ -220,7 +172,7 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(detailsObj, "pinswg_startdates")
|
||||
: hasOwn(detailsObj, "pinswg_startdates")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdates
|
||||
@@ -237,7 +189,10 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
||||
"case:summary-questionnaire-due-date-label"
|
||||
)}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_questionnaireduedate")
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_questionnaireduedate"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_questionnaireduedate
|
||||
)
|
||||
@@ -254,7 +209,7 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-statement-due-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_statementduedate")
|
||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_statementduedate
|
||||
)
|
||||
@@ -273,7 +228,7 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
||||
"case:summary-interested-party-date-label"
|
||||
)}
|
||||
value={
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatement"
|
||||
)
|
||||
@@ -286,7 +241,7 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
: hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatements"
|
||||
)
|
||||
@@ -308,7 +263,10 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
||||
"case:summary-applicant-final-comments-date-label"
|
||||
)}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_finalcommentsduedate")
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_finalcommentsduedate"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_finalcommentsduedate
|
||||
)
|
||||
@@ -321,35 +279,11 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
||||
: 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
|
||||
label={t("case:summary-event-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_dateeventrequested")
|
||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_dateeventrequested
|
||||
)
|
||||
@@ -366,7 +300,7 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-start-event-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_startdateofevent")
|
||||
hasOwn(detailsObj, "pinswg_startdateofevent")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdateofevent
|
||||
)
|
||||
@@ -382,7 +316,7 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-decision-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_casedecisiondate")
|
||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_casedecisiondate
|
||||
)
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
import SummaryRow from "../summary/components/SummaryRow";
|
||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const Pinswg_enforcementnoticeappeals174id = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -21,177 +23,110 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-case-type-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
/>
|
||||
<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")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
)
|
||||
: detailsObj[
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-lpa-label")}
|
||||
value={
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-eia-required-label")}
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-to-be-confirmed-label"
|
||||
)}
|
||||
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-procedure-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-type-of-event-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-status-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
)
|
||||
})}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
</dd>
|
||||
</div>
|
||||
{casesObj.numberofchildincidents > 0 && (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-case-link-status-label"
|
||||
)}
|
||||
{t("case:summary-case-link-status-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, [
|
||||
"numberofchildincidents",
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents >
|
||||
0
|
||||
? casesObj.numberofchildincidents > 0
|
||||
? t(
|
||||
"case:summary-case-link-status-linked"
|
||||
)
|
||||
@@ -207,14 +142,11 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
||||
{casesObj.numberofchildincidents > 0 ? (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-linked-cases-label"
|
||||
)}
|
||||
{t("case:summary-linked-cases-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{linkedCasesList(
|
||||
props.currentView
|
||||
.linkedCaseReferences
|
||||
props.currentView.linkedCaseReferences
|
||||
)}
|
||||
</dd>
|
||||
</div>
|
||||
@@ -230,47 +162,34 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-start-date-label")}
|
||||
|
||||
value={_.has(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
detailsObj,
|
||||
"pinswg_startdates"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: hasOwn(detailsObj, "pinswg_startdates")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: t(
|
||||
"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-questionnaire-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_questionnaireduedate"
|
||||
)
|
||||
@@ -283,25 +202,14 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
||||
: t(
|
||||
"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-statement-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_statementduedate"
|
||||
)
|
||||
label={t("case:summary-statement-due-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_statementduedate
|
||||
)
|
||||
@@ -311,22 +219,16 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
||||
: t(
|
||||
"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-interested-party-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatement"
|
||||
)
|
||||
@@ -339,7 +241,7 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
: hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatements"
|
||||
)
|
||||
@@ -352,22 +254,16 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
||||
: t(
|
||||
"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-applicant-final-comments-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_finalcommentsduedate"
|
||||
)
|
||||
@@ -380,41 +276,14 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
||||
: t(
|
||||
"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")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_dateeventrequested"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_dateeventrequested
|
||||
)
|
||||
@@ -424,24 +293,14 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
||||
: t(
|
||||
"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-start-event-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_startdateoftheevent"
|
||||
)
|
||||
label={t("case:summary-start-event-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_startdateoftheevent")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdateoftheevent
|
||||
)
|
||||
@@ -451,20 +310,13 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
||||
: t(
|
||||
"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-decision-date-label")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_casedecisiondate"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_casedecisiondate
|
||||
)
|
||||
@@ -474,10 +326,8 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
: t("case:summary-no-date-entered-label")
|
||||
}
|
||||
/>
|
||||
</dl>
|
||||
</SummaryCard>
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
import SummaryRow from "../summary/components/SummaryRow";
|
||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const Pinswg_environmentalpermittingid = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -21,177 +23,110 @@ const Pinswg_environmentalpermittingid = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-case-type-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
/>
|
||||
<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")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
)
|
||||
: detailsObj[
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-lpa-label")}
|
||||
value={
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-eia-required-label")}
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-to-be-confirmed-label"
|
||||
)}
|
||||
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-procedure-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-type-of-event-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-status-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
)
|
||||
})}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
</dd>
|
||||
</div>
|
||||
{casesObj.numberofchildincidents > 0 && (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-case-link-status-label"
|
||||
)}
|
||||
{t("case:summary-case-link-status-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, [
|
||||
"numberofchildincidents",
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents >
|
||||
0
|
||||
? casesObj.numberofchildincidents > 0
|
||||
? t(
|
||||
"case:summary-case-link-status-linked"
|
||||
)
|
||||
@@ -207,14 +142,11 @@ const Pinswg_environmentalpermittingid = (props) => {
|
||||
{casesObj.numberofchildincidents > 0 ? (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-linked-cases-label"
|
||||
)}
|
||||
{t("case:summary-linked-cases-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{linkedCasesList(
|
||||
props.currentView
|
||||
.linkedCaseReferences
|
||||
props.currentView.linkedCaseReferences
|
||||
)}
|
||||
</dd>
|
||||
</div>
|
||||
@@ -222,32 +154,15 @@ const Pinswg_environmentalpermittingid = (props) => {
|
||||
""
|
||||
)}
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-case-relevant-authoritylabel"
|
||||
)}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.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"
|
||||
)}
|
||||
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj.pinswg_relevantauthorityname,
|
||||
locale: router.locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
</dl>
|
||||
</SummaryCard>
|
||||
@@ -258,47 +173,34 @@ const Pinswg_environmentalpermittingid = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-start-date-label")}
|
||||
|
||||
value={_.has(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
detailsObj,
|
||||
"pinswg_startdates"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: hasOwn(detailsObj, "pinswg_startdates")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: t(
|
||||
"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-questionnaire-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_questionnaireduedate"
|
||||
)
|
||||
@@ -311,25 +213,14 @@ const Pinswg_environmentalpermittingid = (props) => {
|
||||
: t(
|
||||
"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-statement-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_statementduedate"
|
||||
)
|
||||
label={t("case:summary-statement-due-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_statementduedate
|
||||
)
|
||||
@@ -339,22 +230,16 @@ const Pinswg_environmentalpermittingid = (props) => {
|
||||
: t(
|
||||
"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-interested-party-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatement"
|
||||
)
|
||||
@@ -367,7 +252,7 @@ const Pinswg_environmentalpermittingid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
: hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatements"
|
||||
)
|
||||
@@ -380,22 +265,16 @@ const Pinswg_environmentalpermittingid = (props) => {
|
||||
: t(
|
||||
"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-applicant-final-comments-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_finalcommentsduedate"
|
||||
)
|
||||
@@ -408,17 +287,14 @@ const Pinswg_environmentalpermittingid = (props) => {
|
||||
: t(
|
||||
"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(
|
||||
value={hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||
)
|
||||
@@ -436,13 +312,9 @@ const Pinswg_environmentalpermittingid = (props) => {
|
||||
)}
|
||||
/> */}
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-event-date-label")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_dateeventrequested"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_dateeventrequested
|
||||
)
|
||||
@@ -452,24 +324,14 @@ const Pinswg_environmentalpermittingid = (props) => {
|
||||
: t(
|
||||
"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-start-event-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_startdateofevent"
|
||||
)
|
||||
label={t("case:summary-start-event-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_startdateofevent")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdateofevent
|
||||
)
|
||||
@@ -479,20 +341,13 @@ const Pinswg_environmentalpermittingid = (props) => {
|
||||
: t(
|
||||
"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-decision-date-label")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_casedecisiondate"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_casedecisiondate
|
||||
)
|
||||
@@ -502,10 +357,8 @@ const Pinswg_environmentalpermittingid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
: t("case:summary-no-date-entered-label")
|
||||
}
|
||||
/>
|
||||
</dl>
|
||||
</SummaryCard>
|
||||
|
||||
@@ -5,6 +5,9 @@ import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
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) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -62,82 +65,49 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-case-type-label")}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
label={t(
|
||||
"case:summary-case-type-label"
|
||||
)}
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
})}
|
||||
/>
|
||||
<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"
|
||||
] || ""
|
||||
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-eia-required-label"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
)
|
||||
: detailsObj[
|
||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-to-be-confirmed-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
@@ -146,10 +116,7 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
)}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{" "}
|
||||
{/* {casesObj.caseDetails.caseOfficer ||
|
||||
""} */}
|
||||
{_.has(casesObj, "_ownerid_value")
|
||||
{hasOwn(casesObj, "_ownerid_value")
|
||||
? casesObj[
|
||||
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
|
||||
]
|
||||
@@ -157,86 +124,46 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
</dd>
|
||||
</div>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-procedure-label")}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
label={t(
|
||||
"case:summary-procedure-label"
|
||||
)}
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""
|
||||
|
||||
}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-status-label")}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
)
|
||||
})}
|
||||
</dd>
|
||||
</div>
|
||||
{casesObj.numberofchildincidents > 0 && (
|
||||
@@ -247,8 +174,8 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
)}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, [
|
||||
"numberofchildincidents",
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents >
|
||||
0
|
||||
@@ -282,39 +209,24 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
""
|
||||
)}
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-case-recommendation-label"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj.pinswg_recommendation +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj.pinswg_recommendation ||
|
||||
t(
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj.pinswg_recommendation,
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
})}
|
||||
/>
|
||||
{detailsObj.pinswg_webaddress != null && (
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-case-website-label"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
@@ -322,15 +234,13 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
detailsObj.pinswg_webaddress +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj.pinswg_webaddress ||
|
||||
t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
)}
|
||||
</dl>
|
||||
@@ -345,12 +255,11 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
</h3>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-event-date-label")}
|
||||
|
||||
label={t(
|
||||
"case:summary-event-date-label"
|
||||
)}
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_dateeventrequested"
|
||||
)
|
||||
@@ -366,19 +275,14 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-decision-date-label"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_casedecisiondate"
|
||||
)
|
||||
@@ -394,23 +298,15 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
|
||||
<SummaryRow
|
||||
|
||||
|
||||
label={t(
|
||||
"case:summary-application-accepted-as-valid"
|
||||
)}
|
||||
|
||||
|
||||
value={
|
||||
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_applicationacceptedasvalid"
|
||||
)
|
||||
@@ -426,21 +322,14 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-application-rejected-as-invalid"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_applicationrejectedasinvalid"
|
||||
)
|
||||
@@ -456,19 +345,14 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-confirm-request-to-vary-application"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_confirmrequesttovaryapplication"
|
||||
)
|
||||
@@ -484,19 +368,14 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-date-of-decisions"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_dateofdecision"
|
||||
)
|
||||
@@ -512,19 +391,14 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-date-of-request-to-vary"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_dateofrequesttovarytheapplication"
|
||||
)
|
||||
@@ -540,19 +414,14 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-date-of-submission-of-application"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_dateofsubmissionofapplication"
|
||||
)
|
||||
@@ -568,19 +437,14 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-date-project-published-to-website"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_dateprojectpublishedonwebsite"
|
||||
)
|
||||
@@ -596,19 +460,14 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-deadline-for-submission-of-application"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_deadlineforsubmissionofapplication"
|
||||
)
|
||||
@@ -624,19 +483,14 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-end-of-representation-period"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_endofrepresentationperiod"
|
||||
)
|
||||
@@ -652,19 +506,14 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-inspector-report-submission-to-welsh-government"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_inspectorreportsubmittedtowelshgovernment"
|
||||
)
|
||||
@@ -680,19 +529,14 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-procedure-confirmed"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_procedureconfirmed"
|
||||
)
|
||||
@@ -708,19 +552,14 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-reject-request-to-vary-application"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_rejectrequesttovaryapplication"
|
||||
)
|
||||
@@ -736,17 +575,12 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-report-due-by")}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_reportdueby"
|
||||
)
|
||||
@@ -762,17 +596,14 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-suspension-dates")}
|
||||
|
||||
label={t(
|
||||
"case:summary-suspension-dates"
|
||||
)}
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_suspensiondates"
|
||||
)
|
||||
@@ -788,19 +619,14 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-suspension-end-dates"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_suspensionenddates"
|
||||
)
|
||||
@@ -816,19 +642,14 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-suspension-start-dates"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_suspensionstartdates"
|
||||
)
|
||||
@@ -844,19 +665,14 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-valid-notice-of-intention-to-submit-an-application"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_validnoticeofintentiontosubmitanapplicati"
|
||||
)
|
||||
@@ -872,17 +688,12 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-withdrawn-date")}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_withdrawndate"
|
||||
)
|
||||
@@ -898,19 +709,14 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-written-acceptance-of-notice"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_writtenacceptanceofnotification"
|
||||
)
|
||||
@@ -926,9 +732,7 @@ const Pinswg_harbourrevisionorderid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
import SummaryRow from "../summary/components/SummaryRow";
|
||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -21,205 +23,125 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-case-type-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
/>
|
||||
|
||||
<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")}
|
||||
|
||||
|
||||
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")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
"pinswg_detailedeiascreening@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
)
|
||||
: detailsObj[
|
||||
})}
|
||||
/>
|
||||
|
||||
<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
|
||||
label={t("case:summary-lpa-label")}
|
||||
value={
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-eia-required-label")}
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_detailedeiascreening@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-to-be-confirmed-label"
|
||||
)}
|
||||
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-procedure-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-type-of-event-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-status-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
)
|
||||
})}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
</dd>
|
||||
</div>
|
||||
{casesObj.numberofchildincidents > 0 && (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-case-link-status-label"
|
||||
)}
|
||||
{t("case:summary-case-link-status-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, [
|
||||
"numberofchildincidents",
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents >
|
||||
0
|
||||
? casesObj.numberofchildincidents > 0
|
||||
? t(
|
||||
"case:summary-case-link-status-linked"
|
||||
)
|
||||
@@ -235,14 +157,11 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
||||
{casesObj.numberofchildincidents > 0 ? (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-linked-cases-label"
|
||||
)}
|
||||
{t("case:summary-linked-cases-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{linkedCasesList(
|
||||
props.currentView
|
||||
.linkedCaseReferences
|
||||
props.currentView.linkedCaseReferences
|
||||
)}
|
||||
</dd>
|
||||
</div>
|
||||
@@ -250,32 +169,15 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
||||
""
|
||||
)}
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-case-relevant-authoritylabel"
|
||||
)}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.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"
|
||||
)}
|
||||
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj.pinswg_relevantauthorityname,
|
||||
locale: router.locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
</dl>
|
||||
</SummaryCard>
|
||||
@@ -286,47 +188,34 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-start-date-label")}
|
||||
|
||||
value={_.has(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
detailsObj,
|
||||
"pinswg_startdates"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: hasOwn(detailsObj, "pinswg_startdates")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: t(
|
||||
"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-questionnaire-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_questionnaireduedate"
|
||||
)
|
||||
@@ -339,25 +228,14 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
||||
: t(
|
||||
"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-statement-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_statementduedate"
|
||||
)
|
||||
label={t("case:summary-statement-due-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_statementduedate
|
||||
)
|
||||
@@ -367,22 +245,16 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
||||
: t(
|
||||
"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-interested-party-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatement"
|
||||
)
|
||||
@@ -395,7 +267,7 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
: hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatements"
|
||||
)
|
||||
@@ -408,22 +280,16 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
||||
: t(
|
||||
"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-applicant-final-comments-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_finalcommentsduedate"
|
||||
)
|
||||
@@ -436,41 +302,14 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
||||
: t(
|
||||
"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")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_dateeventrequested"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_dateeventrequested
|
||||
)
|
||||
@@ -480,24 +319,14 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
||||
: t(
|
||||
"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-start-event-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_startdateoftheevent"
|
||||
)
|
||||
label={t("case:summary-start-event-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_startdateoftheevent")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdateoftheevent
|
||||
)
|
||||
@@ -507,20 +336,13 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
||||
: t(
|
||||
"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-decision-date-label")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_casedecisiondate"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_casedecisiondate
|
||||
)
|
||||
@@ -530,10 +352,8 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
: t("case:summary-no-date-entered-label")
|
||||
}
|
||||
/>
|
||||
</dl>
|
||||
</SummaryCard>
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
import SummaryRow from "../summary/components/SummaryRow";
|
||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const Pinswg_householderappealhasid = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -22,130 +24,86 @@ const Pinswg_householderappealhasid = (props) => {
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
label={t("case:summary-case-type-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t("case:summary-no-date-entered-label")
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<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"
|
||||
] || ""
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-eia-required-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
],
|
||||
locale,
|
||||
translations: 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
|
||||
label={t("case:summary-procedure-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-status-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t("case:summary-no-date-entered-label")
|
||||
}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
)
|
||||
})}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
</dd>
|
||||
</div>
|
||||
{casesObj.numberofchildincidents > 0 && (
|
||||
@@ -154,7 +112,9 @@ const Pinswg_householderappealhasid = (props) => {
|
||||
{t("case:summary-case-link-status-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, ["numberofchildincidents"])
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents > 0
|
||||
? t(
|
||||
"case:summary-case-link-status-linked"
|
||||
@@ -193,7 +153,7 @@ const Pinswg_householderappealhasid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-start-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_startdate")
|
||||
hasOwn(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdate
|
||||
@@ -201,7 +161,7 @@ const Pinswg_householderappealhasid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(detailsObj, "pinswg_startdates")
|
||||
: hasOwn(detailsObj, "pinswg_startdates")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdates
|
||||
@@ -218,7 +178,10 @@ const Pinswg_householderappealhasid = (props) => {
|
||||
"case:summary-questionnaire-due-date-label"
|
||||
)}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_questionnaireduedate")
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_questionnaireduedate"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_questionnaireduedate
|
||||
)
|
||||
@@ -235,7 +198,7 @@ const Pinswg_householderappealhasid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-statement-due-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_statementduedate")
|
||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_statementduedate
|
||||
)
|
||||
@@ -254,7 +217,7 @@ const Pinswg_householderappealhasid = (props) => {
|
||||
"case:summary-interested-party-date-label"
|
||||
)}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_otherpartiesstmt")
|
||||
hasOwn(detailsObj, "pinswg_otherpartiesstmt")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_otherpartiesstmt
|
||||
)
|
||||
@@ -264,7 +227,7 @@ const Pinswg_householderappealhasid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
: hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstmt"
|
||||
)
|
||||
@@ -283,7 +246,7 @@ const Pinswg_householderappealhasid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-event-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_dateeventrequested")
|
||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_dateeventrequested
|
||||
)
|
||||
@@ -300,7 +263,7 @@ const Pinswg_householderappealhasid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-start-event-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_startdateofevent")
|
||||
hasOwn(detailsObj, "pinswg_startdateofevent")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdateofevent
|
||||
)
|
||||
@@ -316,7 +279,7 @@ const Pinswg_householderappealhasid = (props) => {
|
||||
<SummaryRow
|
||||
label={t("case:summary-decision-date-label")}
|
||||
value={
|
||||
_.has(detailsObj, "pinswg_casedecisiondate")
|
||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_casedecisiondate
|
||||
)
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
import SummaryRow from "../summary/components/SummaryRow";
|
||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -21,177 +23,108 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-case-type-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
/>
|
||||
<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")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
"pinswg_detailedeiascreeningrequiered@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
)
|
||||
: detailsObj[
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-lpa-label")}
|
||||
value={
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-eia-required-label")}
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_detailedeiascreeningrequiered@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-to-be-confirmed-label"
|
||||
)}
|
||||
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-procedure-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-type-of-event-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-status-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
)
|
||||
})}
|
||||
</dd>
|
||||
</div>
|
||||
{casesObj.numberofchildincidents > 0 && (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-case-link-status-label"
|
||||
)}
|
||||
{t("case:summary-case-link-status-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, [
|
||||
"numberofchildincidents",
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents >
|
||||
0
|
||||
? casesObj.numberofchildincidents > 0
|
||||
? t(
|
||||
"case:summary-case-link-status-linked"
|
||||
)
|
||||
@@ -207,14 +140,11 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
||||
{casesObj.numberofchildincidents > 0 ? (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-linked-cases-label"
|
||||
)}
|
||||
{t("case:summary-linked-cases-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{linkedCasesList(
|
||||
props.currentView
|
||||
.linkedCaseReferences
|
||||
props.currentView.linkedCaseReferences
|
||||
)}
|
||||
</dd>
|
||||
</div>
|
||||
@@ -230,47 +160,34 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-start-date-label")}
|
||||
|
||||
value={_.has(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
detailsObj,
|
||||
"pinswg_startdates"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: hasOwn(detailsObj, "pinswg_startdates")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: t(
|
||||
"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-questionnaire-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_questionnaireduedate"
|
||||
)
|
||||
@@ -283,25 +200,14 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
||||
: t(
|
||||
"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-statement-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_statementduedate"
|
||||
)
|
||||
label={t("case:summary-statement-due-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_statementduedate
|
||||
)
|
||||
@@ -311,22 +217,16 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
||||
: t(
|
||||
"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-interested-party-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatement"
|
||||
)
|
||||
@@ -339,7 +239,7 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
: hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatements"
|
||||
)
|
||||
@@ -352,22 +252,16 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
||||
: t(
|
||||
"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-applicant-final-comments-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_finalcommentsduedate"
|
||||
)
|
||||
@@ -380,41 +274,14 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
||||
: t(
|
||||
"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")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_dateeventrequested"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_dateeventrequested
|
||||
)
|
||||
@@ -424,24 +291,14 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
||||
: t(
|
||||
"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-start-event-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_startdateoftheevent"
|
||||
)
|
||||
label={t("case:summary-start-event-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_startdateoftheevent")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdateoftheevent
|
||||
)
|
||||
@@ -451,20 +308,13 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
||||
: t(
|
||||
"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-decision-date-label")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_casedecisiondate"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_casedecisiondate
|
||||
)
|
||||
@@ -474,10 +324,8 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
: t("case:summary-no-date-entered-label")
|
||||
}
|
||||
/>
|
||||
</dl>
|
||||
</SummaryCard>
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
import SummaryRow from "../summary/components/SummaryRow";
|
||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const Pinswg_ldpid = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -21,160 +23,98 @@ const Pinswg_ldpid = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-case-type-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<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"
|
||||
] || ""}
|
||||
|
||||
value={
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
/>
|
||||
|
||||
<SummaryRow
|
||||
|
||||
|
||||
label={t("case:summary-procedure-label")}
|
||||
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-type-of-event-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-status-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
)
|
||||
})}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
</dd>
|
||||
</div>
|
||||
{casesObj.numberofchildincidents > 0 && (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-case-link-status-label"
|
||||
)}
|
||||
{t("case:summary-case-link-status-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, [
|
||||
"numberofchildincidents",
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents >
|
||||
0
|
||||
? casesObj.numberofchildincidents > 0
|
||||
? t(
|
||||
"case:summary-case-link-status-linked"
|
||||
)
|
||||
@@ -190,14 +130,11 @@ const Pinswg_ldpid = (props) => {
|
||||
{casesObj.numberofchildincidents > 0 ? (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-linked-cases-label"
|
||||
)}
|
||||
{t("case:summary-linked-cases-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{linkedCasesList(
|
||||
props.currentView
|
||||
.linkedCaseReferences
|
||||
props.currentView.linkedCaseReferences
|
||||
)}
|
||||
</dd>
|
||||
</div>
|
||||
@@ -213,47 +150,34 @@ const Pinswg_ldpid = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-start-date-label")}
|
||||
|
||||
value={_.has(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
detailsObj,
|
||||
"pinswg_startdates"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: hasOwn(detailsObj, "pinswg_startdates")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: t(
|
||||
"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-questionnaire-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_questionnaireduedate"
|
||||
)
|
||||
@@ -266,25 +190,14 @@ const Pinswg_ldpid = (props) => {
|
||||
: t(
|
||||
"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-statement-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_statementduedate"
|
||||
)
|
||||
label={t("case:summary-statement-due-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_statementduedate
|
||||
)
|
||||
@@ -294,22 +207,16 @@ const Pinswg_ldpid = (props) => {
|
||||
: t(
|
||||
"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-interested-party-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatement"
|
||||
)
|
||||
@@ -322,7 +229,7 @@ const Pinswg_ldpid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
: hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatements"
|
||||
)
|
||||
@@ -335,22 +242,16 @@ const Pinswg_ldpid = (props) => {
|
||||
: t(
|
||||
"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-applicant-final-comments-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_finalcommentsduedate"
|
||||
)
|
||||
@@ -363,41 +264,14 @@ const Pinswg_ldpid = (props) => {
|
||||
: t(
|
||||
"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")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_dateeventrequested"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_dateeventrequested
|
||||
)
|
||||
@@ -407,24 +281,14 @@ const Pinswg_ldpid = (props) => {
|
||||
: t(
|
||||
"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-start-event-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_startdateofevent"
|
||||
)
|
||||
label={t("case:summary-start-event-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_startdateofevent")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdateofevent
|
||||
)
|
||||
@@ -434,20 +298,13 @@ const Pinswg_ldpid = (props) => {
|
||||
: t(
|
||||
"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-decision-date-label")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_casedecisiondate"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_casedecisiondate
|
||||
)
|
||||
@@ -457,10 +314,8 @@ const Pinswg_ldpid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
: t("case:summary-no-date-entered-label")
|
||||
}
|
||||
/>
|
||||
</dl>
|
||||
</SummaryCard>
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
import SummaryRow from "../summary/components/SummaryRow";
|
||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const Pinswg_listedbuildingandconservationrid = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -21,177 +23,110 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-case-type-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
/>
|
||||
<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")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
"pinswg_detailedeiascreeningrequiered@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
)
|
||||
: detailsObj[
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-lpa-label")}
|
||||
value={
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-eia-required-label")}
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_detailedeiascreeningrequiered@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-to-be-confirmed-label"
|
||||
)}
|
||||
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-procedure-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-type-of-event-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-status-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
)
|
||||
})}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
</dd>
|
||||
</div>
|
||||
{casesObj.numberofchildincidents > 0 && (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-case-link-status-label"
|
||||
)}
|
||||
{t("case:summary-case-link-status-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, [
|
||||
"numberofchildincidents",
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents >
|
||||
0
|
||||
? casesObj.numberofchildincidents > 0
|
||||
? t(
|
||||
"case:summary-case-link-status-linked"
|
||||
)
|
||||
@@ -207,14 +142,11 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
||||
{casesObj.numberofchildincidents > 0 ? (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-linked-cases-label"
|
||||
)}
|
||||
{t("case:summary-linked-cases-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{linkedCasesList(
|
||||
props.currentView
|
||||
.linkedCaseReferences
|
||||
props.currentView.linkedCaseReferences
|
||||
)}
|
||||
</dd>
|
||||
</div>
|
||||
@@ -230,47 +162,34 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-start-date-label")}
|
||||
|
||||
value={_.has(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
detailsObj,
|
||||
"pinswg_startdates"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: hasOwn(detailsObj, "pinswg_startdates")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: t(
|
||||
"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-questionnaire-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_questionnaireduedate"
|
||||
)
|
||||
@@ -283,25 +202,14 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
||||
: t(
|
||||
"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-statement-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_statementduedate"
|
||||
)
|
||||
label={t("case:summary-statement-due-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_statementduedate
|
||||
)
|
||||
@@ -311,22 +219,16 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
||||
: t(
|
||||
"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-interested-party-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatement"
|
||||
)
|
||||
@@ -339,7 +241,7 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
: hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatements"
|
||||
)
|
||||
@@ -352,22 +254,16 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
||||
: t(
|
||||
"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-applicant-final-comments-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_finalcommentsduedate"
|
||||
)
|
||||
@@ -380,41 +276,14 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
||||
: t(
|
||||
"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")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_dateeventrequested"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_dateeventrequested
|
||||
)
|
||||
@@ -424,24 +293,14 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
||||
: t(
|
||||
"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-start-event-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_starttimeofevent"
|
||||
)
|
||||
label={t("case:summary-start-event-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_starttimeofevent")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_starttimeofevent
|
||||
)
|
||||
@@ -451,20 +310,13 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
||||
: t(
|
||||
"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-decision-date-label")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_casedecisiondate"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_casedecisiondate
|
||||
)
|
||||
@@ -474,10 +326,8 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
: t("case:summary-no-date-entered-label")
|
||||
}
|
||||
/>
|
||||
</dl>
|
||||
</SummaryCard>
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
import SummaryRow from "../summary/components/SummaryRow";
|
||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const Pinswg_maintenanceoflands217id = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -21,177 +23,110 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-case-type-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
/>
|
||||
<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")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
)
|
||||
: detailsObj[
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-lpa-label")}
|
||||
value={
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-eia-required-label")}
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-to-be-confirmed-label"
|
||||
)}
|
||||
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-procedure-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-type-of-event-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-status-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
)
|
||||
})}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
</dd>
|
||||
</div>
|
||||
{casesObj.numberofchildincidents > 0 && (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-case-link-status-label"
|
||||
)}
|
||||
{t("case:summary-case-link-status-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, [
|
||||
"numberofchildincidents",
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents >
|
||||
0
|
||||
? casesObj.numberofchildincidents > 0
|
||||
? t(
|
||||
"case:summary-case-link-status-linked"
|
||||
)
|
||||
@@ -207,14 +142,11 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
||||
{casesObj.numberofchildincidents > 0 ? (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-linked-cases-label"
|
||||
)}
|
||||
{t("case:summary-linked-cases-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{linkedCasesList(
|
||||
props.currentView
|
||||
.linkedCaseReferences
|
||||
props.currentView.linkedCaseReferences
|
||||
)}
|
||||
</dd>
|
||||
</div>
|
||||
@@ -230,47 +162,34 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-start-date-label")}
|
||||
|
||||
value={_.has(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
detailsObj,
|
||||
"pinswg_startdates"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: hasOwn(detailsObj, "pinswg_startdates")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: t(
|
||||
"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-questionnaire-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_questionnaireduedate"
|
||||
)
|
||||
@@ -283,25 +202,14 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
||||
: t(
|
||||
"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-statement-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_statementduedate"
|
||||
)
|
||||
label={t("case:summary-statement-due-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_statementduedate
|
||||
)
|
||||
@@ -311,22 +219,16 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
||||
: t(
|
||||
"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-interested-party-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatement"
|
||||
)
|
||||
@@ -339,7 +241,7 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
: hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatements"
|
||||
)
|
||||
@@ -352,22 +254,16 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
||||
: t(
|
||||
"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-applicant-final-comments-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_finalcommentsduedate"
|
||||
)
|
||||
@@ -380,17 +276,14 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
||||
: t(
|
||||
"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(
|
||||
value={hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||
)
|
||||
@@ -408,13 +301,9 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
||||
)}
|
||||
/> */}
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-event-date-label")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_dateeventrequested"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_dateeventrequested
|
||||
)
|
||||
@@ -424,24 +313,14 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
||||
: t(
|
||||
"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-start-event-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_startdateofevent"
|
||||
)
|
||||
label={t("case:summary-start-event-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_startdateofevent")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdateofevent
|
||||
)
|
||||
@@ -451,20 +330,13 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
||||
: t(
|
||||
"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-decision-date-label")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_casedecisiondate"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_casedecisiondate
|
||||
)
|
||||
@@ -474,10 +346,8 @@ const Pinswg_maintenanceoflands217id = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
: t("case:summary-no-date-entered-label")
|
||||
}
|
||||
/>
|
||||
</dl>
|
||||
</SummaryCard>
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
import SummaryRow from "../summary/components/SummaryRow";
|
||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const Pinswg_miscellaneouscasewordid = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -21,177 +23,110 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-case-type-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
/>
|
||||
<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")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
)
|
||||
: detailsObj[
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-lpa-label")}
|
||||
value={
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-eia-required-label")}
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-to-be-confirmed-label"
|
||||
)}
|
||||
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-procedure-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-type-of-event-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-status-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
)
|
||||
})}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
</dd>
|
||||
</div>
|
||||
{casesObj.numberofchildincidents > 0 && (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-case-link-status-label"
|
||||
)}
|
||||
{t("case:summary-case-link-status-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, [
|
||||
"numberofchildincidents",
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents >
|
||||
0
|
||||
? casesObj.numberofchildincidents > 0
|
||||
? t(
|
||||
"case:summary-case-link-status-linked"
|
||||
)
|
||||
@@ -207,14 +142,11 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
||||
{casesObj.numberofchildincidents > 0 ? (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-linked-cases-label"
|
||||
)}
|
||||
{t("case:summary-linked-cases-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{linkedCasesList(
|
||||
props.currentView
|
||||
.linkedCaseReferences
|
||||
props.currentView.linkedCaseReferences
|
||||
)}
|
||||
</dd>
|
||||
</div>
|
||||
@@ -222,32 +154,15 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
||||
""
|
||||
)}
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-case-relevant-authoritylabel"
|
||||
)}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.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"
|
||||
)}
|
||||
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj.pinswg_relevantauthorityname,
|
||||
locale: router.locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
</dl>
|
||||
</SummaryCard>
|
||||
@@ -258,47 +173,34 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-start-date-label")}
|
||||
|
||||
value={_.has(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
detailsObj,
|
||||
"pinswg_startdates"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: hasOwn(detailsObj, "pinswg_startdates")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: t(
|
||||
"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-questionnaire-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_questionnaireduedate"
|
||||
)
|
||||
@@ -311,25 +213,14 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
||||
: t(
|
||||
"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-statement-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_statementduedate"
|
||||
)
|
||||
label={t("case:summary-statement-due-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_statementduedate
|
||||
)
|
||||
@@ -339,22 +230,16 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
||||
: t(
|
||||
"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-interested-party-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatement"
|
||||
)
|
||||
@@ -367,7 +252,7 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
: hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatements"
|
||||
)
|
||||
@@ -380,22 +265,16 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
||||
: t(
|
||||
"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-applicant-final-comments-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_finalcommentsduedate"
|
||||
)
|
||||
@@ -408,17 +287,14 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
||||
: t(
|
||||
"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(
|
||||
value={hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||
)
|
||||
@@ -436,13 +312,9 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
||||
)}
|
||||
/> */}
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-event-date-label")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_dateeventrequested"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_dateeventrequested
|
||||
)
|
||||
@@ -452,24 +324,14 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
||||
: t(
|
||||
"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-start-event-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_startdateofevent"
|
||||
)
|
||||
label={t("case:summary-start-event-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_startdateofevent")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdateofevent
|
||||
)
|
||||
@@ -479,20 +341,13 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
||||
: t(
|
||||
"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-decision-date-label")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_casedecisiondate"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_casedecisiondate
|
||||
)
|
||||
@@ -502,10 +357,8 @@ const Pinswg_miscellaneouscasewordid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
: t("case:summary-no-date-entered-label")
|
||||
}
|
||||
/>
|
||||
</dl>
|
||||
</SummaryCard>
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
import SummaryRow from "../summary/components/SummaryRow";
|
||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const Pinswg_nonvalidationid = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -21,132 +23,64 @@ const Pinswg_nonvalidationid = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-case-type-label")}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
})}
|
||||
/>
|
||||
<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"
|
||||
] || ""
|
||||
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
|
||||
/>
|
||||
|
||||
{/* <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
|
||||
|
||||
label={t("case:summary-status-label")}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decisionissued@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decisionissued@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
)
|
||||
})}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
</dd>
|
||||
</div>
|
||||
</dl>
|
||||
@@ -158,55 +92,32 @@ const Pinswg_nonvalidationid = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-start-date-label")}
|
||||
|
||||
value={
|
||||
|
||||
_.has(detailsObj, "pinswg_validdate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_validdate
|
||||
)
|
||||
hasOwn(detailsObj, "pinswg_validdate")
|
||||
? !_.isEmpty(detailsObj.pinswg_validdate)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_validdate
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
detailsObj,
|
||||
"pinswg_startdates"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: hasOwn(detailsObj, "pinswg_startdates")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: t(
|
||||
"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-decision-date-label")}
|
||||
|
||||
|
||||
value={
|
||||
|
||||
|
||||
_.has(
|
||||
detailsObj,
|
||||
"pinswg_decisionissueddate"
|
||||
)
|
||||
hasOwn(detailsObj, "pinswg_decisionissueddate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_decisionissueddate
|
||||
)
|
||||
@@ -216,14 +127,8 @@ const Pinswg_nonvalidationid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
|
||||
: t("case:summary-no-date-entered-label")
|
||||
}
|
||||
|
||||
|
||||
/>
|
||||
</dl>
|
||||
</SummaryCard>
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import pickListLookup from "../../../data/picklistLookups.json";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
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) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -22,186 +28,105 @@ const Pinswg_planningappeals78id = (props) => {
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
label={t("case:summary-case-type-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t("case:summary-no-date-entered-label")
|
||||
}
|
||||
/>
|
||||
<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")}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
],
|
||||
locale: router.locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: detailsObj[
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-lpa-label")}
|
||||
value={
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
/>
|
||||
|
||||
<SummaryRow
|
||||
label={t("case:summary-eia-required-label")}
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t("case:summary-to-be-confirmed-label")
|
||||
|
||||
}
|
||||
|
||||
],
|
||||
locale: router.locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-to-be-confirmed-label"
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
<SummaryRow
|
||||
label={t("case:summary-procedure-label")}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""
|
||||
|
||||
}
|
||||
|
||||
],
|
||||
locale: router.locale,
|
||||
translations: pickListLookup
|
||||
})}
|
||||
/>
|
||||
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-type-of-event-label")}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale: router.locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-status-label")}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t("case:summary-no-date-entered-label")
|
||||
|
||||
}
|
||||
|
||||
],
|
||||
locale: router.locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_dicision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_dicision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale: router.locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
)
|
||||
})}
|
||||
</dd>
|
||||
</div>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-decision-date-label")}
|
||||
|
||||
value={
|
||||
|
||||
_.has(detailsObj, "pinswg_casedecisiondate")
|
||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_casedecisiondate
|
||||
)
|
||||
@@ -212,9 +137,7 @@ const Pinswg_planningappeals78id = (props) => {
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t("case:summary-no-date-entered-label")
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
{casesObj.numberofchildincidents > 0 && (
|
||||
<div className="govuk-summary-list__row">
|
||||
@@ -222,7 +145,9 @@ const Pinswg_planningappeals78id = (props) => {
|
||||
{t("case:summary-case-link-status-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, ["numberofchildincidents"])
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents > 0
|
||||
? t(
|
||||
"case:summary-case-link-status-linked"
|
||||
@@ -259,12 +184,9 @@ const Pinswg_planningappeals78id = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-start-date-label")}
|
||||
|
||||
value={
|
||||
|
||||
_.has(detailsObj, "pinswg_startdate")
|
||||
hasOwn(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdate
|
||||
@@ -272,7 +194,7 @@ const Pinswg_planningappeals78id = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(detailsObj, "pinswg_startdates")
|
||||
: hasOwn(detailsObj, "pinswg_startdates")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdates
|
||||
@@ -281,21 +203,15 @@ const Pinswg_planningappeals78id = (props) => {
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t("case:summary-no-date-entered-label")
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
|
||||
<SummaryRow
|
||||
|
||||
|
||||
label={t("case:summary-questionnaire-due-date-label")}
|
||||
|
||||
|
||||
label={t(
|
||||
"case:summary-questionnaire-due-date-label"
|
||||
)}
|
||||
value={
|
||||
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_questionnaireduedate"
|
||||
)
|
||||
@@ -309,25 +225,15 @@ const Pinswg_planningappeals78id = (props) => {
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t("case:summary-no-date-entered-label")
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/>
|
||||
|
||||
<SummaryRow
|
||||
|
||||
|
||||
label={t(
|
||||
"case:summary-statement-interested-party-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={
|
||||
|
||||
|
||||
_.has(detailsObj, "pinswg_statementduedate")
|
||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_statementduedate
|
||||
)
|
||||
@@ -338,60 +244,13 @@ const Pinswg_planningappeals78id = (props) => {
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t("case:summary-no-date-entered-label")
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/>
|
||||
|
||||
{/* <SummaryRow
|
||||
label={t(
|
||||
"case:summary-interested-party-date-label"
|
||||
)}
|
||||
value={
|
||||
_.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(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_finalcommentsduedate"
|
||||
)
|
||||
@@ -405,67 +264,13 @@ const Pinswg_planningappeals78id = (props) => {
|
||||
"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
|
||||
label={t("case:summary-event-date-label")}
|
||||
value={
|
||||
_.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(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_startdatetimeiftheevent"
|
||||
)
|
||||
@@ -479,23 +284,16 @@ const Pinswg_planningappeals78id = (props) => {
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t("case:summary-no-date-entered-label")
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/>
|
||||
{detailsObj.pinswg_typeofevent == 846040002 ||
|
||||
detailsObj.pinswg_typeofevent == 846040007 ||
|
||||
detailsObj.pinswg_typeofevent == 846040012 ||
|
||||
detailsObj.pinswg_typeofevent == 846040009 ? (
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-start-event-time-label")}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_startdatetimeiftheevent"
|
||||
)
|
||||
@@ -512,9 +310,7 @@ const Pinswg_planningappeals78id = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
) : (
|
||||
""
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
import SummaryRow from "../summary/components/SummaryRow";
|
||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const Pinswg_planningconditionss73s79id = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -22,174 +24,97 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
label={t("case:summary-case-type-label")}
|
||||
value={
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t("case:summary-no-date-entered-label")
|
||||
}
|
||||
/>
|
||||
<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")}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
"pinswg_detailedeiascreeningrequiered@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: detailsObj[
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-lpa-label")}
|
||||
value={
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-eia-required-label")}
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_detailedeiascreeningrequiered@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t("case:summary-to-be-confirmed-label")
|
||||
|
||||
}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-to-be-confirmed-label"
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-procedure-label")}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""
|
||||
|
||||
}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-type-of-event-label")}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""
|
||||
|
||||
}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-status-label")}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t("case:summary-no-date-entered-label")
|
||||
|
||||
}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
)
|
||||
})}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
</dd>
|
||||
</div>
|
||||
{casesObj.numberofchildincidents > 0 && (
|
||||
@@ -198,7 +123,9 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
||||
{t("case:summary-case-link-status-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, ["numberofchildincidents"])
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents > 0
|
||||
? t(
|
||||
"case:summary-case-link-status-linked"
|
||||
@@ -235,12 +162,9 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-start-date-label")}
|
||||
|
||||
value={
|
||||
|
||||
_.has(detailsObj, "pinswg_startdate")
|
||||
hasOwn(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdate
|
||||
@@ -248,7 +172,7 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(detailsObj, "pinswg_startdates")
|
||||
: hasOwn(detailsObj, "pinswg_startdates")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdates
|
||||
@@ -257,21 +181,15 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t("case:summary-no-date-entered-label")
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
|
||||
<SummaryRow
|
||||
|
||||
|
||||
label={t("case:summary-questionnaire-due-date-label")}
|
||||
|
||||
|
||||
label={t(
|
||||
"case:summary-questionnaire-due-date-label"
|
||||
)}
|
||||
value={
|
||||
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_questionnaireduedate"
|
||||
)
|
||||
@@ -285,23 +203,13 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t("case:summary-no-date-entered-label")
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/>
|
||||
|
||||
<SummaryRow
|
||||
|
||||
|
||||
label={t("case:summary-statement-due-date-label")}
|
||||
|
||||
|
||||
value={
|
||||
|
||||
|
||||
_.has(detailsObj, "pinswg_statementduedate")
|
||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_statementduedate
|
||||
)
|
||||
@@ -312,23 +220,15 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t("case:summary-no-date-entered-label")
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/>
|
||||
|
||||
<SummaryRow
|
||||
|
||||
|
||||
label={t("case:summary-interested-party-date-label")}
|
||||
|
||||
|
||||
label={t(
|
||||
"case:summary-interested-party-date-label"
|
||||
)}
|
||||
value={
|
||||
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatement"
|
||||
)
|
||||
@@ -341,7 +241,7 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
: hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatements"
|
||||
)
|
||||
@@ -355,25 +255,15 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t("case:summary-no-date-entered-label")
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/>
|
||||
|
||||
<SummaryRow
|
||||
|
||||
|
||||
label={t(
|
||||
"case:summary-applicant-final-comments-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={
|
||||
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_finalcommentsduedate"
|
||||
)
|
||||
@@ -387,42 +277,13 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
||||
"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")}
|
||||
|
||||
value={
|
||||
|
||||
_.has(detailsObj, "pinswg_dateeventrequested")
|
||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_dateeventrequested
|
||||
)
|
||||
@@ -433,21 +294,13 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t("case:summary-no-date-entered-label")
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
|
||||
<SummaryRow
|
||||
|
||||
|
||||
label={t("case:summary-start-event-date-label")}
|
||||
|
||||
|
||||
value={
|
||||
|
||||
|
||||
_.has(detailsObj, "pinswg_startdateofevent")
|
||||
hasOwn(detailsObj, "pinswg_startdateofevent")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdateofevent
|
||||
)
|
||||
@@ -458,19 +311,12 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t("case:summary-no-date-entered-label")
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-decision-date-label")}
|
||||
|
||||
value={
|
||||
|
||||
_.has(detailsObj, "pinswg_casedecisiondate")
|
||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_casedecisiondate
|
||||
)
|
||||
@@ -481,9 +327,7 @@ const Pinswg_planningconditionss73s79id = (props) => {
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t("case:summary-no-date-entered-label")
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
</dl>
|
||||
</SummaryCard>
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
import SummaryRow from "../summary/components/SummaryRow";
|
||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const Pinswg_planningobligationappeals106id = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -21,177 +23,110 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-case-type-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
/>
|
||||
<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")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
)
|
||||
: detailsObj[
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-lpa-label")}
|
||||
value={
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-eia-required-label")}
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-to-be-confirmed-label"
|
||||
)}
|
||||
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-procedure-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-type-of-event-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-status-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
)
|
||||
})}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
</dd>
|
||||
</div>
|
||||
{casesObj.numberofchildincidents > 0 && (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-case-link-status-label"
|
||||
)}
|
||||
{t("case:summary-case-link-status-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, [
|
||||
"numberofchildincidents",
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents >
|
||||
0
|
||||
? casesObj.numberofchildincidents > 0
|
||||
? t(
|
||||
"case:summary-case-link-status-linked"
|
||||
)
|
||||
@@ -207,14 +142,11 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
||||
{casesObj.numberofchildincidents > 0 ? (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-linked-cases-label"
|
||||
)}
|
||||
{t("case:summary-linked-cases-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{linkedCasesList(
|
||||
props.currentView
|
||||
.linkedCaseReferences
|
||||
props.currentView.linkedCaseReferences
|
||||
)}
|
||||
</dd>
|
||||
</div>
|
||||
@@ -230,47 +162,34 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-start-date-label")}
|
||||
|
||||
value={_.has(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
detailsObj,
|
||||
"pinswg_startdates"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: hasOwn(detailsObj, "pinswg_startdates")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: t(
|
||||
"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-questionnaire-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_questionnaireduedate"
|
||||
)
|
||||
@@ -283,25 +202,14 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
||||
: t(
|
||||
"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-statement-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_statementduedate"
|
||||
)
|
||||
label={t("case:summary-statement-due-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_statementduedate
|
||||
)
|
||||
@@ -311,22 +219,16 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
||||
: t(
|
||||
"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-interested-party-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatement"
|
||||
)
|
||||
@@ -339,7 +241,7 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
: hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatements"
|
||||
)
|
||||
@@ -352,22 +254,16 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
||||
: t(
|
||||
"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-applicant-final-comments-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_finalcommentsduedate"
|
||||
)
|
||||
@@ -380,17 +276,14 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
||||
: t(
|
||||
"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(
|
||||
value={hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_proofsofevidencewrittenstatementsofeviden"
|
||||
)
|
||||
@@ -408,13 +301,9 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
||||
)}
|
||||
/> */}
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-event-date-label")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_dateeventrequested"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_dateeventrequested
|
||||
)
|
||||
@@ -424,24 +313,14 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
||||
: t(
|
||||
"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-start-event-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_startdateoftheevent"
|
||||
)
|
||||
label={t("case:summary-start-event-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_startdateoftheevent")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdateoftheevent
|
||||
)
|
||||
@@ -451,20 +330,13 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
||||
: t(
|
||||
"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-decision-date-label")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_casedecisiondate"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_casedecisiondate
|
||||
)
|
||||
@@ -474,10 +346,8 @@ const Pinswg_planningobligationappeals106id = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
: t("case:summary-no-date-entered-label")
|
||||
}
|
||||
/>
|
||||
</dl>
|
||||
</SummaryCard>
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
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) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -21,205 +23,123 @@ const Pinswg_rowid = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-case-type-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
/>
|
||||
|
||||
<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")}
|
||||
|
||||
|
||||
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")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
)
|
||||
: detailsObj[
|
||||
})}
|
||||
/>
|
||||
|
||||
<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
|
||||
label={t("case:summary-lpa-label")}
|
||||
value={
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-eia-required-label")}
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_detailedeiascreeningrequired@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
"case:summary-to-be-confirmed-label"
|
||||
)}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
t("case:summary-to-be-confirmed-label")
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-procedure-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-type-of-event-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-status-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
],
|
||||
locale: router.locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
t("case:summary-no-date-entered-label")
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale: router.locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
)
|
||||
})}
|
||||
</dd>
|
||||
</div>
|
||||
{casesObj.numberofchildincidents > 0 && (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-case-link-status-label"
|
||||
)}
|
||||
{t("case:summary-case-link-status-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, [
|
||||
"numberofchildincidents",
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents >
|
||||
0
|
||||
? casesObj.numberofchildincidents > 0
|
||||
? t(
|
||||
"case:summary-case-link-status-linked"
|
||||
)
|
||||
@@ -235,14 +155,11 @@ const Pinswg_rowid = (props) => {
|
||||
{casesObj.numberofchildincidents > 0 ? (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-linked-cases-label"
|
||||
)}
|
||||
{t("case:summary-linked-cases-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{linkedCasesList(
|
||||
props.currentView
|
||||
.linkedCaseReferences
|
||||
props.currentView.linkedCaseReferences
|
||||
)}
|
||||
</dd>
|
||||
</div>
|
||||
@@ -250,32 +167,15 @@ const Pinswg_rowid = (props) => {
|
||||
""
|
||||
)}
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-case-relevant-authoritylabel"
|
||||
)}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.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"
|
||||
)}
|
||||
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj.pinswg_relevantauthorityname,
|
||||
locale: router.locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
</dl>
|
||||
</SummaryCard>
|
||||
@@ -286,47 +186,34 @@ const Pinswg_rowid = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-start-date-label")}
|
||||
|
||||
value={_.has(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
detailsObj,
|
||||
"pinswg_startdates"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: hasOwn(detailsObj, "pinswg_startdates")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: t(
|
||||
"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-questionnaire-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_questionnaireduedate"
|
||||
)
|
||||
@@ -339,25 +226,14 @@ const Pinswg_rowid = (props) => {
|
||||
: t(
|
||||
"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-statement-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_statementduedate"
|
||||
)
|
||||
label={t("case:summary-statement-due-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_statementduedate
|
||||
)
|
||||
@@ -367,22 +243,16 @@ const Pinswg_rowid = (props) => {
|
||||
: t(
|
||||
"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-interested-party-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatement"
|
||||
)
|
||||
@@ -395,7 +265,7 @@ const Pinswg_rowid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
: hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatements"
|
||||
)
|
||||
@@ -408,22 +278,16 @@ const Pinswg_rowid = (props) => {
|
||||
: t(
|
||||
"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-applicant-final-comments-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_finalcommentsduedate"
|
||||
)
|
||||
@@ -436,41 +300,14 @@ const Pinswg_rowid = (props) => {
|
||||
: t(
|
||||
"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")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_dateeventrequested"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_dateeventrequested
|
||||
)
|
||||
@@ -480,24 +317,14 @@ const Pinswg_rowid = (props) => {
|
||||
: t(
|
||||
"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-start-event-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_startdateoftheevent"
|
||||
)
|
||||
label={t("case:summary-start-event-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_startdateoftheevent")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdateoftheevent
|
||||
)
|
||||
@@ -507,20 +334,13 @@ const Pinswg_rowid = (props) => {
|
||||
: t(
|
||||
"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-decision-date-label")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_casedecisiondate"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_casedecisiondate
|
||||
)
|
||||
@@ -530,10 +350,8 @@ const Pinswg_rowid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
: t("case:summary-no-date-entered-label")
|
||||
}
|
||||
/>
|
||||
</dl>
|
||||
</SummaryCard>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -5,6 +5,7 @@ import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
import SummaryRow from "../summary/components/SummaryRow";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const Pinswg_transportandworkactid = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -62,99 +63,53 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-case-type-label")}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
label={t(
|
||||
"case:summary-case-type-label"
|
||||
)}
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale: router.locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-eia-required-label"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
)
|
||||
: detailsObj[
|
||||
"pinswg_eiarequired@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale: router.locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-to-be-confirmed-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
})}
|
||||
/>
|
||||
|
||||
<SummaryRow
|
||||
|
||||
|
||||
label={t(
|
||||
"case:summary-case-recommendation-label"
|
||||
)}
|
||||
|
||||
|
||||
value={
|
||||
|
||||
|
||||
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"
|
||||
)
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj.pinswg_recommendation,
|
||||
locale: router.locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
{detailsObj.pinswg_webaddress != null && (
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-case-website-label"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
@@ -162,15 +117,13 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
detailsObj.pinswg_webaddress +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
eval: true
|
||||
})
|
||||
: detailsObj.pinswg_webaddress ||
|
||||
t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
)}
|
||||
</dl>
|
||||
@@ -185,12 +138,11 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
</h3>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-event-date-label")}
|
||||
|
||||
label={t(
|
||||
"case:summary-event-date-label"
|
||||
)}
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_dateeventrequested"
|
||||
)
|
||||
@@ -206,19 +158,14 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-decision-date-label"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_casedecisiondate"
|
||||
)
|
||||
@@ -234,23 +181,15 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
|
||||
<SummaryRow
|
||||
|
||||
|
||||
label={t(
|
||||
"case:summary-application-accepted-as-valid"
|
||||
)}
|
||||
|
||||
|
||||
value={
|
||||
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_applicationacceptedasvalid"
|
||||
)
|
||||
@@ -266,21 +205,14 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-application-rejected-as-invalid"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_applicationrejectedasinvalid"
|
||||
)
|
||||
@@ -296,19 +228,14 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-confirm-request-to-vary-application"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_confirmrequesttovaryapplication"
|
||||
)
|
||||
@@ -324,19 +251,14 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-date-of-decisions"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_dateofdecision"
|
||||
)
|
||||
@@ -352,19 +274,14 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-date-of-request-to-vary"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_dateofrequesttovarytheapplication"
|
||||
)
|
||||
@@ -380,19 +297,14 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-date-of-submission-of-application"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_dateofsubmissionofapplication"
|
||||
)
|
||||
@@ -408,19 +320,14 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-date-project-published-to-website"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_dateprojectpublishedonwebsite"
|
||||
)
|
||||
@@ -436,19 +343,14 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-deadline-for-submission-of-application"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_deadlineforsubmissionofapplication"
|
||||
)
|
||||
@@ -464,19 +366,14 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-end-of-representation-period"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_endofrepresentationperiod"
|
||||
)
|
||||
@@ -492,19 +389,14 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-inspector-report-submission-to-welsh-government"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_inspectorreportsubmittedtowelshgovernment"
|
||||
)
|
||||
@@ -520,19 +412,14 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-procedure-confirmed"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_procedureconfirmed"
|
||||
)
|
||||
@@ -548,19 +435,14 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-reject-request-to-vary-application"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_rejectrequesttovaryapplication"
|
||||
)
|
||||
@@ -576,17 +458,12 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-report-due-by")}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_reportdueby"
|
||||
)
|
||||
@@ -602,17 +479,14 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-suspension-dates")}
|
||||
|
||||
label={t(
|
||||
"case:summary-suspension-dates"
|
||||
)}
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_suspensiondates"
|
||||
)
|
||||
@@ -628,19 +502,14 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-suspension-end-dates"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_suspensionenddates"
|
||||
)
|
||||
@@ -656,19 +525,14 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-suspension-start-dates"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_suspensionstartdates"
|
||||
)
|
||||
@@ -684,19 +548,14 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-valid-notice-of-intention-to-submit-an-application"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_validnoticeofintentiontosubmitanapplicati"
|
||||
)
|
||||
@@ -712,17 +571,12 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-withdrawn-date")}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_withdrawndate"
|
||||
)
|
||||
@@ -738,19 +592,14 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-written-acceptance-of-notice"
|
||||
)}
|
||||
|
||||
value={
|
||||
|
||||
_.has(
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_writtenacceptanceofnotification"
|
||||
)
|
||||
@@ -766,9 +615,7 @@ const Pinswg_transportandworkactid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
/>
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import transLookup from "../../../data/lookuptranslations.json";
|
||||
import resolveCrmDisplayValue from "../../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
import SummaryCard from "../summary/components/SummaryCard";
|
||||
import SummaryRow from "../summary/components/SummaryRow";
|
||||
import { getCaseLpaDisplayLines } from "../../utils/getCaseLpaDisplayValue";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const Pinswg_wayleaveid = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -21,177 +23,110 @@ const Pinswg_wayleaveid = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-case-type-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
/>
|
||||
<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")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath(
|
||||
'$..[?(@.value=="' +
|
||||
detailsObj[
|
||||
"pinswg_detailedeiascreening@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
transLookup
|
||||
)
|
||||
: detailsObj[
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-lpa-label")}
|
||||
value={
|
||||
<>
|
||||
{getCaseLpaDisplayLines({
|
||||
casesObj,
|
||||
detailsObj,
|
||||
locale: router.locale,
|
||||
transLookup
|
||||
}).map((name) => (
|
||||
<div key={name}>{name}</div>
|
||||
))}
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<SummaryRow
|
||||
label={t("case:summary-eia-required-label")}
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_detailedeiascreening@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-to-be-confirmed-label"
|
||||
)}
|
||||
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-procedure-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-type-of-event-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-status-label")}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
casesObj[
|
||||
value={resolveCrmDisplayValue({
|
||||
value: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: casesObj[
|
||||
"statuscode@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
)
|
||||
})}
|
||||
/>
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t("case:summary-decision-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
detailsObj[
|
||||
{resolveCrmDisplayValue({
|
||||
value: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true,
|
||||
})
|
||||
: detailsObj[
|
||||
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
|
||||
] ||
|
||||
t(
|
||||
],
|
||||
locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: t(
|
||||
"case:summary-no-information-to-date-label"
|
||||
)}
|
||||
)
|
||||
})}
|
||||
|
||||
<br />
|
||||
{/* <Link href="/">
|
||||
<a>
|
||||
{casesObj.caseDetails
|
||||
.outcome_document || ""}
|
||||
</a>
|
||||
</Link> */}
|
||||
</dd>
|
||||
</div>
|
||||
{casesObj.numberofchildincidents > 0 && (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-case-link-status-label"
|
||||
)}
|
||||
{t("case:summary-case-link-status-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{_.has(casesObj, [
|
||||
"numberofchildincidents",
|
||||
{hasOwn(casesObj, [
|
||||
"numberofchildincidents"
|
||||
])
|
||||
? casesObj.numberofchildincidents >
|
||||
0
|
||||
? casesObj.numberofchildincidents > 0
|
||||
? t(
|
||||
"case:summary-case-link-status-linked"
|
||||
)
|
||||
@@ -207,14 +142,11 @@ const Pinswg_wayleaveid = (props) => {
|
||||
{casesObj.numberofchildincidents > 0 ? (
|
||||
<div className="govuk-summary-list__row">
|
||||
<dt className="govuk-summary-list__key">
|
||||
{t(
|
||||
"case:summary-linked-cases-label"
|
||||
)}
|
||||
{t("case:summary-linked-cases-label")}
|
||||
</dt>
|
||||
<dd className="govuk-summary-list__value">
|
||||
{linkedCasesList(
|
||||
props.currentView
|
||||
.linkedCaseReferences
|
||||
props.currentView.linkedCaseReferences
|
||||
)}
|
||||
</dd>
|
||||
</div>
|
||||
@@ -222,32 +154,15 @@ const Pinswg_wayleaveid = (props) => {
|
||||
""
|
||||
)}
|
||||
<SummaryRow
|
||||
|
||||
label={t(
|
||||
"case:summary-case-relevant-authoritylabel"
|
||||
)}
|
||||
|
||||
value={router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.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"
|
||||
)}
|
||||
|
||||
value={resolveCrmDisplayValue({
|
||||
value: detailsObj.pinswg_relevantauthorityname,
|
||||
locale: router.locale,
|
||||
translations: transLookup,
|
||||
fallbackValue: ""
|
||||
})}
|
||||
/>
|
||||
</dl>
|
||||
</SummaryCard>
|
||||
@@ -258,47 +173,34 @@ const Pinswg_wayleaveid = (props) => {
|
||||
>
|
||||
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
|
||||
<SummaryRow
|
||||
|
||||
label={t("case:summary-start-date-label")}
|
||||
|
||||
value={_.has(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_startdate")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdate)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdate
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
detailsObj,
|
||||
"pinswg_startdates"
|
||||
)
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: hasOwn(detailsObj, "pinswg_startdates")
|
||||
? !_.isEmpty(detailsObj.pinswg_startdates)
|
||||
? formatDates(
|
||||
detailsObj.pinswg_startdates
|
||||
)
|
||||
: t(
|
||||
"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-questionnaire-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_questionnaireduedate"
|
||||
)
|
||||
@@ -311,25 +213,14 @@ const Pinswg_wayleaveid = (props) => {
|
||||
: t(
|
||||
"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-statement-due-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_statementduedate"
|
||||
)
|
||||
label={t("case:summary-statement-due-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_statementduedate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_statementduedate
|
||||
)
|
||||
@@ -339,22 +230,16 @@ const Pinswg_wayleaveid = (props) => {
|
||||
: t(
|
||||
"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-interested-party-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatement"
|
||||
)
|
||||
@@ -367,7 +252,7 @@ const Pinswg_wayleaveid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: _.has(
|
||||
: hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_otherpartiesstatements"
|
||||
)
|
||||
@@ -380,22 +265,16 @@ const Pinswg_wayleaveid = (props) => {
|
||||
: t(
|
||||
"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-applicant-final-comments-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
value={
|
||||
hasOwn(
|
||||
detailsObj,
|
||||
"pinswg_finalcommentsduedate"
|
||||
)
|
||||
@@ -408,41 +287,14 @@ const Pinswg_wayleaveid = (props) => {
|
||||
: t(
|
||||
"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")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_dateeventrequested"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_dateeventrequested")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_dateeventrequested
|
||||
)
|
||||
@@ -452,24 +304,14 @@ const Pinswg_wayleaveid = (props) => {
|
||||
: t(
|
||||
"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-start-event-date-label"
|
||||
)}
|
||||
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_startdateofevent"
|
||||
)
|
||||
label={t("case:summary-start-event-date-label")}
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_startdateofevent")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_startdateofevent
|
||||
)
|
||||
@@ -479,20 +321,13 @@ const Pinswg_wayleaveid = (props) => {
|
||||
: t(
|
||||
"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-decision-date-label")}
|
||||
|
||||
value={_.has(
|
||||
detailsObj,
|
||||
"pinswg_casedecisiondate"
|
||||
)
|
||||
value={
|
||||
hasOwn(detailsObj, "pinswg_casedecisiondate")
|
||||
? !_.isEmpty(
|
||||
detailsObj.pinswg_casedecisiondate
|
||||
)
|
||||
@@ -502,10 +337,8 @@ const Pinswg_wayleaveid = (props) => {
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)
|
||||
: t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
|
||||
: t("case:summary-no-date-entered-label")
|
||||
}
|
||||
/>
|
||||
</dl>
|
||||
</SummaryCard>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import { hasOwn } from "./utils";
|
||||
|
||||
const CRMError = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -9,7 +10,7 @@ const CRMError = (props) => {
|
||||
const router = useRouter();
|
||||
const { locale } = router;
|
||||
|
||||
const errorSwitch = _.has(props, "whichError")
|
||||
const errorSwitch = hasOwn(props, "whichError")
|
||||
? "LPAData"
|
||||
: "searchResultsObj";
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import CRMError from "./crmError";
|
||||
import DNSSearchResults from "./search/dnssearchresults";
|
||||
import { hasOwn } from "./utils";
|
||||
|
||||
export default function Search(props) {
|
||||
const {
|
||||
@@ -11,13 +12,14 @@ export default function Search(props) {
|
||||
watchedCases,
|
||||
showMap,
|
||||
showLoginCheck,
|
||||
mapTarget
|
||||
} = props;
|
||||
let { t } = useTranslation();
|
||||
|
||||
const router = useRouter();
|
||||
const { locale } = router;
|
||||
|
||||
var hasError = _.has(searchResultsObj.searchResultsObj, "errorCode")
|
||||
var hasError = hasOwn(searchResultsObj.searchResultsObj, "errorCode")
|
||||
? true
|
||||
: false;
|
||||
|
||||
@@ -48,6 +50,7 @@ export default function Search(props) {
|
||||
watchedCases={watchedCases}
|
||||
showMap={showMap}
|
||||
showLoginCheck={showLoginCheck}
|
||||
mapTarget={mapTarget}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -4,6 +4,7 @@ import useTranslation from "next-translate/useTranslation";
|
||||
import { Field } from "redux-form";
|
||||
import { RenderDatePicker } from "./renderDatePicker";
|
||||
import { validateField } from "../validationUtils";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const dateDiffInDays = (a, b) => {
|
||||
const _MS_PER_DAY = 1000 * 60 * 60 * 24;
|
||||
@@ -31,7 +32,7 @@ export function DateFieldPicker(props) {
|
||||
const showIfHasParentShowValue =
|
||||
parentField != false &&
|
||||
!_.isEmpty(formProps[form]) &&
|
||||
_.has(formProps[form].values, parentField) &&
|
||||
hasOwn(formProps[form].values, parentField) &&
|
||||
formProps[form].values[parentField] == parentFieldShowOnValue;
|
||||
|
||||
const requiredMessage = t("newappeal:is-required-label");
|
||||
|
||||
@@ -5,7 +5,7 @@ import { Field } from "redux-form";
|
||||
import { RenderTextfield } from "./renderTextfield";
|
||||
import { RenderDecimalField } from "./renderDecimalField";
|
||||
import { validateField } from "../validationUtils";
|
||||
|
||||
import { hasOwn } from "../../utils";
|
||||
const isVisibleByInclusion = ({
|
||||
parentField,
|
||||
form,
|
||||
@@ -14,7 +14,7 @@ const isVisibleByInclusion = ({
|
||||
}) =>
|
||||
parentField != false &&
|
||||
!_.isEmpty(formProps[form]) &&
|
||||
_.has(formProps[form].values, parentField) &&
|
||||
hasOwn(formProps[form].values, parentField) &&
|
||||
parentFieldShowOnValue.indexOf(
|
||||
formProps[form].values[parentField].toString()
|
||||
) > -1;
|
||||
|
||||
@@ -3,7 +3,7 @@ import _ from "lodash";
|
||||
import { FieldArray, change } from "redux-form";
|
||||
import { useDispatch } from "react-redux";
|
||||
import { RenderSubFields } from "./renderSubFields";
|
||||
|
||||
import { hasOwn } from "../../utils";
|
||||
export const FieldArrayForm = (props) => {
|
||||
const {
|
||||
name,
|
||||
@@ -19,7 +19,7 @@ export const FieldArrayForm = (props) => {
|
||||
var showIfHasParentShowValue =
|
||||
parentField != false &&
|
||||
!_.isEmpty(formProps[form]) &&
|
||||
_.has(formProps[form].values, parentField) &&
|
||||
hasOwn(formProps[form].values, parentField) &&
|
||||
parentFieldShowOnValue.indexOf(
|
||||
formProps[form].values[parentField].toString()
|
||||
) > -1;
|
||||
|
||||
@@ -4,7 +4,7 @@ import useTranslation from "next-translate/useTranslation";
|
||||
import { Field } from "redux-form";
|
||||
import { RenderTextfield } from "./renderTextfield";
|
||||
import { validateField } from "../validationUtils";
|
||||
|
||||
import { hasOwn } from "../../utils";
|
||||
const isVisibleByInclusion = ({
|
||||
parentField,
|
||||
form,
|
||||
@@ -13,7 +13,7 @@ const isVisibleByInclusion = ({
|
||||
}) =>
|
||||
parentField != false &&
|
||||
!_.isEmpty(formProps[form]) &&
|
||||
_.has(formProps[form].values, parentField) &&
|
||||
hasOwn(formProps[form].values, parentField) &&
|
||||
parentFieldShowOnValue.indexOf(
|
||||
formProps[form].values[parentField].toString()
|
||||
) > -1;
|
||||
|
||||
@@ -4,6 +4,7 @@ import useTranslation from "next-translate/useTranslation";
|
||||
import { Field } from "redux-form";
|
||||
import { RenderRadio } from "./renderRadio";
|
||||
import { validateField } from "../validationUtils";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
const isVisibleByInclusion = ({
|
||||
parentField,
|
||||
@@ -13,7 +14,7 @@ const isVisibleByInclusion = ({
|
||||
}) =>
|
||||
parentField != false &&
|
||||
!_.isEmpty(formProps[form]) &&
|
||||
_.has(formProps[form].values, parentField) &&
|
||||
hasOwn(formProps[form].values, parentField) &&
|
||||
parentFieldShowOnValue.indexOf(
|
||||
formProps[form].values[parentField].toString()
|
||||
) > -1;
|
||||
|
||||
@@ -4,6 +4,7 @@ import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import { Field } from "redux-form";
|
||||
import { RenderYesNo } from "./renderYesNo";
|
||||
import { hasOwn } from "../../utils";
|
||||
|
||||
export function YesNofield(props) {
|
||||
const router = useRouter();
|
||||
@@ -17,7 +18,7 @@ export function YesNofield(props) {
|
||||
const showIfHasParentShowValue =
|
||||
parentField != false &&
|
||||
!_.isEmpty(formProps[form]) &&
|
||||
_.has(formProps[form].values, parentField) &&
|
||||
hasOwn(formProps[form].values, parentField) &&
|
||||
parentFieldShowOnValue.indexOf(
|
||||
formProps[form].values[parentField].toString()
|
||||
) > -1;
|
||||
@@ -36,7 +37,7 @@ export function YesNofield(props) {
|
||||
validate={[required]}
|
||||
errorMsg={t("newappeal:select-an-option-label")}
|
||||
component={RenderYesNo}
|
||||
inline={_.has(props, "inline") ? props.inline : "true"}
|
||||
inline={hasOwn(props, "inline") ? props.inline : "true"}
|
||||
requiredDocumentLabel={props.requiredDocumentLabel}
|
||||
requiredDocumentValue={props.requiredDocumentValue}
|
||||
setDocumentsList={props.setDocumentsList}
|
||||
@@ -54,7 +55,7 @@ export function YesNofield(props) {
|
||||
validate={[required]}
|
||||
errorMsg={t("newappeal:select-an-option-label")}
|
||||
component={RenderYesNo}
|
||||
inline={_.has(props, "inline") ? props.inline : "true"}
|
||||
inline={hasOwn(props, "inline") ? props.inline : "true"}
|
||||
requiredDocumentLabel={props.requiredDocumentLabel}
|
||||
requiredDocumentValue={props.requiredDocumentValue}
|
||||
setDocumentsList={props.setDocumentsList}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import _ from "lodash";
|
||||
import { hasOwn } from "../utils";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import React, { useEffect } from "react";
|
||||
@@ -40,7 +41,7 @@ const getValidationMessages = (t) => ({
|
||||
const hasParentFieldValue = ({ parentField, form, formProps }) =>
|
||||
parentField != false &&
|
||||
!_.isEmpty(formProps[form]) &&
|
||||
_.has(formProps[form].values, parentField);
|
||||
hasOwn(formProps[form].values, parentField);
|
||||
|
||||
const isVisibleByEquality = ({
|
||||
parentField,
|
||||
|
||||
+27
-14
@@ -108,7 +108,7 @@ export default function Footer(props) {
|
||||
>
|
||||
<span className="vo_hidden">
|
||||
{t(
|
||||
"common:social-bar-share-via-link",
|
||||
"common:social-bar-share-via-link"
|
||||
)}{" "}
|
||||
</span>
|
||||
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">
|
||||
<a
|
||||
href={t(
|
||||
"common:footer-guidance-link",
|
||||
"common:footer-guidance-link"
|
||||
)}
|
||||
className="nav-link"
|
||||
>
|
||||
{t(
|
||||
"common:footer-guidance-link-label",
|
||||
"common:footer-guidance-link-label"
|
||||
)}
|
||||
</a>
|
||||
</li>
|
||||
<li className="govuk-footer__inline-list-item govuk-!-font-weight-bold govuk-!-margin-right-7">
|
||||
<a
|
||||
href={t(
|
||||
"common:footer-announcements-link",
|
||||
"common:footer-announcements-link"
|
||||
)}
|
||||
className="nav-link"
|
||||
>
|
||||
{t(
|
||||
"common:footer-announcements-link-label",
|
||||
"common:footer-announcements-link-label"
|
||||
)}
|
||||
</a>
|
||||
</li>
|
||||
<li className="govuk-footer__inline-list-item govuk-!-font-weight-bold">
|
||||
<a
|
||||
href={t(
|
||||
"common:footer-contact-us-link",
|
||||
"common:footer-contact-us-link"
|
||||
)}
|
||||
className="govuk-footer__link"
|
||||
id="aContactUs"
|
||||
>
|
||||
{t(
|
||||
"common:footer-contact-us-link-label",
|
||||
"common:footer-contact-us-link-label"
|
||||
)}
|
||||
</a>
|
||||
</li>
|
||||
@@ -236,7 +236,7 @@ export default function Footer(props) {
|
||||
id="aAccessibility"
|
||||
>
|
||||
{t(
|
||||
"common:footer-accessibility-link-label",
|
||||
"common:footer-accessibility-link-label"
|
||||
)}
|
||||
</Link>
|
||||
</li>
|
||||
@@ -257,13 +257,13 @@ export default function Footer(props) {
|
||||
<li className="govuk-footer__inline-list-item">
|
||||
<a
|
||||
href={t(
|
||||
"common:footer-copyright-link",
|
||||
"common:footer-copyright-link"
|
||||
)}
|
||||
className="govuk-footer__link"
|
||||
id="Access"
|
||||
>
|
||||
{t(
|
||||
"common:footer-copyright-link-label",
|
||||
"common:footer-copyright-link-label"
|
||||
)}
|
||||
</a>
|
||||
</li>
|
||||
@@ -271,13 +271,13 @@ export default function Footer(props) {
|
||||
<li className="govuk-footer__inline-list-item">
|
||||
<Link
|
||||
href={t(
|
||||
"common:footer-privacy-link",
|
||||
"common:footer-privacy-link"
|
||||
)}
|
||||
id="aPrivacy"
|
||||
className="govuk-footer__link"
|
||||
>
|
||||
{t(
|
||||
"common:footer-privacy-link-label",
|
||||
"common:footer-privacy-link-label"
|
||||
)}
|
||||
</Link>
|
||||
</li>
|
||||
@@ -285,13 +285,26 @@ export default function Footer(props) {
|
||||
<li className="govuk-footer__inline-list-item">
|
||||
<Link
|
||||
href={t(
|
||||
"common:footer-terms-conditions-link",
|
||||
"common:footer-terms-conditions-link"
|
||||
)}
|
||||
id="aTermsConds"
|
||||
className="govuk-footer__link"
|
||||
>
|
||||
{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>
|
||||
</li>
|
||||
|
||||
+2
-10
@@ -7,7 +7,7 @@ import { connect } from "react-redux";
|
||||
import Banner from "../components/banner";
|
||||
import { setLogout } from "../store/accountDetails/action";
|
||||
|
||||
import { signOut } from "next-auth/react";
|
||||
import { performPortalSignOut } from "../lib/auth/sessionClient";
|
||||
|
||||
const Header = (props) => {
|
||||
let { t, lang } = useTranslation();
|
||||
@@ -84,15 +84,7 @@ const Header = (props) => {
|
||||
}
|
||||
|
||||
const handleLogout = () => {
|
||||
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"
|
||||
}));
|
||||
performPortalSignOut(locale);
|
||||
};
|
||||
|
||||
//const switchLocale = locale === "en" ? "cy" : "en";
|
||||
|
||||
@@ -41,12 +41,12 @@ export default function Dns() {
|
||||
</Link>
|
||||
</div>
|
||||
<div className="govuk-form-group">
|
||||
<h3 className="heading-small card-heading">Contact us</h3>
|
||||
<h3 className="heading-small card-heading">
|
||||
{t("home:contact-us-heading")}
|
||||
</h3>
|
||||
<div className="govuk-form-group">
|
||||
<p className="govuk-body-s">
|
||||
If you have any queries on an appeal, application or
|
||||
anything else regarding Planning Caserwork you can
|
||||
contact us.
|
||||
{t("home:contact-us-paragraph")}
|
||||
</p>
|
||||
</div>
|
||||
<div className="govuk-form-group">
|
||||
@@ -58,7 +58,7 @@ export default function Dns() {
|
||||
}
|
||||
className="govuk-button govuk-button--secondary-cta"
|
||||
>
|
||||
Contact us
|
||||
{t("home:contact-us-button")}
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { he } from "date-fns/locale";
|
||||
import GoogleMapReact from "google-map-react";
|
||||
const GoogleMapComponent = (props) => {
|
||||
const { center, zoom } = props;
|
||||
const MapComponent = (props) => {
|
||||
const { center, zoom, locale, mapTarget } = props;
|
||||
|
||||
let data = [center];
|
||||
|
||||
@@ -23,60 +23,26 @@ const GoogleMapComponent = (props) => {
|
||||
}
|
||||
};
|
||||
|
||||
// console.log(
|
||||
// "https://datamap.gov.wales/maps/pedw-dev/embed?center=" +
|
||||
// props.center.lng +
|
||||
// "," +
|
||||
// props.center.lat +
|
||||
// "&zoom=12#/"
|
||||
// );
|
||||
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-column-full">
|
||||
<a
|
||||
href={
|
||||
"https://datamap.gov.wales/maps/pedw-dev/embed?center=" +
|
||||
props.center.lng +
|
||||
"," +
|
||||
props.center.lat +
|
||||
"&zoom=7#/"
|
||||
}
|
||||
href={`https://${locale === "cy" ? "mapdata.llyw.cymru" : "datamap.gov.wales"}/maps/${mapTarget}/embed?center=${center.lng},${center.lat}&zoom=7#/`}
|
||||
rel="noreferrer noopener"
|
||||
className="govuk-link govuk-link--no-underline govuk-!-font-size-14 "
|
||||
target="_blank"
|
||||
>
|
||||
See this map on Datamap Wales
|
||||
{locale === "cy"
|
||||
? "Gweler y map hwn ar Datamap Cymru"
|
||||
: "See this map on Datamap Wales "}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-grid-column-full">
|
||||
<iframe
|
||||
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#/"}
|
||||
src={`https://${locale === "cy" ? "mapdata.llyw.cymru" : "datamap.gov.wales"}/maps/${mapTarget}/embed?center=${center.lng},${center.lat}&zoom=7#/`}
|
||||
width={"100%"}
|
||||
style={{ maxHeight: "400px" }}
|
||||
height={"500px"}
|
||||
@@ -88,4 +54,4 @@ const GoogleMapComponent = (props) => {
|
||||
);
|
||||
};
|
||||
|
||||
export default GoogleMapComponent;
|
||||
export default MapComponent;
|
||||
|
||||
+11
-89
@@ -2,11 +2,9 @@ import { signOut } from "next-auth/react";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import Link from "next/link";
|
||||
import { useRouter } from "next/router";
|
||||
import { destroyCookie } from "nookies";
|
||||
import TimeOut from "../components/timeout";
|
||||
import AwaitingSubmissionFromBlob from "./myportal/awaitingsubmissionfromblob";
|
||||
|
||||
import _ from "lodash";
|
||||
import { hasOwn } from "./utils";
|
||||
import Dns from "./myportal/dns";
|
||||
import MakeNewAppeal from "./myportal/makenewappeal";
|
||||
import MyCases from "./myportal/mycases";
|
||||
@@ -15,8 +13,10 @@ import SearchCases from "./myportal/searchcases";
|
||||
import WatchedCases from "./myportal/watchedcases";
|
||||
import MySubmittedReps from "./myportal/mysubmittedrepresentations";
|
||||
import ServiceBanner from "./myportal/servicebanner";
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
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 { showFileUpload, showLoginCheck, docsOffline } = props;
|
||||
@@ -26,15 +26,7 @@ const MyPortal = (props) => {
|
||||
const { locale } = router;
|
||||
|
||||
const handleLogout = () => {
|
||||
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"
|
||||
}));
|
||||
performPortalSignOut({ locale, signOutFn: signOut });
|
||||
};
|
||||
|
||||
const isLPA =
|
||||
@@ -47,78 +39,17 @@ const MyPortal = (props) => {
|
||||
return (
|
||||
<>
|
||||
<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} />
|
||||
{isLPA && (
|
||||
<div>
|
||||
<h2 className="heading-small card-heading">
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
props.accountDetails.accountDetails[
|
||||
{resolveCrmDisplayValue({
|
||||
value: props.accountDetails.accountDetails[
|
||||
"pinswg_contact_associatedlpa@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: props.accountDetails.accountDetails[
|
||||
"pinswg_contact_associatedlpa@OData.Community.Display.V1.FormattedValue"
|
||||
]}{" "}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup
|
||||
})}{" "}
|
||||
{t("myportal:lpa-portal-heading")}
|
||||
</h2>
|
||||
</div>
|
||||
@@ -130,15 +61,6 @@ const MyPortal = (props) => {
|
||||
{!isLPA && (
|
||||
<MakeNewAppeal docsOffline={docsOffline} />
|
||||
)}
|
||||
{/* {props.awaitingSubmission.awaitingSubmission[
|
||||
"@odata.count"
|
||||
] > 0 && (
|
||||
<AwaitingSubmission
|
||||
awaitingSubmission={
|
||||
props.awaitingSubmission
|
||||
}
|
||||
/>
|
||||
)} */}
|
||||
|
||||
{!isLPA &&
|
||||
_.has(props.awaitingSubmission, [
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { useRouter } from "next/router";
|
||||
import { connect } from "react-redux";
|
||||
import { Field, formValueSelector, reduxForm } from "redux-form";
|
||||
|
||||
import transLookup from "../../data/lookuptranslations.json";
|
||||
import resolveCrmDisplayValue from "../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
|
||||
const required = (errorMsg) => (value) =>
|
||||
value || typeof value === "number" ? undefined : errorMsg;
|
||||
@@ -133,22 +133,11 @@ let AdvancedSearch = (props) => {
|
||||
key={key}
|
||||
value={optionsObj[key].accountid}
|
||||
>
|
||||
{/* {optionsObj[key].name} */}
|
||||
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
optionsObj[key]
|
||||
.name +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: optionsObj[key].name ||
|
||||
t(
|
||||
"case:summary-no-date-entered-label"
|
||||
)}
|
||||
{resolveCrmDisplayValue({
|
||||
value: optionsObj[key].name,
|
||||
locale,
|
||||
translations: transLookup
|
||||
})}
|
||||
</option>
|
||||
);
|
||||
})}
|
||||
@@ -234,31 +223,11 @@ let AdvancedSearch = (props) => {
|
||||
.toLowerCase()
|
||||
}
|
||||
>
|
||||
{_.isEmpty(optionsObj[key])
|
||||
? ""
|
||||
: _.isEmpty(optionsObj[key])
|
||||
? ""
|
||||
: _.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"
|
||||
)}
|
||||
{resolveCrmDisplayValue({
|
||||
value: optionsObj[key].value,
|
||||
locale,
|
||||
translations: transLookup
|
||||
})}
|
||||
</option>
|
||||
);
|
||||
})}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import Link from "next/link";
|
||||
import { useRouter } from "next/router";
|
||||
@@ -18,6 +17,7 @@ import {
|
||||
setCurrentReference,
|
||||
setCurrentView
|
||||
} from "../../store/currentView/action";
|
||||
import { resolveCrmDisplayValue } from "../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
|
||||
const AwaitingSubmissionFromBlob = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -201,22 +201,14 @@ const AwaitingSubmissionFromBlob = (props) => {
|
||||
</div>
|
||||
<div className="cardModuleReference">
|
||||
<b>{t("myportal:appeal-type-label")}:</b>{" "}
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
getFormCollectionByID(
|
||||
{resolveCrmDisplayValue({
|
||||
value: getFormCollectionByID(
|
||||
showTopThreeArr[key]
|
||||
.pinswg_appealcasetype
|
||||
).value +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: getFormCollectionByID(
|
||||
showTopThreeArr[key]
|
||||
.pinswg_appealcasetype
|
||||
).value || ""}
|
||||
).value,
|
||||
locale,
|
||||
translations: transLookup
|
||||
})}
|
||||
</div>
|
||||
<div className="cardModuleReference">
|
||||
<b>{t("myportal:case-address")}:</b>{" "}
|
||||
@@ -302,20 +294,14 @@ const AwaitingSubmissionFromBlob = (props) => {
|
||||
{router.locale == "cy" ? "ACLl" : "LPA"}
|
||||
:
|
||||
</b>
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
showTopThreeArr[key][
|
||||
|
||||
{resolveCrmDisplayValue({
|
||||
value: showTopThreeArr[key][
|
||||
"pinswg_lpaname"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: showTopThreeArr[key][
|
||||
"pinswg_lpaname"
|
||||
] || ""}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup
|
||||
})}
|
||||
</div>
|
||||
<div className="cardModuleReference">
|
||||
<b>{t("myportal:date-raised")}:</b>
|
||||
@@ -353,8 +339,8 @@ const AwaitingSubmissionFromBlob = (props) => {
|
||||
<h3 className="heading-small card-heading">
|
||||
{t("myportal:awatitingsubmission-card-title")}
|
||||
</h3>
|
||||
|
||||
<TopThreeRow />
|
||||
|
||||
{props.awaitingSubmissionFromBlob["@odata.count"] > 1 && (
|
||||
<div className="cardVieAll">
|
||||
<Link
|
||||
|
||||
@@ -44,7 +44,7 @@ const MyRepresentations = (props) => {
|
||||
onClick={() => {
|
||||
setCurrentView({
|
||||
"viewName": "My Representations",
|
||||
"viewKey": "myRepresentations",
|
||||
"viewKey": "myRepresentations"
|
||||
});
|
||||
}}
|
||||
>
|
||||
@@ -65,7 +65,7 @@ const mapDispatchToProps = (dispatch) => {
|
||||
return {
|
||||
setCurrentView: (currentView) => {
|
||||
dispatch(setCurrentView(currentView));
|
||||
},
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ const MyRepresentations = (props) => {
|
||||
onClick={() => {
|
||||
setCurrentView({
|
||||
"viewName": "My Representations",
|
||||
"viewKey": "myRepresentations",
|
||||
"viewKey": "myRepresentations"
|
||||
});
|
||||
}}
|
||||
>
|
||||
@@ -64,7 +64,7 @@ const mapDispatchToProps = (dispatch) => {
|
||||
return {
|
||||
setCurrentView: (currentView) => {
|
||||
dispatch(setCurrentView(currentView));
|
||||
},
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import router from "next/router";
|
||||
import Link from "next/link";
|
||||
import { destroyCookie } from "nookies";
|
||||
import { signOut } from "next-auth/react";
|
||||
import { performPortalSignOut } from "../../lib/auth/sessionClient";
|
||||
|
||||
const ServiceBanner = (props) => {
|
||||
props = props.props;
|
||||
@@ -19,23 +18,14 @@ const ServiceBanner = (props) => {
|
||||
};
|
||||
|
||||
const handleLogout = (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",
|
||||
});
|
||||
performPortalSignOut(locale);
|
||||
};
|
||||
|
||||
const portalLogoLink = [
|
||||
"/myportal/[appealtypes]",
|
||||
"/newappeal",
|
||||
"/newappeal/[appealtypes]",
|
||||
"/myportal/representation",
|
||||
"/myportal/representation"
|
||||
];
|
||||
return (
|
||||
<div className="servicebanner myportal govuk-!-margin-bottom-4">
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import _ from "lodash";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import Link from "next/link";
|
||||
@@ -12,6 +11,7 @@ import {
|
||||
getPortalModuleDetailsProxy,
|
||||
getWatchedCasesProxy
|
||||
} from "../../actions/services/portalService";
|
||||
import { splitWatchedCasesBySubmissionState } from "../../lib/domain/dashboard-policy";
|
||||
import { getFormCollectionByID, getDetailsProxy } from "../../components/utils";
|
||||
import transLookup from "../../data/lookuptranslations.json";
|
||||
import {
|
||||
@@ -32,6 +32,7 @@ import { planningappeals78_pdf } from "../../components/pdftemplates/planningapp
|
||||
import { other_pdf } from "../../components/pdftemplates/other_pdf";
|
||||
|
||||
import { PDFDownloadLink, pdf } from "@react-pdf/renderer";
|
||||
import resolveCrmDisplayValue from "../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
|
||||
const TopThree = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -122,21 +123,10 @@ const TopThree = (props) => {
|
||||
getWatchedCasesProxy(
|
||||
props.accountDetails.loggedinUserId
|
||||
).then((data) => {
|
||||
let showWatchedCases = (submittedArr) => {
|
||||
const required = submittedArr.value.filter((el) => {
|
||||
return (
|
||||
el.pinswg_representationsubmitted == null
|
||||
);
|
||||
});
|
||||
|
||||
let newObj = {};
|
||||
return Object.assign(newObj, {
|
||||
"@odata.count": required.length,
|
||||
"value": required
|
||||
});
|
||||
};
|
||||
|
||||
let filteredWatchedCases = showWatchedCases(data);
|
||||
let filteredWatchedCases =
|
||||
splitWatchedCasesBySubmissionState(
|
||||
data.value
|
||||
).watchedCases;
|
||||
|
||||
(setWatchedCases(filteredWatchedCases),
|
||||
getDetailsProxy(
|
||||
@@ -314,6 +304,8 @@ const TopThree = (props) => {
|
||||
]
|
||||
),
|
||||
setCurrentReference({
|
||||
"statuscode":
|
||||
showTopThreeArr[key].statuscode,
|
||||
"ticketnumber":
|
||||
showTopThreeArr[key]
|
||||
.ticketnumber,
|
||||
@@ -414,20 +406,13 @@ const TopThree = (props) => {
|
||||
</div>
|
||||
<div className="cardModuleReference">
|
||||
<b>{t("myportal:appeal-type-label")}:</b>{" "}
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
showTopThreeArr[key][
|
||||
{resolveCrmDisplayValue({
|
||||
value: showTopThreeArr[key][
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: showTopThreeArr[key][
|
||||
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup
|
||||
})}
|
||||
</div>
|
||||
{/* )} */}
|
||||
{/* {topThreeType != "awaitingSubmission" ? ( */}
|
||||
@@ -492,20 +477,13 @@ const TopThree = (props) => {
|
||||
)}
|
||||
<div className="cardModuleReference">
|
||||
<b>{router.locale == "cy" ? "ACLl" : "LPA"}:</b>
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
showTopThreeArr[key][
|
||||
{resolveCrmDisplayValue({
|
||||
value: showTopThreeArr[key][
|
||||
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: showTopThreeArr[key][
|
||||
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup
|
||||
})}
|
||||
</div>
|
||||
{topThreeType == "awaitingSubmission" ? (
|
||||
<div className="carModuleAddress">
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { JSONPath as jsonpath } from "jsonpath-plus";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import Link from "next/link";
|
||||
import { useRouter } from "next/router";
|
||||
@@ -34,6 +33,7 @@ import {
|
||||
setWatchedCasesDetails
|
||||
} from "../../store/watchedCases/action";
|
||||
import { getFormCollectionByID, getDetailsProxy } from "../utils";
|
||||
import resolveCrmDisplayValue from "../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
|
||||
|
||||
const TopThree = (props) => {
|
||||
let { t } = useTranslation();
|
||||
@@ -196,19 +196,6 @@ const TopThree = (props) => {
|
||||
<b>{showTopThreeArr[key].pinswg_name}</b>
|
||||
) : (
|
||||
<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"
|
||||
style={{
|
||||
color: "#0360a6",
|
||||
@@ -218,6 +205,8 @@ const TopThree = (props) => {
|
||||
data-id={index}
|
||||
onClick={() => {
|
||||
setCurrentReference({
|
||||
"statuscode":
|
||||
showTopThreeArr[key].statuscode,
|
||||
"ticketnumber":
|
||||
showTopThreeArr[key].ticketnumber,
|
||||
"currentReference":
|
||||
@@ -236,8 +225,12 @@ const TopThree = (props) => {
|
||||
? "/fymhorth/representation"
|
||||
: "/myportal/representation",
|
||||
query: {
|
||||
case: showTopThreeArr[key]
|
||||
.ticketnumber,
|
||||
case:
|
||||
showTopThreeArr[key]
|
||||
.ticketnumber ||
|
||||
showTopThreeArr[key].caseRef ||
|
||||
showTopThreeArr[key]
|
||||
.pinswg_name,
|
||||
state: "edit",
|
||||
created:
|
||||
showTopThreeArr[key]
|
||||
@@ -286,54 +279,19 @@ const TopThree = (props) => {
|
||||
</div>
|
||||
<div className="cardModuleReference">
|
||||
<b>{t("myportal:representation-type")}:</b>
|
||||
{" "}
|
||||
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
showTopThreeArr[key].representationType +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: showTopThreeArr[key].representationType || ""}
|
||||
{resolveCrmDisplayValue({
|
||||
value: showTopThreeArr[key].representationType,
|
||||
locale,
|
||||
translations: transLookup
|
||||
})}
|
||||
</div>
|
||||
<div className="cardModuleReference">
|
||||
<b>{t("myportal:capacity")}:</b>
|
||||
{" "}
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
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}
|
||||
{resolveCrmDisplayValue({
|
||||
value: showTopThreeArr[key].representationCapacity,
|
||||
locale,
|
||||
translations: transLookup
|
||||
})}
|
||||
</div>
|
||||
<div className="cardModuleReference">
|
||||
<b>{t("myportal:date-raised")}:</b>
|
||||
@@ -342,22 +300,13 @@ const TopThree = (props) => {
|
||||
</div>{" "}
|
||||
<div className="cardModuleReference">
|
||||
<b>{router.locale == "cy" ? "ACLl" : "LPA"}:</b>
|
||||
{" "}
|
||||
|
||||
{router.locale == "cy"
|
||||
? jsonpath({
|
||||
path:
|
||||
'$..[?(@ && @.value=="' +
|
||||
showTopThreeArr[key][
|
||||
{resolveCrmDisplayValue({
|
||||
value: showTopThreeArr[key][
|
||||
"_pinswg_localplanningauthority_value@OData.Community.Display.V1.FormattedValue"
|
||||
] +
|
||||
'")].value_cy',
|
||||
json: transLookup,
|
||||
eval: true
|
||||
})
|
||||
: showTopThreeArr[key][
|
||||
"_pinswg_localplanningauthority_value@OData.Community.Display.V1.FormattedValue"
|
||||
] || ""}
|
||||
],
|
||||
locale,
|
||||
translations: transLookup
|
||||
})}
|
||||
</div>
|
||||
{showTopThreeArr[key].hasOwnProperty("repComplete") && (
|
||||
<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