Author SHA1 Message Date
Robert Bond 0059c13966 Merged PR 1265: when click change linik values persisted
when click change linik values persisted

Related work items: #12438
2024-10-22 07:50:47 +00:00
robbond dc71d16a1f when click change linik values persisted 2024-10-21 15:39:28 +01:00
Robert Bond 02d1bb313f Merged PR 1263: added caseinvolvement api for rep
added caseinvolvement api for rep

Related work items: #12499
2024-10-16 11:44:21 +00:00
robbond a1524c5018 added caseinvolvement api for rep 2024-10-16 12:41:37 +01:00
Robert Bond fc4f5928ef Merged PR 1262: select drop down selected on reopen
select drop down selected on reopen

Related work items: #12434
2024-10-10 10:32:20 +00:00
robbond 113c39a7e9 select drop down selected on reopen 2024-10-10 11:30:02 +01:00
Robert Bond 4dc1e4f233 Merged PR 1261: hide back button on first step of rep
hide back button on first step of rep

Related work items: #12466
2024-10-09 11:48:28 +00:00
robbond 5458fddc99 hide back button on first step of rep 2024-10-09 12:43:33 +01:00
Robert Bond f678b5a2ff Merged PR 1260: chasnged displayed end date to statement for CPO
chasnged displayed end date to statement for CPO

Related work items: #11383
2024-10-08 08:36:14 +00:00
robbond 22aa3e8404 chasnged displayed end date to statement for CPO 2024-10-08 09:34:20 +01:00
Robert Bond 7d6115486a Merged PR 1259: added 127 ip to csp to check for fix to app error
added 127 ip to csp to check for fix to app error

Related work items: #12406
2024-10-08 06:35:58 +00:00
robbond cb96609f54 added 127 ip to csp to check for fix to app error 2024-10-08 06:55:19 +01:00
Robert Bond 781c77840d Merged PR 1258: updated logout modal message and added to reps
updated logout modal message and added to reps

Related work items: #12454
2024-10-07 14:42:50 +00:00
robbond a000c70243 updated logout modal message and added to reps 2024-10-07 15:37:19 +01:00
Robert Bond 5eeb098ae0 Merged PR 1257: validate required on submit not blur
validate required on submit not blur

Related work items: #12106
2024-10-07 10:42:28 +00:00
robbond a2ff59f32d validate required on submit not blur 2024-10-07 11:21:16 +01:00
Robert Bond 934342b8e3 Merged PR 1256: Corrected link text
Corrected link text

Related work items: #12455
2024-10-07 09:11:31 +00:00
robbond 9e345631f6 Corrected link text 2024-10-07 10:09:54 +01:00
Robert Bond bb4df4c195 Merged PR 1255: added in info banner for case summary
added in info banner for case summary

Related work items: #12376
2024-10-07 08:55:58 +00:00
robbond 8239d9ff77 added in info banner for case summary 2024-10-07 09:51:10 +01:00
Robert Bond ba05741b8e Merged PR 1253: clear pinsuser id from cookie
clear pinsuser id from cookie

Related work items: #12404
2024-10-03 10:06:17 +00:00
robbond de8319db54 clear pinsuser id from cookie 2024-10-03 11:04:10 +01:00
Robert Bond 8fbec7e794 Merged PR 1252: defects raised
Related work items: #12405, #12420, #12429
2024-10-01 12:54:01 +00:00
robbond 9509971ffd Advanced search error 2024-10-01 13:51:54 +01:00
robbond 062d8e8cb5 apply GEL to reps 2024-10-01 13:51:36 +01:00
Robert Bond 589577fb45 Merged PR 1250: clean up debug info, reduce page weight
clean up debug info, reduce page weight

Related work items: #12190
2024-09-26 09:15:38 +00:00
robbond a362a2c00f clean up debug info, reduce page weight 2024-09-26 10:07:27 +01:00
Robert Bond 00359e2f7d Merged PR 1246: removed raw response
removed raw response

Related work items: #12190
2024-09-19 08:21:03 +00:00
robbond 67782a35da removed raw response 2024-09-19 09:17:03 +01:00
Robert Bond 9bc8b65e3d Merged PR 1245: added in more debug to investigate
added in more debug to investigate

Related work items: #12190
2024-09-17 13:19:44 +00:00
robbond 79e1afb3e1 added in more debug to investigate 2024-09-17 14:14:45 +01:00
Robert Bond d53c49ba56 Merged PR 1242: update sas function
update sas function

Related work items: #12190
2024-09-16 11:43:19 +00:00
robbond 90780354f6 update sas function 2024-09-16 12:38:11 +01:00
Robert Bond a86a75676d Merged PR 1241: implement application insights
implement application insights

Related work items: #12287
2024-09-13 10:23:44 +00:00
robbond a15482bb63 implement application insights 2024-09-13 11:03:35 +01:00
Robert Bond c658e8065a Merged PR 1236: update to use SAS key
update to use SAS key

Related work items: #12190
2024-09-11 10:49:54 +00:00
robbond 3135eb345d update to use SAS key 2024-09-11 11:48:25 +01:00
Robert Bond 8ce491846b Merged PR 1233: build fix for async scripts
build fix for async scripts

Related work items: #12123
2024-09-05 14:15:20 +00:00
robbond 8dbfda7dde build fix for async scripts 2024-09-05 13:54:01 +01:00
Robert Bond fe5c683a80 Merged PR 1232: update ga4 consent
update ga4 consent

Related work items: #12123
2024-09-05 11:45:26 +00:00
robbond 390c010e7c update ga4 consent 2024-09-05 12:25:43 +01:00
Robert Bond 2839a91195 Merged PR 1230: update google analytics
Related work items: #12116, #12117
2024-08-29 14:00:51 +00:00
robbond c0404d138a 121117 added event triggers 2024-08-29 14:47:22 +01:00
robbond afe79b079a 121116 updated to Ga4 2024-08-29 14:46:50 +01:00
Robert Bond 570b7ff79d Merged PR 1229: hide document links if scheduled docapi downtime set
hide document links if scheduled docapi downtime set

Related work items: #12112
2024-08-27 12:24:18 +00:00
robbond f6f69a6305 hide document links if scheduled docapi downtime set 2024-08-27 13:15:19 +01:00
Robert Bond d8bf893049 Merged PR 1228: handles docapi error
handles docapi error

Related work items: #12110
2024-08-27 10:48:46 +00:00
robbond 3cb22b0415 handles docapi error 2024-08-27 11:44:56 +01:00
Robert Bond 2fd0396566 Merged PR 1215: removed duplicate signin button on new appeal
removed duplicate signin button on new appeal

Related work items: #11992
2024-08-14 11:47:35 +00:00
robbond e9668a67ec removed duplicate signin button on new appeal 2024-08-14 12:42:49 +01:00
Robert Bond 279af0184d Merged PR 1212: mobile issues in header
mobile issues in header

Related work items: #11953
2024-08-13 11:05:35 +00:00
robbond 88ab1f3fc5 mobile issues in header 2024-08-13 12:02:46 +01:00
Robert Bond 88fa4d90f0 Merged PR 1211: breacrumb change & form styling
breacrumb change & form styling

Related work items: #11952
2024-08-13 08:55:06 +00:00
robbond 80f499c072 breacrumb change & form styling 2024-08-12 17:20:06 +01:00
Robert Bond c93e9e0056 Merged PR 1210: added service account header removed duplicate sign in button
added service account header removed duplicate sign in button

Related work items: #11950
2024-08-12 15:22:26 +00:00
robbond c73cf2a013 added service account header removed duplicate sign in button 2024-08-12 11:09:59 +01:00
Robert Bond 83d9df0219 Merged PR 1209: Copy changes
Related work items: #11954, #11955
2024-08-09 12:18:47 +00:00
robbond 795dc5a39d copy changes from review 2024-08-09 13:14:54 +01:00
robbond fd1d38c3ba change case of New Appeals to New appeals 2024-07-23 15:52:11 +01:00
robbond c6c37f27ac copy changes per interim gel report 2024-07-23 14:14:06 +01:00
Robert Bond 0886367f9c Merged PR 1198: pre prod fixes
pre prod fixes

Related work items: #8436
2024-07-04 10:35:02 +00:00
robbond 07de9705e4 pre prod fixes 2024-07-04 11:29:35 +01:00
Robert Bond b49016270e Merged PR 1195: debugging info for the logstream
Related work items: #8436
2024-07-01 11:33:41 +00:00
robbond 8b2dc95e84 added db storage check debug 2024-07-01 12:31:00 +01:00
robbond 4091bfa82e updates 2024-07-01 09:48:39 +01:00
Robert Bond c134af5450 pwd 2024-06-28 13:08:17 +00:00
Robert Bond 37ab7e5248 check test 2024-06-26 11:31:54 +00:00
Robert Bond 6e692ebef3 Merged PR 1192: address search fix includes link with ticketnumber
address search fix includes link with ticketnumber

Related work items: #8436
2024-06-22 07:00:22 +00:00
robbond b02b7d937e address search fix includes link with ticketnumber 2024-06-21 13:45:02 +01:00
Robert Bond 45e359155d Merged PR 1191: using id not relying on title variations
using id not relying on title variations

Related work items: #8436
2024-06-19 20:27:24 +00:00
robbond 9b5f6d4f74 using id not relying on title variations 2024-06-19 21:26:45 +01:00
Robert Bond ce3b8cbad2 Merged PR 1190: improved error loggin and updated imports to fix build failure
improved error loggin and updated imports to fix build failure

Related work items: #8436
2024-06-19 14:08:31 +00:00
robbond be99db0774 improved error loggin and updated imports to fix build failure 2024-06-19 15:06:28 +01:00
Robert Bond d01179c724 Merged PR 1189: remove unused imports
remove unused imports

Related work items: #8436
2024-06-19 06:52:14 +00:00
robbond b0e2bb6e14 remove unused imports 2024-06-19 06:32:38 +01:00
Robert Bond e4a1903b48 Merged PR 1187: duplicate contacts catch and handle and welsh
duplicate contacts catch and handle and welsh

Related work items: #11422
2024-06-11 15:46:09 +00:00
robbond 2b9c160aee duplicate contacts catch and handle and welsh 2024-06-11 16:45:41 +01:00
Robert Bond e8c3d97f30 Merged PR 1186: email signup fixes
Related work items: #11390
2024-06-10 10:08:48 +00:00
robbond da05499a12 mail regex removed 2024-06-10 11:08:01 +01:00
robbond f8a2d44443 welsh lang updates 2024-06-10 10:36:27 +01:00
Robert Bond ab7f050a1e Merged PR 1185: removed debug copy
removed debug copy

Related work items: #11380
2024-06-09 20:59:02 +00:00
robbond 8807eb32ac removed debug copy 2024-06-09 21:58:18 +01:00
Robert Bond 247230f1cd Merged PR 1184: updated display criteria
updated display criteria

Related work items: #11380
2024-06-09 20:46:03 +00:00
robbond 94868a6d31 updated display criteria 2024-06-09 21:45:33 +01:00
Robert Bond a2d3d8352c Merged PR 1183: validation and duplicate submission check
validation and duplicate submission check

Related work items: #8456
2024-06-09 20:25:42 +00:00
robbond 6e0e44567a validation and duplicate submission check 2024-06-09 21:20:04 +01:00
Robert Bond 6f6262fefa Merged PR 1182: conditional display of back link if saved rep
conditional display of back link if saved rep

Related work items: #11353
2024-06-06 05:40:28 +00:00
robbond 28db6d87f5 conditional display of back link if saved rep 2024-06-06 06:39:34 +01:00
Robert Bond 04b3326e4e Merged PR 1181: adding file to rep fix and logging tidy up
Related work items: #11352
2024-06-05 18:53:33 +00:00
robbond 87672a14b9 uploading files to reps 2024-06-05 19:52:31 +01:00
robbond 300a45ee0f console log tidying 2024-06-05 19:51:43 +01:00
robbond 2a6cd32452 console log tidying 2024-06-05 19:50:56 +01:00
Robert Bond 3284bce649 Merged PR 1180: added props and included generic copy of state
added props and included generic copy of state

Related work items: #11347
2024-06-05 12:40:09 +00:00
robbond 8f08ce35df added props and included generic copy of state 2024-06-05 13:39:35 +01:00
Robert Bond 557d81110a Merged PR 1179: updated view all to set missing current view state
updated view all to set missing current view state

Related work items: #11320
2024-06-05 11:22:39 +00:00
robbond 5001fbcbfe updated view all to set missing current view state 2024-06-05 12:21:39 +01:00
Robert Bond 7d82328b02 Merged PR 1178: changed from 1 to 3 before view all
changed from 1 to 3 before view all

Related work items: #11282, #11343, #11307, #11326, #11333
2024-06-05 07:02:57 +00:00
robbond adc657c383 changed from 1 to 3 before view all 2024-06-05 08:01:18 +01:00
Robert Bond ef630596e2 Merged PR 1177: reps defects
Related work items: #11320
2024-06-05 05:52:38 +00:00
robbond 787e06ceb8 Merge branch 'development' into 11320-breadcrumb-issues 2024-06-05 06:51:12 +01:00
robbond ef2e41a377 reps defects 2024-06-05 06:35:13 +01:00
Robert Bond daef08f98f Merged PR 1176: updated to fix breadcrumb
updated to fix breadcrumb

Related work items: #11320
2024-06-04 06:57:14 +00:00
robbond 53e96b18bd updated to fix breadcrumb 2024-06-04 07:56:35 +01:00
Robert Bond 04dec99af1 Merged PR 1174: reps defects
reps defects

Related work items: #11289, #11290, #11322, #11323, #11324, #11325, #11326
2024-06-03 10:59:32 +00:00
robbond c947995e7b reps defects 2024-06-03 11:57:11 +01:00
Robert Bond c63ea33c64 Merged PR 1173: pinswg_otherpartiesstatement to pinswg_otherpartiesstmt change
pinswg_otherpartiesstatement to pinswg_otherpartiesstmt change

Related work items: #11250
2024-05-31 08:24:25 +00:00
robbond 4c534f9319 pinswg_otherpartiesstatement to pinswg_otherpartiesstmt change 2024-05-31 09:21:25 +01:00
Robert Bond 9fa64d4b30 Merged PR 1172: update drop down
update drop down

Related work items: #11308
2024-05-30 17:27:38 +00:00
robbond 04b0ea9f0e update drop down 2024-05-30 18:26:17 +01:00
Robert Bond c9fa8c4177 Merged PR 1171: delete reps on dash
delete reps on dash

Related work items: #11282
2024-05-30 16:57:13 +00:00
robbond 7bba9ea362 delete reps on dash 2024-05-30 17:55:43 +01:00
Robert Bond 86ead475c0 Merged PR 1170: wip for delete reps in view all
wip for delete reps in view all

Related work items: #11282
2024-05-30 14:44:06 +00:00
robbond cf8ff7f45f wip for delete reps in view all 2024-05-30 15:43:33 +01:00
Robert Bond ec6c76ded0 Merged PR 1169: view all delete button for awaiting submission
view all delete button for awaiting submission

Related work items: #11282, #11283
2024-05-30 05:31:52 +00:00
robbond 2c41f2476b view all delete button for awaiting submission 2024-05-30 06:30:59 +01:00
Robert Bond 9b8936198a Merged PR 1168: logic to show reps button
logic to show reps button

Related work items: #6653
2024-05-29 15:24:17 +00:00
robbond 01f2d7d766 logic to show reps button 2024-05-29 16:23:35 +01:00
Robert Bond d2f1a7d8b7 Merged PR 1167: copied watchcase to search state so doesnt lose details
copied watchcase to search state so doesnt lose details

Related work items: #11276
2024-05-29 12:37:06 +00:00
robbond 0878fd1575 copied watchcase to search state so doesnt lose details 2024-05-29 13:36:05 +01:00
Robert Bond 371ebceb49 Merged PR 1166: fix for new appeal
fix for new appeal

Related work items: #11277
2024-05-29 10:12:06 +00:00
robbond ab54fdd8d8 fix for new appeal 2024-05-29 11:10:59 +01:00
Robert Bond fa117fdd1a Merged PR 1165: include commonlands variant of statementdue date
include commonlands variant of statementdue date

Related work items: #11270
2024-05-28 18:05:30 +00:00
robbond 9549318b64 include commonlands variant of statementdue date 2024-05-28 19:04:41 +01:00
Robert Bond c40c41d5b3 Merged PR 1164: show submitted reps on dashboard
show submitted reps on dashboard

Related work items: #9297
2024-05-28 17:58:50 +00:00
robbond f8b7d22802 show submitted reps on dashboard 2024-05-28 18:44:52 +01:00
Robert Bond 229e21cdb0 Merged PR 1163: adjusted timetable to display correct dates
adjusted timetable to display correct dates

Related work items: #11262, #11263
2024-05-28 07:59:05 +00:00
robbond 8b385217c3 adjusted timetable to display correct dates 2024-05-28 08:57:02 +01:00
Robert Bond 6b36c5dc51 Merged PR 1162: added ishare id and rep end date to 2359
added ishare id and rep end date to 2359

Related work items: #7960, #11212, #11245, #11257
2024-05-24 16:06:35 +00:00
robbond 980f6b1cd0 added ishare id and rep end date to 2359 2024-05-24 17:03:53 +01:00
Robert Bond df705aa501 Merged PR 1161: added variation of statementDueDate
added variation of statementDueDate

Related work items: #11257
2024-05-24 13:28:28 +00:00
robbond 6714de87b4 added variation of statementDueDate 2024-05-24 14:27:54 +01:00
Robert Bond cf798f57cf Merged PR 1160: escape spaces and chars for rep filename
escape spaces and chars for rep filename

Related work items: #11180
2024-05-24 13:19:33 +00:00
robbond c546ea6c04 escape spaces and chars for rep filename 2024-05-24 14:17:35 +01:00
Robert Bond 63c91de09e Merged PR 1159: reps for dns
reps for dns

Related work items: #11243
2024-05-23 17:03:42 +00:00
robbond 30ee6f02d7 reps for dns 2024-05-23 18:02:56 +01:00
Robert Bond 8fad2208f6 Merged PR 1158: removed hello debug text
removed hello debug text

Related work items: #11239
2024-05-23 12:18:53 +00:00
robbond 59907fed0a removed hello debug text 2024-05-23 13:18:07 +01:00
Robert Bond 871710b00f Merged PR 1157: Multiple reps raising defects
Related work items: #11238, #11243, #11244, #11245, #11246, #11247, #11248, #11249
2024-05-23 11:02:51 +00:00
robbond 8eae6d1f38 fix for 11248 2024-05-23 12:00:45 +01:00
robbond 5022afe05d mutliple raise reps defects dates or button not showing 2024-05-23 11:54:56 +01:00
Robert Bond a5d7fe2b74 Merged PR 1156: defects on reps for dates and spurious text
Related work items: #11239, #11241
2024-05-23 09:00:33 +00:00
robbond ddfef67fa9 no dates for reps shown 2024-05-23 09:47:40 +01:00
robbond 37233b4c1a removes hello by expanding appeal types 2024-05-23 09:47:26 +01:00
robbond 4f10118020 partial save on questionnaire 2024-05-23 09:44:01 +01:00
Robert Bond 6282388021 Merged PR 1155: updated query for has cas to show rep button
updated query for has cas to show rep button

Related work items: #11233
2024-05-22 10:10:07 +00:00
robbond f2efa2a6cf updated query for has cas to show rep button 2024-05-22 11:09:33 +01:00
Robert Bond c00eef718c Merged PR 1154: fixed page flow from submission of questionnaire
fixed page flow from submission of questionnaire

Related work items: #11219
2024-05-22 09:42:24 +00:00
robbond 56fbb3fdc0 fixed page flow from submission of questionnaire 2024-05-22 10:41:29 +01:00
Robert Bond 6978c37592 Merged PR 1153: updated file name prefixes
updated file name prefixes

Related work items: #11219
2024-05-21 13:04:17 +00:00
robbond 6bf933b2f1 updated file name prefixes 2024-05-21 14:03:24 +01:00
Robert Bond f4c821a5d4 Merged PR 1152: removed hook reference to fix build
removed hook reference to fix build

Related work items: #11180
2024-05-20 12:02:53 +00:00
robbond a7d3cfdd3f removed hook reference to fix build 2024-05-20 12:57:51 +01:00
Robert Bond df6007dde3 Merged PR 1151: updated naming convention meta and pdf fixes
updated naming convention meta and pdf fixes

Related work items: #11180
2024-05-20 11:43:39 +00:00
robbond d829213a6a updated naming convention meta and pdf fixes 2024-05-20 12:42:53 +01:00
Robert Bond 206d08fa5e Merged PR 1150: typo fix portal crash abd appeal file name update
Related work items: #11105, #11107, #11166
2024-05-16 11:42:48 +00:00
robbond bba054e698 typo fix 2024-05-16 12:41:24 +01:00
robbond 7938da6472 portal crash on lpa comments 2024-05-16 12:41:02 +01:00
robbond 20a15d424f update appeal pdf file name 2024-05-16 12:40:28 +01:00
Robert Bond 5a8e1e8d5b Merged PR 1149: updates to naming convention and date handling
uopdates to naming convention and date handling

Related work items: #11154
2024-05-15 09:41:42 +00:00
robbond 9f3f1c996c uopdates to naming convention and date handling 2024-05-15 10:40:59 +01:00
Robert Bond 90e9c6335e Merged PR 1148: applied reps documents naming conventions
applied reps documents naming conventions

Related work items: #11154
2024-05-14 18:09:26 +00:00
robbond 0e3df85fdc applied reps documents naming conventions 2024-05-14 19:06:20 +01:00
Robert Bond 5987ecacf2 Merged PR 1147: display correct label when no data for decision
Related work items: #11137
2024-05-13 15:55:16 +00:00
robbond 2722d472e3 corrected decision label when no data 2024-05-13 16:54:04 +01:00
robbond d5e8a00350 removed unused functions 2024-05-13 16:53:30 +01:00
robbond c3b5f1a6ce swagger doc meta info 2024-05-13 16:53:12 +01:00
robbond 62e8179e3a error checking on pdf 2024-05-13 16:52:25 +01:00
Robert Bond c94e61196a Merged PR 1146: lpa rep pdf tweaks
lpa rep pdf tweaks

Related work items: #8422
2024-05-09 17:43:33 +00:00
robbond 815a8ec818 lpa rep pdf tweaks 2024-05-09 18:40:51 +01:00
Robert Bond b57d73dec3 Merged PR 1145: removed pinswg_name from appeal json so crm displays correct assigned reference
removed pinswg_name from appeal json so crm displays correct assigned reference

Related work items: #11098
2024-05-08 16:36:07 +00:00
robbond 322078ce7f removed pinswg_name from appeal json so crm displays correct assigned reference 2024-05-08 17:32:48 +01:00
Robert Bond af5a1c037a Merged PR 1144: added save button to save a partial rep before completion
added save button to save a partial rep before completion

Related work items: #7502
2024-05-08 09:05:53 +00:00
robbond 08ddfa386a added save button to save a partial rep before completion 2024-05-08 10:05:11 +01:00
Robert Bond 5eab395968 Merged PR 1143: set autocomplete to off as autofill obscures datepicker
set autocomplete to off as autofill obscures datepicker

Related work items: #11023
2024-05-07 08:58:42 +00:00
robbond e401a5b10e set autocomplete to off as autofill obscures datepicker 2024-05-07 09:57:05 +01:00
Robert Bond bc5ad561ab Merged PR 1142: added scroll top to next step
added scroll top to next step

Related work items: #11055
2024-05-07 08:48:07 +00:00
robbond 33d3ab0fda added scroll top to next step 2024-05-07 09:46:38 +01:00
Robert Bond 4d7a56f31d Merged PR 1141: update state order
update state order

Related work items: #11021
2024-05-03 11:33:58 +00:00
robbond 4735993ae5 update state order 2024-05-03 12:32:25 +01:00
Robert Bond 467852cb07 Merged PR 1140: fixes for rep complete queue
fixes for rep complete queue

Related work items: #11021
2024-05-02 15:30:12 +00:00
robbond 46582d761c fixes for rep complete queue 2024-05-02 16:19:46 +01:00
Robert Bond e420f66ced Merged PR 1138: adjusted ordering of sequence to complete
adjusted ordering of sequence to complete

Related work items: #11021
2024-05-02 09:38:06 +00:00
robbond 0f3d20ca80 adjusted ordering of sequence to complete 2024-05-02 10:37:28 +01:00
Robert Bond 0bcb4462a9 Merged PR 1137: removed check on progress file
removed check on progress file

Related work items: #11021
2024-05-02 05:36:30 +00:00
robbond eb08e67546 removed check on progress file 2024-05-02 06:35:47 +01:00
Robert Bond d22651f4f6 Merged PR 1135: updated rep pdf to stream
updated rep pdf to stream

Related work items: #11021
2024-05-01 17:53:33 +00:00
robbond 4010712e93 updated rep pdf to stream 2024-05-01 18:52:47 +01:00
Robert Bond d6c43409bf Merged PR 1134: removed call to update case in crm and error logging
removed call to update case in crm and error logging

Related work items: #11021
2024-04-30 13:38:37 +00:00
robbond 7976ac9bfb removed call to update case in crm and error logging 2024-04-30 14:37:41 +01:00
Robert Bond 7eb4949643 Merged PR 1133: changed order of so pdf doesnt get orphaned
changed order of so pdf doesnt get orphaned

Related work items: #11021
2024-04-30 13:03:13 +00:00
robbond 923ed0c47d changed order of so pdf doesnt get orphaned 2024-04-30 14:02:25 +01:00
Robert Bond 25bb0fa421 Merged PR 1132: sent pdf to stream not a file
sent pdf to stream not a file

Related work items: #11021
2024-04-30 10:28:01 +00:00
robbond 5a411dc290 sent pdf to stream not a file 2024-04-30 11:27:09 +01:00
Robert Bond d2cfbdb6f6 Merged PR 1131: changed pdf generated path
changed pdf generated path

Related work items: #11021
2024-04-29 12:53:24 +00:00
robbond 3fb9a7fbfb changed pdf generated path 2024-04-29 13:52:45 +01:00
Robert Bond cfc58e9619 Merged PR 1128: yesno field value true/false & validation on picklist
yesno field value true/false & validation on picklist

Related work items: #9404
2024-04-26 10:21:15 +00:00
robbond 821b534e7b yesno field value true/false & validation on picklist 2024-04-26 11:20:13 +01:00
Robert Bond 07faac40a7 Merged PR 1127: preamble text and other copy changes
preamble text and other copy changes

Related work items: #10706, #9637
2024-04-24 16:28:04 +00:00
robbond 51f2a74b9b preamble text and other copy changes 2024-04-24 17:24:35 +01:00
Robert Bond 53c78e07d8 Merged PR 1126: updated breadcrumb link on case details page
updated breadcrumb link on case details page

Related work items: #10914
2024-04-22 16:52:50 +00:00
robbond 2d906fd360 updated breadcrumb link on case details page 2024-04-22 17:50:50 +01:00
Robert Bond 550c4ee3b5 Merged PR 1125: Address Search
Related work items: #10914, #10915, #10916, #10917, #10918, #10919
2024-04-22 12:19:12 +00:00
robbond 89c02fda6d language updates for new pages 2024-04-22 13:15:48 +01:00
robbond b6f40bea45 create ui for address search and results 2024-04-22 13:15:28 +01:00
robbond 5e5f6e5c82 update footer and breadcrumbs for new pages 2024-04-22 13:14:42 +01:00
robbond 1b8db8044d update search card 2024-04-22 13:14:19 +01:00
robbond 695a16c5a6 updated form names for insert to crm 2024-04-22 13:12:07 +01:00
robbond af2b7f2063 misc helper updates 2024-04-22 13:11:29 +01:00
robbond 147299ba78 mehods to call address search apis 2024-04-22 13:10:03 +01:00
robbond 38f373864e address search apis 2024-04-22 13:09:02 +01:00
Robert Bond a1e297f862 Merged PR 1124: Sprint 10 bug fixes
Related work items: #10834, #10835, #10836, #10837
2024-04-11 13:05:15 +00:00
robbond ab59f01bce defect 10835 2024-04-11 14:04:12 +01:00
robbond bb718c3b0c defect 10837 2024-04-11 14:03:53 +01:00
robbond 72a540436b defect 10834 2024-04-11 14:03:24 +01:00
Robert Bond 6ed1d36c3c Merged PR 1123: update language translations placeholders
update language translations placeholders

Related work items: #9310
2024-04-11 10:27:11 +00:00
robbond cb27f80e7f update language translations placeholders 2024-04-11 11:26:07 +01:00
Robert Bond 282879c702 Merged PR 1122: only give link for published cases in my case card
only give link for published cases in my case card

Related work items: #7886
2024-04-10 14:44:08 +00:00
robbond d28ba5037b only give link for published cases in my case card 2024-04-10 15:01:03 +01:00
Robert Bond f80f020636 Merged PR 1121: moved personal details to end of pdf document
moved personal details to end of pdf document

Related work items: #10832
2024-04-10 13:14:56 +00:00
robbond f50b893c1f moved personal details to end of pdf document 2024-04-10 14:14:08 +01:00
Robert Bond 8a2724d5de Merged PR 1120: build fix on deployement to dev
build fix on deployement to dev

Related work items: #10822
2024-04-10 10:04:09 +00:00
robbond 30d75493a4 build fix on deployement to dev 2024-04-10 11:03:14 +01:00
Robert Bond ba06f14b4a Merged PR 1119: Direct links to details pages
Related work items: #10822
2024-04-10 07:07:25 +00:00
robbond 44f067d2aa share link for DNS 2024-04-10 08:06:21 +01:00
robbond 7014323161 direct link to case page by ticketnumber 2024-04-09 15:04:48 +01:00
robbond c8aa3db174 passed modified on date for watched cases 2024-04-09 15:04:14 +01:00
robbond a836c667b8 update footer props with ticketnumber 2024-04-09 15:03:33 +01:00
robbond f2e143ab1f added copy link and updated styling 2024-04-09 15:02:47 +01:00
robbond 2e812b546d added ticketnumber to setcurrentreference call 2024-04-09 15:01:43 +01:00
robbond 20cd10394f added ticketnumber props to footer component 2024-04-09 15:00:30 +01:00
Robert Bond 37d76d3dc9 Merged PR 1117: ip logging for error reporting
ip logging for error reporting

Related work items: #10815
2024-04-08 08:50:51 +00:00
robbond fac12242e9 ip logging for error reporting 2024-04-08 09:46:25 +01:00
Robert Bond e532e0a0ab Merged PR 1116: added in last modified field to case summary
added in last modified field to case summary

Related work items: #10789
2024-04-03 13:32:53 +00:00
robbond 31ab76a9fe added in last modified field to case summary 2024-04-03 14:30:20 +01:00
Robert Bond 298436544b Merged PR 1115: fix build error - function rename
fix build error - function rename

Related work items: #10701
2024-04-02 17:09:26 +00:00
robbond 24eed0e44b fix build error - function rename 2024-04-02 18:08:32 +01:00
Robert Bond fe89da6a55 Merged PR 1114: added in guidance link and welsh trans
added in guidance link and welsh trans

Related work items: #10701
2024-04-02 16:46:03 +00:00
robbond 86f15ba949 added in guidance link and welsh trans 2024-04-02 17:45:02 +01:00
Robert Bond 9142870457 Merged PR 1113: updated pdf for tenants array
updated pdf for tenants array

Related work items: #10708
2024-03-28 10:02:30 +00:00
robbond 51a09dc546 updated pdf for tenants array 2024-03-28 10:01:20 +00:00
Robert Bond 57ba3b8f52 Merged PR 1112: copy amends as per workshop
Related work items: #10705, #10707, #10708, #10709, #10710, #10711, #10712, #10713, #10714, #10715
2024-03-27 19:54:00 +00:00
robbond 802bb3c9f7 copy amends 2024-03-27 19:51:30 +00:00
robbond 37b9549cd1 Step 2 content amends 2024-03-26 12:37:27 +00:00
robbond 2f3902a119 TMP format change 2024-03-26 12:36:37 +00:00
Robert Bond 49f6c76e2f Merged PR 1111: content amends for create appeal
content amends for create appeal

Related work items: #10700, #10702, #10703, #10704
2024-03-26 11:38:59 +00:00
robbond e2edee35c6 content amends for create appeal 2024-03-26 11:36:35 +00:00
Robert Bond ff6ff9842c Merged PR 1110: updated url for email link
updated url for email link

Related work items: #10575
2024-03-25 10:18:17 +00:00
robbond a973f94995 updated url for email link 2024-03-25 10:15:38 +00:00
Robert Bond 292f28364a Merged PR 1109: added sorting to viewall page
added sorting to viewall page

Related work items: #10572
2024-03-21 11:56:37 +00:00
robbond f5409ff243 added sorting to viewall page 2024-03-21 11:54:40 +00:00
Robert Bond e218a027d9 Merged PR 1108: added in key for iterator
added in key  for iterator

Related work items: #10574
2024-03-20 13:45:21 +00:00
robbond 50e97f2d84 added in key for iterator 2024-03-20 13:44:31 +00:00
Robert Bond 1bde89454f Merged PR 1107: added tenant fieldarray and date ranges
added tenant fieldarray and date ranges

Related work items: #10574
2024-03-20 10:57:12 +00:00
robbond dc933087d2 added tenant fieldarray and date ranges 2024-03-20 10:56:42 +00:00
Robert Bond 7c09367be4 Merged PR 1106: fixed call for watched cases double apostrophe fix
fixed call for watched cases double apostrophe fix

Related work items: #10573
2024-03-19 10:53:22 +00:00
robbond 20226bab8d fixed call for watched cases double apostrophe fix 2024-03-19 10:52:31 +00:00
Robert Bond 7d37babfff Merged PR 1105: added in postcode validation regex and error msg
added in postcode validation regex and error msg

Related work items: #10571
2024-03-19 10:04:56 +00:00
robbond 876dc5bd92 added in postcode validation regex and error msg 2024-03-19 10:04:19 +00:00
Robert Bond ef009fcea1 Merged PR 1104: appeal complete flag on new appeal
Related work items: #10561
2024-03-14 13:15:39 +00:00
robbond 15f4f10a10 appelacomplete tag on completion 2024-03-14 13:14:24 +00:00
robbond 7aea356a52 fix paths for pdfs 2024-03-14 13:13:51 +00:00
Robert Bond dbf1bcdd35 Merged PR 1102: added logic to hide case reference in check section
added logic to hide case reference in check section

Related work items: #10576
2024-03-14 09:23:07 +00:00
robbond aade8ec7d3 added logic to hide case reference in check section 2024-03-14 09:22:14 +00:00
Robert Bond e8c4f9a903 Merged PR 1101: updated reps paths
updated reps paths

Related work items: #10561
2024-03-13 09:55:49 +00:00
robbond e0f8cf57b1 updated reps paths 2024-03-13 09:54:57 +00:00
Robert Bond c9f9aa65f5 Merged PR 1100: added in path to console log to investigate issue
added in path to console log to investigate issue

Related work items: #10561
2024-03-13 08:53:41 +00:00
robbond 6cc8d8aa8d added in path to console log to investigate issue 2024-03-13 08:52:52 +00:00
Robert Bond f177a6bf2e Merged PR 1099: update path in queue message inc url
update path in queue message inc url

Related work items: #10561
2024-03-12 18:12:40 +00:00
robbond 1049da3787 update path in queue message inc url 2024-03-12 18:10:44 +00:00
Robert Bond bb4c783b9a Merged PR 1095: fixed wrong params passed to queue message
fixed wrong params passed to queue message

Related work items: #10561
2024-03-11 08:05:47 +00:00
robbond c929aaa493 fixed wrong params passed to queue message 2024-03-11 08:04:53 +00:00
Robert Bond 10756a54b4 Merged PR 1094: added in double quotes for single in query
added in double quotes for single in query

Related work items: #10536
2024-03-07 09:46:37 +00:00
robbond f434fcf4f8 added in double quotes for single in query 2024-03-07 09:45:50 +00:00
Robert Bond 25d611b3e4 Merged PR 1093: added key to top three row for appeal sunbmission card
added key to top three row for appeal sunbmission card

Related work items: #10521
2024-03-05 10:50:36 +00:00
robbond e99a0263af added key to top three row for appeal sunbmission card 2024-03-05 10:48:25 +00:00
Robert Bond 3ede3985b4 Merged PR 1090: middleware removal
middleware removal

Related work items: #10511
2024-03-01 18:04:44 +00:00
robbond abf280a990 middleware removal 2024-03-01 18:03:46 +00:00
Robert Bond 4824bf5d9d Merged PR 1089: changed session limit and scope of protection
changed session limit and scope of protection

Related work items: #10497
2024-02-29 14:20:04 +00:00
robbond 60b610054b changed session limit and scope of protection 2024-02-29 14:19:35 +00:00
Robert Bond cb7647f237 Merged PR 1088: added in date raised on myportal cards
added in date raised on myportal cards

Related work items: #10487
2024-02-28 13:01:17 +00:00
robbond fc7b9a5d2c added in date raised on myportal cards 2024-02-28 12:59:33 +00:00
Robert Bond 683c486b14 Merged PR 1087: phase 2 tests
Related work items: #10486, #10487, #10488, #10489
2024-02-27 17:44:12 +00:00
robbond 4d037ffeb8 10489 submission fix 2024-02-27 17:41:28 +00:00
robbond 866b085254 10489 unable to submit on submission of case 2024-02-27 12:56:06 +00:00
robbond 82dbeb8d16 10488 accept decimal and allow decimal field type 2024-02-27 11:39:57 +00:00
robbond 17a1f1f414 10486 double click on dropdown 2024-02-27 11:39:00 +00:00
robbond 2f676805a5 10487 box width 2024-02-27 11:31:03 +00:00
Robert Bond 5596c8d570 Merged PR 1083: accessibility amends
Related work items: #10350, #10445, #10446, #10447, #10448
2024-02-21 17:22:55 +00:00
robbond dcdda6eb6e misc accessibility fixes 2024-02-21 17:19:01 +00:00
robbond 7dbc978f00 accessibility amends for lpa reps 2024-02-20 13:26:07 +00:00
robbond c98e05d549 accessibility amends misc 2024-02-19 16:54:56 +00:00
robbond cf04ceba50 accessibility ammends for case summary and details 2024-02-19 16:54:40 +00:00
robbond 114f57aa5d Accessibility amends for new appeal 2024-02-19 16:53:58 +00:00
robbond cb5280b525 accessibility amends for my portal 2024-02-19 16:53:22 +00:00
robbond d09782aa41 accessibility amends for reps 2024-02-19 16:51:59 +00:00
Robert Bond 401dcbceac Merged PR 1082: fix for my cases error in case summary
fix for my cases error in case summary

Related work items: #10415
2024-02-13 14:19:07 +00:00
robbond 6e9a1ace97 fix for my cases error in case summary 2024-02-13 14:18:01 +00:00
Robert Bond 3135f4e1a6 Merged PR 1081: updated rep pdfs for multilingual
updated rep pdfs for multilingual

Related work items: #10403
2024-02-13 08:05:39 +00:00
robbond d3b9b1bf34 updated rep pdfs for multilingual 2024-02-13 08:01:52 +00:00
Robert Bond e12bcbd60c Merged PR 1080: change lib version to fix error
change lib version to fix error

Related work items: #10351
2024-02-12 10:26:20 +00:00
robbond a404f3f238 change lib version to fix error 2024-02-12 10:24:35 +00:00
Robert Bond 41861d8e98 Merged PR 1079: Update Advanced search appeal types list
Related work items: #10351
2024-02-08 14:33:30 +00:00
robbond c7fba57922 remove misc casework exception in query 2024-02-08 14:29:00 +00:00
robbond 2af463fbe9 update jsonpath library 2024-02-08 14:28:40 +00:00
Robert Bond f034f4be3d Merged PR 1075: update submissions card with lpa ref
update submissions card with lpa ref

Related work items: #9490
2024-02-06 09:52:04 +00:00
robbond 60ac61b23e update submissions card with lpa ref 2024-02-06 09:50:55 +00:00
Robert Bond 7059e37fb5 Merged PR 1074: watched cases and view all
watched cases and view all

Related work items: #9444, #9445, #9456, #9457, #9476, #9477, #9490, #9491
2024-02-05 15:27:48 +00:00
robbond 12d1fbc55e watched cases and view all 2024-02-05 15:26:13 +00:00
Robert Bond 1e1b97f2a9 Merged PR 1073: linked watched cases for all personnas
linked watched cases for all personnas

Related work items: #9460, #9461, #9464, #9465, #9486, #9487, #9488, #9489
2024-02-02 12:32:50 +00:00
robbond 87019693e2 linked watched cases for all personnas 2024-02-02 12:30:18 +00:00
Robert Bond c3a4b4bb10 Merged PR 1071: updated watched cases with language and confirm
updated watched cases with language and confirm

Related work items: #9442, #9443, #9446, #9447, #9448, #9449, #9450, #9451, #9452, #9453, #9454, #9455
2024-01-29 15:14:44 +00:00
robbond 3e83332d28 updated watched cases with language and confirm 2024-01-29 15:11:23 +00:00
Robert Bond 888ddf60bd Merged PR 1069: added switch for login check on watch case and reps
added switch for login check on watch case and reps

Related work items: #7501
2024-01-26 11:53:44 +00:00
robbond 79da26733c added switch for login check on watch case and reps 2024-01-26 11:52:06 +00:00
Robert Bond c5f61da8ed Merged PR 1068: cleaned up rep functionality
cleaned up rep functionality

Related work items: #6653, #6654, #7500, #7501, #7502, #7958, #7959, #8422, #8423, #9072, #9073, #9295, #9297
2024-01-24 17:17:37 +00:00
robbond b7a643a6b1 cleaned up rep functionality 2024-01-24 14:19:36 +00:00
Robert Bond a650452d18 Merged PR 1067: aded in key to iterator
aded in key to iterator

Related work items: #9494
2024-01-23 13:26:26 +00:00
robbond 6e4287b591 aded in key to iterator 2024-01-23 13:25:41 +00:00
Robert Bond 5f317cdef5 Merged PR 1066: added agent details to new appeal pdf
added agent details to new appeal pdf

Related work items: #9494
2024-01-23 13:15:27 +00:00
robbond 89c38fe4c9 added agent details to new appeal pdf 2024-01-23 13:14:52 +00:00
Robert Bond 9e3454e7bf Merged PR 1063: upload to storage account
upload to storage account

Related work items: #9494
2024-01-19 12:01:22 +00:00
robbond d04eac4913 upload to storage account 2024-01-19 12:00:56 +00:00
Robert Bond e53592b953 Merged PR 1062: finalised new appeal pdf to show selected dropdowns
finalised new appeal pdf to show selected dropdowns

Related work items: #9494
2024-01-19 11:57:53 +00:00
robbond 01f768c624 finalised new appeal pdf to show selected dropdowns 2024-01-19 11:57:14 +00:00
Robert Bond d8fc51c281 Merged PR 1061: updated file paths
updated file paths

Related work items: #9494
2024-01-18 10:05:30 +00:00
robbond 2f7790e66a updated file paths 2024-01-18 10:03:25 +00:00
Robert Bond 2b203f6b2b Merged PR 1060: rich text field and pdf create for appeal
rich text field and pdf create for appeal

Related work items: #9494
2024-01-16 14:24:51 +00:00
robbond 5f82c59abb rich text field and pdf create for appeal 2024-01-16 14:23:11 +00:00
Robert Bond e0badd6b11 Merged PR 1048: updated link for register user
updated link for register user

Related work items: #9967
2023-12-21 12:25:18 +00:00
robbond 5ffd09f825 updated link for register user 2023-12-21 12:22:20 +00:00
Robert Bond 593d416c18 Merged PR 1047: added json headers
added json headers

Related work items: #9877
2023-12-20 12:20:04 +00:00
robbond 1afb2da7de added json headers 2023-12-20 12:08:20 +00:00
Robert Bond 30ff0f294b Merged PR 1046: added api for testing email provider
added api for testing email provider

Related work items: #9877
2023-12-15 13:41:41 +00:00
robbond 6ec0d58aff added api for testing email provider 2023-12-15 13:40:00 +00:00
Robert Bond 197313e9fa Merged PR 1041: updated sass and npm packages
updated sass and npm packages

Related work items: #9877
2023-12-12 09:31:02 +00:00
robbond e7f4c5d847 updated sass and npm packages 2023-12-12 09:24:01 +00:00
Robert Bond 1f677139f1 Merged PR 1039: changed build id from number to string
changed build id from number to string

Related work items: #9877
2023-12-08 09:23:48 +00:00
robbond d22045c9c5 changed build id from number to string 2023-12-08 09:20:24 +00:00
Robert Bond 6426f8370b Merged PR 1038: replaced git build id with date now
replaced git build id with date now

Related work items: #9877
2023-12-08 09:13:26 +00:00
robbond 7e4de4e694 replaced git build id with date now 2023-12-08 09:11:21 +00:00
Robert Bond 72c44cd8f3 Merged PR 1036: update build id to store version number
update build id to store version number

Related work items: #9877
2023-12-06 15:22:51 +00:00
robbond ccd3b8ffc5 update build id to store version number 2023-12-06 15:20:09 +00:00
Robert Bond 3c8fd36f7d Merged PR 1035: passing nonce to header
passing nonce to header

Related work items: #9396
2023-11-29 15:02:01 +00:00
robbond 0714a09f49 passing nonce to header 2023-11-29 15:00:43 +00:00
Robert Bond 6a18c7df09 Merged PR 1034: updated packages version for build fix
updated packages version for build fix

Related work items: #9396
2023-11-29 12:18:57 +00:00
robbond ad618376d2 updated packages version for build fix 2023-11-29 12:17:34 +00:00
Robert Bond d313ce6592 Merged PR 1033: Merge dev work for Phase 2
Make development branch back in sync with reps work and other dev done since phase 1a deployment to give a phase 2

Related work items: #6495, #8449, #8450, #8456, #8457, #8458
2023-11-29 11:11:35 +00:00
robbond 33df7e25d7 added in capacity details to pdf 2023-11-29 10:21:29 +00:00
robbond b0e740ba8c migrate updated files 2023-11-21 12:04:35 +00:00
robbond 98e32f0b20 update translate version 2023-11-21 11:36:24 +00:00
robbond e0a26a3fa4 fixed build issues from nextauth 2023-11-13 11:31:22 +00:00
robbond 6a927155bc tweak to auth 2023-11-09 12:31:53 +00:00
robbond ef1f773022 updated 2023-11-08 13:20:43 +00:00
robbond e7afa582ff view all updates for reps 2023-11-08 09:03:34 +00:00
robbond 08552da757 welsh trans for questionnaire 2023-11-02 10:14:32 +00:00
robbond 1477ed74e4 welsh versions of questionnaire 2023-10-31 14:12:12 +00:00
robbond 2cbd2d731c rep questionnaire nav/progress 2023-10-26 11:59:20 +01:00
robbond 48bfa5e0be authentication check on page 2023-10-26 11:58:47 +01:00
robbond 1807749bba set case to watch on auth 2023-10-26 07:38:10 +01:00
robbond f3da69dc75 reps raised with correct return url 2023-10-25 10:33:08 +01:00
robbond fdf5be3415 lpa dashboard tweaks 2023-10-24 10:41:24 +01:00
robbond c4fcb6fa56 reps questionnaire progress panel 2023-10-24 08:37:22 +01:00
robbond 798ba01ea6 make formatdates function shared in utils 2023-10-24 07:35:43 +01:00
robbond 0c98bcd831 rep pdf questionnaire variants 2023-10-17 09:07:18 +01:00
robbond 0f0e3ed85e added lpa reference to search queries 2023-10-17 09:06:42 +01:00
robbond f53faf47e2 create rep pdf tweaks prior to multi types matrix 2023-10-11 13:51:35 +01:00
robbond 1f669a5efe reps pdf upload directory restructure 2023-10-04 14:28:56 +01:00
robbond f78210c24c update gitignore 2023-09-26 13:40:02 +01:00
robbond 2ce248fba8 update pdf templates with attched docs 2023-09-26 13:39:23 +01:00
robbond b56f73d854 removed unsed test pdfs 2023-09-26 09:17:32 +01:00
robbond 41847b3433 create pdf reps for lpa 2023-09-26 09:12:57 +01:00
robbond 34c3e06ee3 changed order of language pref welsh first 2023-08-08 15:50:37 +01:00
robbond dcf220198d added signin workaround for dev 2023-07-27 14:05:45 +01:00
robbond daa8b1c96d update lpa portal 2023-07-27 12:46:02 +01:00
Rob Bond 3ff708737c lpa portal view 2023-07-26 11:46:01 +01:00
robbond 31375a5999 updated authentication on protected pages 2023-06-05 12:00:28 +01:00
robbond 3dd4525770 welsh translations of account details 2023-05-24 12:42:17 +01:00
robbond 275258562e updated welsh translations 2023-05-23 10:38:03 +01:00
robbond dc43d7f2b4 updated view all 2023-04-21 10:36:19 +01:00
robbond 98ed833a47 added phase 2 tagging to jsdoc 2023-04-04 14:33:10 +01:00
robbond 53914bfe80 updated watch case logic for summary page 2023-03-24 12:09:35 +00:00
robbond 091e23c820 jsdoc for create case 2023-03-21 11:22:30 +00:00
robbond 6dc71b894a added jsdoc definitions to apis 2023-03-10 12:21:10 +00:00
robbond d8f0972170 added swagger 2023-03-01 15:47:55 +00:00
robbond c38d67a37f update dns subsection autosuggest list 2023-02-21 13:25:43 +00:00
robbond 9fe6c24f71 cleaned ununsed dependancies and packages 2023-02-15 11:43:38 +00:00
robbond fc5217daf8 show login boolean in redux store 2023-02-15 08:34:04 +00:00
robbond 316e66a96f update and clean environment vars 2023-02-15 08:33:24 +00:00
robbond 1e5a007c5e updated logging in message 2023-02-09 14:08:06 +00:00
robbond 511520bb84 update logging in copy 2023-02-09 13:11:20 +00:00
robbond 31362e4446 sotrage account calls security hardening 2023-02-03 17:01:59 +00:00
robbond a2ee8c58a6 build warning clean up 2023-02-03 17:00:32 +00:00
robbond b8de41e592 console log cleanup 2023-02-03 17:00:03 +00:00
robbond cdc687959b Merge branch 'Development' into reps-wip 2023-01-30 13:47:47 +00:00
Robert Bond eedc908a1b Merged PR 963: update non val case details
update non val case details

Related work items: #8044
2023-01-30 13:39:26 +00:00
robbond 3e89c25832 update non val case details 2023-01-30 13:37:55 +00:00
robbond 061fd71e1e hashing reps and submission blobs 2023-01-27 11:57:15 +00:00
robbond 2a5ea53536 watch case link on case summary 2023-01-27 11:00:56 +00:00
robbond d3bba6c620 added in message queue for applications and reps 2023-01-19 17:25:16 +00:00
robbond 0c1de7d26b get pending reps to dashboard from St Acc 2023-01-16 09:56:37 +00:00
robbond ee4d00a500 reps trigger for logged out & upload storage acc 2023-01-05 14:26:08 +00:00
robbond 98aefdd867 reps wip 2022-12-16 11:36:01 +00:00
Robert Bond f6d934d951 Merged PR 948: sendemail function for gov notify
sendemail function for gov notify

Related work items: #7980
2022-11-17 13:18:59 +00:00
robbond 6fe3fc51a6 sendemail function for gov notify 2022-11-17 13:16:57 +00:00
Robert Bond b0a9b721a3 Merged PR 947: remove notice banner and add tags/meta to uploads
remove notice banner and add tags/meta to uploads

Related work items: #7961
2022-11-11 14:35:02 +00:00
robbond dc66301be0 remove notice banner and add tags/meta to uploads 2022-11-11 14:34:10 +00:00
Robert Bond e095f710a0 Merged PR 946: comment out debug data incorrectly showing in ui
comment out debug data incorrectly showing in ui

Related work items: #7952
2022-11-07 16:06:49 +00:00
robbond 26a9d50368 comment out debug data incorrectly showing in ui 2022-11-07 16:06:04 +00:00
Robert Bond 8dcf2e4e7f Merged PR 944: updated error home link and copy on error page
updated error home link and copy on error page

Related work items: #7952
2022-11-07 13:32:00 +00:00
robbond 0d5adbc899 updated error home link and copy on error page 2022-11-07 13:30:09 +00:00
Robert Bond 6197646b0f Merged PR 943: uat defects and s78 dns amends
uat defects and s78 dns amends

Related work items: #7951
2022-11-02 13:25:08 +00:00
robbond ca91f679ce uat defects and s78 dns amends 2022-11-02 13:23:54 +00:00
Robert Bond e2f7e3756a Merged PR 942: added path to redirect
added path to redirect

Related work items: #7949
2022-10-28 10:52:29 +00:00
robbond e77a9f9a89 added path to redirect 2022-10-28 11:52:01 +01:00
Robert Bond 5ea23c9849 Merged PR 941: check on link to log out if a session exists
check on link to log out if a session exists

Related work items: #7949
2022-10-28 09:50:09 +00:00
robbond ffe2a24df0 check on link to log out if a session exists 2022-10-28 10:49:41 +01:00
Robert Bond e54fd92e22 Merged PR 936: azure storage to require not import for build fix
azure storage to require not import for build fix

Related work items: #7948
2022-10-27 09:20:06 +00:00
robbond c4907c0891 azure storage to require not import for build fix 2022-10-27 10:19:21 +01:00
Robert Bond 73338c5c97 Merged PR 935: added container and blob sas tokens
added container and blob sas tokens

Related work items: #7948
2022-10-25 13:03:22 +00:00
robbond c99205d4e9 added container and blob sas tokens 2022-10-25 14:00:46 +01:00
Robert Bond 4e234ef756 Merged PR 932: hide rep button
hide rep button

Related work items: #7945
2022-10-20 09:49:04 +00:00
robbond 9d637576df hide rep button 2022-10-20 10:47:50 +01:00
Robert Bond d1687160d0 Merged PR 931: updated copy
updated copy

Related work items: #7945
2022-10-20 08:11:59 +00:00
robbond e42a6cd06c updated copy 2022-10-20 09:10:49 +01:00
Robert Bond 2b30584587 Merged PR 928: Clean up Endpoints and build warnings
Related work items: #7944
2022-10-18 11:02:52 +00:00
robbond 99ec67d096 adjsuted query for gettng portal user info 2022-10-18 12:01:26 +01:00
robbond c0e9ed43ab removed unused endpoints 2022-10-18 11:53:22 +01:00
robbond 6be6a02101 cleared build warnings and format console message 2022-10-18 11:52:55 +01:00
robbond 748ecec313 moved function to actions 2022-10-18 11:52:14 +01:00
robbond 8c5b299412 removed gov gateway references 2022-10-18 11:51:30 +01:00
Robert Bond 5f7908c0c2 Merged PR 927: missing import
missing import

Related work items: #7943
2022-10-12 11:42:44 +00:00
robbond d9aab39eed missing import 2022-10-12 12:42:13 +01:00
Robert Bond d287cb7a8e Merged PR 926: hide reps button & add rich text for reps
hide reps button & add rich text for reps

Related work items: #7943
2022-10-12 11:24:00 +00:00
robbond 96387db56e hide reps button & add rich text for reps 2022-10-12 12:23:26 +01:00
Robert Bond 33053a578b Merged PR 925: css fix for notice banner
css fix for notice banner

Related work items: #7942
2022-10-10 10:20:22 +00:00
robbond 4a1708cb1b css fix for notice banner 2022-10-10 11:19:12 +01:00
Robert Bond c5f67365c3 Merged PR 924: watch icon showing incorrectly
watch icon showing incorrectly

Related work items: #7942
2022-10-10 08:30:27 +00:00
robbond a704e4a828 watch icon showing incorrectly 2022-10-10 09:29:42 +01:00
Robert Bond 4aced9af69 Merged PR 923: update notice banner copy and styling
update notice banner copy and styling

Related work items: #7942
2022-10-07 08:43:39 +00:00
robbond 57a7c8f379 update notice banner copy and styling 2022-10-07 09:43:02 +01:00
Robert Bond e50dcb4d62 Merged PR 922: update copy on notice banner and blob debug info
update copy on notice banner and blob debug info

Related work items: #7941
2022-10-05 10:19:38 +00:00
robbond 2d1c6bb37a update copy on notice banner and blob debug info 2022-10-05 11:18:25 +01:00
Robert Bond 536d1ec6c2 Merged PR 920: updated path
updated path

Related work items: #7941
2022-10-04 13:16:09 +00:00
robbond e9cbee2eb5 updated path 2022-10-04 14:15:36 +01:00
Robert Bond 6627d2f44b Merged PR 919: remove invalid props reference
remove invalid props reference

Related work items: #7941
2022-10-04 12:41:55 +00:00
robbond 71a2ef5b73 remove invalid props reference 2022-10-04 13:41:23 +01:00
Robert Bond b042fe7d0b Merged PR 918: File upload file type exclusions and language variations
File upload file type exclusions and language variations

Related work items: #7941
2022-10-04 10:19:46 +00:00
robbond cd97bc6a19 File upload file type exclusions and language variations 2022-10-04 11:18:59 +01:00
Robert Bond 6bfdd76f1c Merged PR 917: Saving progress spinner and language updates
Saving progress spinner and language updates

Related work items: #7940
2022-10-04 09:25:59 +00:00
robbond 7cd7ab78aa Saving progress spinner and language updates 2022-10-04 10:24:49 +01:00
Robert Bond 683e3b5814 Merged PR 915: decoupled crm for new appeals - all made on storage
decopled crm for new appeals - all made on storage

Related work items: #7938
2022-09-28 09:14:39 +00:00
robbond 745b51839a decopled crm for new appeals - all made on storage 2022-09-28 10:13:36 +01:00
Robert Bond bfcd0329c6 Merged PR 904: information banner from api with date range
information banner from api with date range

Related work items: #7927
2022-09-22 10:12:52 +00:00
robbond 38e70b1ec1 information banner from api with date range 2022-09-22 11:12:04 +01:00
Robert Bond f9cdaafd7c Merged PR 900: added notify as email provider for nextauth
added notify as email provider for nextauth

Related work items: #7910
2022-09-13 10:26:28 +00:00
robbond e44f516eab added notify as email provider for nextauth 2022-09-13 11:24:57 +01:00
Robert Bond 5529b2d5aa Merged PR 899: delet blob wip
delet blob wip

Related work items: #7908
2022-09-12 14:55:49 +00:00
robbond d907070ca9 delet blob wip 2022-09-12 15:54:55 +01:00
Robert Bond 8c4d62fe7f Merged PR 898: build fix
build fix

Related work items: #7908
2022-09-07 10:34:58 +00:00
robbond 749b49c54d build fix 2022-09-07 11:34:29 +01:00
Robert Bond 128fbf219f Merged PR 897: Build fix and welsh translation for sign in
Related work items: #7908
2022-09-07 10:26:09 +00:00
robbond 8f96e7bd9d welsh translations for sign in 2022-09-07 11:23:46 +01:00
robbond 7115aab927 build fixes 2022-09-07 11:23:30 +01:00
robbond 0eaa448268 wgo creds updated 2022-09-07 11:21:12 +01:00
Robert Bond d70a82c6fd Merged PR 896: buid fix
buid fix

Related work items: #7907
2022-09-06 07:44:36 +00:00
robbond 302f800206 buid fix 2022-09-06 08:42:37 +01:00
Robert Bond 1e9a12058b Merged PR 895: awaiting submissions from storage acc
awaiting submissions from storage acc

Related work items: #7907
2022-09-06 07:26:14 +00:00
robbond c66883b4c5 awaiting submissions from storage acc 2022-09-05 16:46:30 +01:00
Robert Bond b0dde836b0 Merged PR 894: use sql server for auth and cascade auth id to storage account
Related work items: #7902
2022-08-26 14:21:39 +00:00
robbond 862a953aae updated storage account stuff to take auth id 2022-08-26 15:19:34 +01:00
robbond 671d49c394 Merge branch 'get-progress-from-blob' into migrate-auth-db-to-sql-server 2022-08-23 15:10:46 +01:00
robbond 69a81e482f migrate auth db to sql server 2022-08-23 15:06:55 +01:00
robbond f29d8e814b Merge branch 'Development' into get-progress-from-blob 2022-08-11 09:05:13 +01:00
Robert Bond 4b38849f1d Merged PR 889: pinswg_startdateoftheevent update query
pinswg_startdateoftheevent update query

Related work items: #7887
2022-08-11 06:40:12 +00:00
robbond 86edd71b6c pinswg_startdateoftheevent update query 2022-08-11 07:39:42 +01:00
robbond 42eeaae619 Merge branch 'Development' into get-progress-from-blob 2022-08-03 13:39:37 +01:00
Robert Bond c2fa1483eb Merged PR 886: search by case status
search by case status

Related work items: #7867
2022-08-03 12:37:27 +00:00
robbond 1664c8ce69 search by case status 2022-08-03 13:36:48 +01:00
robbond 33cd822fc6 Merge branch 'Development' into get-progress-from-blob 2022-08-02 12:15:07 +01:00
Robert Bond cba7f83c94 Merged PR 885: show only active appeal form details
To fix duplicate associated view records entered in error

Related work items: #7866
2022-08-02 11:12:39 +00:00
robbond 1609e5f12d adjust query for details in appeal only active 2022-08-02 12:11:33 +01:00
robbond 402cd4938f update look up for relevant authority 2022-08-02 12:11:13 +01:00
robbond ad8b49abcf getting the progress from blob storage 2022-08-02 09:27:47 +01:00
Robert Bond c66f8af327 Merged PR 884: fomr xml cleanup
fomr xml cleanup

Related work items: #7849
2022-07-25 15:19:23 +00:00
robbond e2970a06e6 fomr xml cleanup 2022-07-25 16:18:28 +01:00
Robert Bond 3b27176868 Merged PR 883: debug fix on search results
debuf fix on search results

Related work items: #7846
2022-07-21 07:08:48 +00:00
robbond a14726ee0a debuf fix on search results 2022-07-21 08:07:46 +01:00
Robert Bond f4d6cfb2d8 Merged PR 881: upload to storage account
Related work items: #7828
2022-07-19 10:58:59 +00:00
robbond ee110bd8a7 new appeal progress pattern 2022-07-19 11:54:00 +01:00
robbond 58415b82c6 debug logging 2022-07-19 11:53:34 +01:00
robbond f8ab5c1528 files object display 2022-07-19 11:52:50 +01:00
robbond 31738d38fa error handling logging and debug to server console 2022-07-19 11:51:16 +01:00
robbond be9f86b6b2 added hashing on api calls 2022-07-12 12:49:26 +01:00
robbond f23ad2a300 upload fies to storage account for appeal 2022-07-07 17:06:56 +01:00
Robert Bond b96f3bb916 Merged PR 875: Config for non val
Related work items: #7631
2022-06-23 12:44:14 +00:00
robbond db43648c1a added config for non val 2022-06-23 13:40:52 +01:00
robbond 047fcb8142 removed logging and redundant imports 2022-06-23 13:40:30 +01:00
robbond d55aedfa65 tidied xml files to reduce unwanted data 2022-06-23 13:39:40 +01:00
robbond da5c6d433f removed redundant mocks and files 2022-06-23 13:38:39 +01:00
Robert Bond ef560ba4e3 Merged PR 874: corrected case of path to icon
corrected case of path to icon

Related work items: #7642
2022-06-22 06:40:20 +00:00
robbond d1802ae100 corrected case of path to icon 2022-06-22 07:38:08 +01:00
Robert Bond 6df1adcde5 Merged PR 873: filename changes to include case ref and cat code
filename changes to include case ref and cat code

Related work items: #7641, #7642
2022-06-21 11:09:56 +00:00
robbond eb5d03a068 filename changes to include case ref and cat code 2022-06-21 12:09:03 +01:00
Robert Bond bd04900ff8 Merged PR 872: moved field component up to stop rerender
moved field component up to stop rerender

Related work items: #7720
2022-06-21 06:35:53 +00:00
robbond 7e03dcb266 moved field component up to stop rerender 2022-06-21 07:34:22 +01:00
Robert Bond 70ff3a0a1d Merged PR 868: adjusted show hide of maps and reps button
adjusted show hide of maps and reps button

Related work items: #7707
2022-06-16 12:44:06 +00:00
robbond 83661411ee adjusted show hide of maps and reps button 2022-06-16 13:29:06 +01:00
Robert Bond 7164ec2f4a Merged PR 866: Has/cas adverts & lbc appeal updates
Related work items: #7616, #7617, #7629, #7630
2022-06-15 14:37:29 +00:00
robbond 44f2ae222d updates to lbc 2022-06-15 15:34:48 +01:00
robbond 45e11c5713 logic for has or cas 2022-06-15 14:54:59 +01:00
robbond b3ce573c9c welsh trans for validation message 2022-06-14 18:21:47 +01:00
robbond cb9995da75 added hcas diagnostic choice 2022-06-14 17:08:11 +01:00
robbond b588927e20 added changes 2022-06-14 11:39:06 +01:00
Robert Bond 8164aed99b Merged PR 865: update env vars
Related work items: #7708
2022-06-10 10:13:57 +00:00
robbond 47947d82d7 update local env 2022-06-10 11:13:03 +01:00
robbond 58fe6e3eea added in secret env var for prod 2022-06-10 11:12:20 +01:00
Robert Bond 1ea666f863 Merged PR 863: add in start event date and type of event
add in start event date and type of event

Related work items: #7707
2022-06-08 15:31:57 +00:00
robbond 747548f574 add in start event date and type of event 2022-06-08 16:30:59 +01:00
Robert Bond 46a7ddf5db Merged PR 861: added in date field
added in date field

Related work items: #7707
2022-06-08 08:31:42 +00:00
robbond 66cf1bb956 added in date field 2022-06-08 09:30:58 +01:00
Robert Bond ba3f5f51b3 Merged PR 860: check form updates
check form updates

Related work items: #7706
2022-06-07 13:38:25 +00:00
robbond 9d90b7f0a8 check form updates 2022-06-07 14:36:47 +01:00
Robert Bond 3b61d651f6 Merged PR 859: cleared debug, updated new appeal add about you
cleared debug, updated new appeal add about you

Related work items: #7614, #7640
2022-05-31 09:17:02 +00:00
robbond f2e71c0b54 cleared debug, updated new appeal add about you 2022-05-31 10:15:03 +01:00
Robert Bond 55a9a15a57 Merged PR 855: csp fix
csp fix

Related work items: #7639
2022-05-20 07:18:34 +00:00
robbond 786d74e19d csp fix 2022-05-20 08:17:41 +01:00
Robert Bond ea2729b9ae Merged PR 854: My portal amends
Related work items: #7636, #7637, #7638
2022-05-19 11:10:31 +00:00
robbond ffde79bc6a address shown on awaiting submissions 2022-05-19 12:09:26 +01:00
robbond 9e87586fd8 condtional display of blocks 2022-05-19 12:09:03 +01:00
robbond 06f7d44e81 specific appeal types for new appeals 2022-05-19 12:07:56 +01:00
Robert Bond ebdcd630f3 Merged PR 853: Application form updates
Related work items: #7615, #7616, #7617, #7629, #7630, #7634
2022-05-17 08:59:20 +00:00
robbond cba9446837 misc updates for filter and languages 2022-05-17 09:56:42 +01:00
robbond 477ce9c1e3 Update for Adverts 2022-05-17 09:56:16 +01:00
robbond 7d0279b5c9 Update enf 174 2022-05-17 09:56:05 +01:00
robbond 83614e3245 Update for HAS/CAS 2022-05-17 09:55:45 +01:00
robbond cb8247b146 Update for LBC 2022-05-17 09:55:25 +01:00
Robert Bond 008d72c7d7 Merged PR 850: document filter and sort by name
document filter and sort by name

Related work items: #7612
2022-05-09 10:11:30 +00:00
robbond 8c99516213 document filter and sort by name 2022-05-09 11:09:54 +01:00
Robert Bond 05c6844cc1 Merged PR 849: Passwordless auth poc
Related work items: #7608
2022-05-06 09:12:43 +00:00
robbond bcee66568f show/hde map with env variable 2022-05-06 10:10:30 +01:00
robbond 96d14a5165 Merge branch 'Development' into nextauth-and-magic-poc 2022-05-05 15:56:00 +01:00
Robert Bond abc9dbd0cf Merged PR 847: updated store version to 1.1
updated store version to 1.1

Related work items: #7604
2022-05-05 13:19:31 +00:00
robbond 65dd87af2c updated store version to 1.1 2022-05-05 14:16:45 +01:00
Robert Bond b195e6de7c Merged PR 846: edit a partial completed appeal
edit a partial completed appeal

Related work items: #7603
2022-05-05 10:05:06 +00:00
robbond b99512066b edit a partial completed appeal 2022-05-05 11:04:05 +01:00
Robert Bond 20b20f72d3 Merged PR 845: DNS search handle apostrophe
Related work items: #7598
2022-04-26 16:00:38 +00:00
robbond bc200eb421 update actions to fix build warning 2022-04-26 16:59:22 +01:00
robbond 19be69389e apostrophe fix and dns details ordering 2022-04-26 16:08:23 +01:00
robbond fba8529417 timeout redirect updated 2022-04-20 16:09:31 +01:00
robbond 3b1a49e561 updatd logout links and login flow for nextauth 2022-04-19 12:25:13 +01:00
robbond 511a5ed98d custom next auth pages 2022-04-19 12:24:34 +01:00
robbond c8a2988556 added prisma and schema 2022-04-19 12:23:27 +01:00
robbond 67102497f0 interim 2022-04-11 11:07:29 +01:00
robbond 412b7c15b6 initial set up 2022-04-07 16:16:30 +01:00
Robert Bond 1fae028486 Merged PR 842: build fix
Related work items: #6601
2022-04-07 10:48:45 +00:00
robbond bc41924c85 build fix and updated myportal layout 2022-04-07 11:47:25 +01:00
robbond d63d87aa3e build fix 2022-04-07 08:11:40 +01:00
Robert Bond 1410b0bf13 Merged PR 841: added form ordering and validation for s78
added form ordering and validation for s78

Related work items: #6601
2022-04-06 16:04:05 +00:00
robbond 093cba5d70 added form ordering and validation for s78 2022-04-06 16:52:22 +01:00
Robert Bond c485559b22 Merged PR 839: added logic for cas- and dns/ records
added logic for cas- and dns/ records

Related work items: #7569
2022-03-29 08:26:07 +00:00
robbond 707910b037 added logic for cas- and dns/ records 2022-03-29 09:24:20 +01:00
Robert Bond bb06130c97 Merged PR 835: removed baseurl from action getlinkedcases
removed baseurl from action getlinkedcases

Related work items: #7564
2022-03-17 14:55:08 +00:00
robbond 1e8a3268d0 removed baseurl from action getlinkedcases 2022-03-17 14:54:07 +00:00
Robert Bond 73bb640b82 Merged PR 833: logic to show site address as project location
logic to show site address as project location

Related work items: #7562
2022-03-15 14:33:01 +00:00
robbond 2126fa9630 logic to show site address as project location 2022-03-15 14:32:12 +00:00
Robert Bond d786c5b1a6 Merged PR 829: message for no documents
message for no documents

Related work items: #7527
2022-03-04 12:21:19 +00:00
robbond 16a4922d78 message for no documents 2022-03-04 12:20:38 +00:00
Robert Bond 9f70727244 Merged PR 827: Update queries to not use doc history and remove references
Related work items: #7527
2022-03-04 10:32:16 +00:00
robbond 11334e2366 removed references to doc history 2022-03-04 10:31:03 +00:00
robbond b57f6c240d updated query to get new doc details 2022-03-04 10:30:33 +00:00
Robert Bond b6f4f155f6 Merged PR 826: dns searching
dns searching

Related work items: #7525
2022-02-25 12:31:35 +00:00
robbond f123787f1d dns searching 2022-02-25 12:28:47 +00:00
Robert Bond 76cbd66a2f Merged PR 823: build fix
build fix

Related work items: #7514
2022-02-25 09:11:39 +00:00
robbond fbf0f48f7f build fix 2022-02-25 09:10:39 +00:00
Robert Bond b3d4da05a0 Merged PR 822: Pagination fix and DNS url redirects
Related work items: #7514
2022-02-25 08:53:22 +00:00
robbond a78c8f92a8 dns url redirect 2022-02-25 08:51:30 +00:00
robbond 4d2e74514e pagination fix 2022-02-25 08:51:12 +00:00
robbond 2d97d6a1ce dns url redirects to case 2022-02-24 14:38:54 +00:00
Robert Bond eb1f934969 Merged PR 817: remove dns record count
remove dns record count

Related work items: #7489
2022-02-18 16:12:36 +00:00
robbond 1af7b281e6 remove dns record count 2022-02-18 16:11:43 +00:00
Robert Bond dd00eac7f2 Merged PR 814: document link disable
document link disable

Related work items: #7454
2022-02-16 07:18:12 +00:00
robbond f7dd728696 document link disable 2022-02-16 07:17:20 +00:00
Robert Bond bfc4a7f3ab Merged PR 803: removed typo
removed typo

Related work items: #7427
2022-02-11 09:10:55 +00:00
robbond 40a9bbfbab removed typo 2022-02-11 09:05:13 +00:00
Robert Bond c8f688f7b7 Merged PR 802: pagination count fix on change page size
pagination count fix on change page size

Related work items: #7427
2022-02-10 17:07:29 +00:00
robbond d59b59c016 pagination count fix on change page size 2022-02-10 17:06:51 +00:00
Robert Bond 4ae5f93e48 Merged PR 800: fix for drop showing
fix for drop showing

Related work items: #7427
2022-02-10 08:05:19 +00:00
robbond e963d50962 fix for drop showing 2022-02-10 08:04:41 +00:00
Robert Bond 672dbfb896 Merged PR 799: pagination on dns results fix
pagination on dns results fix

Related work items: #7427
2022-02-09 13:50:36 +00:00
robbond 42c0934c2c pagination on dns results fix 2022-02-09 13:49:56 +00:00
Robert Bond d1d86742ef Merged PR 797: adjusted pagination and dropdown
adjusted pagination and dropdown

Related work items: #7424, #7427
2022-02-08 16:40:17 +00:00
robbond 27062717b8 adjusted pagination and dropdown 2022-02-08 16:35:34 +00:00
Robert Bond 7671a6dc5e Merged PR 795: Added upload file form element in new appeal and awaiting submission
Related work items: #6606
2022-02-07 15:36:36 +00:00
robbond 5b9c033406 updated register link 2022-02-07 15:36:02 +00:00
robbond a78c45ce24 added file upload element and icons for file types 2022-02-07 15:18:17 +00:00
robbond 049483ef46 ≈Merge branch 'Development' into 6606-document-upload 2022-02-04 08:26:37 +00:00
Robert Bond de21dd2f78 Merged PR 792: updated the link to t and c
updated the link to t and c

Related work items: #7420
2022-02-03 15:23:35 +00:00
robbond c1a3d41dd8 updated the link to t and c 2022-02-03 15:22:52 +00:00
robbond 5ea7681f77 document upload form 2022-02-03 15:13:00 +00:00
Robert Bond 3639fa3688 Merged PR 785: select number records returned
select number records returned

Related work items: #7407
2022-02-01 11:36:51 +00:00
robbond c932f57bf3 select number records returned 2022-02-01 11:36:14 +00:00
Robert Bond a17385d037 Merged PR 783: column sorting on results
Related work items: #7375
2022-02-01 09:06:36 +00:00
Robert Bond dbe981c630 Merged PR 782: removed spurious character
removed spurious character

Related work items: #7405
2022-01-31 20:15:53 +00:00
robbond aed15f58b1 removed spurious character 2022-01-31 20:15:05 +00:00
robbond 2ec88c995c sorting on documents 2022-01-31 20:11:31 +00:00
robbond 3cecafc380 Merge branch 'Development' into 7375-sort-by-columns 2022-01-31 12:17:35 +00:00
Robert Bond 8537793b7e Merged PR 781: added fetching data when pagination
Related work items: #7401
2022-01-31 12:10:44 +00:00
robbond a22ca31c17 updated language label 2022-01-31 12:08:30 +00:00
robbond 20ef526cb9 updating stage data 2022-01-31 12:01:02 +00:00
robbond a549687c8f added fetching data notice on pagination 2022-01-31 11:47:41 +00:00
Robert Bond 7841ec0cf1 Merged PR 780: fix date displayed
fix date displayed

Related work items: #7387
2022-01-31 07:18:31 +00:00
robbond 36ce3ece8d fix date displayed 2022-01-31 07:17:55 +00:00
Robert Bond e1283fc600 Merged PR 779: adjusted header to fix download
adjusted header to fix download

Related work items: #7387
2022-01-28 19:48:11 +00:00
robbond 6b17681212 adjusted header to fix download 2022-01-28 19:46:31 +00:00
robbond 9d55adb26d added column sort and arrows 2022-01-28 19:35:07 +00:00
robbond 2ac0b0ade4 added in case stage for dns records summary 2022-01-28 10:50:44 +00:00
Robert Bond 4074ed863a Merged PR 775: status up page
status up page

Related work items: #7370
2022-01-27 15:50:21 +00:00
robbond 009ba509db status up page 2022-01-27 15:49:49 +00:00
Robert Bond 02a55ddb52 Merged PR 774: Optimise new appeal form and add description on case summary
Related work items: #7363, #7368
2022-01-27 14:09:33 +00:00
robbond f5c80bb5e7 adjust advanced search for logged in user 2022-01-27 14:02:46 +00:00
robbond cb9bc970b6 allowed display for english only if no welsh 2022-01-27 14:02:09 +00:00
robbond 35bbe95df3 added timeout 2022-01-27 14:01:37 +00:00
robbond 25d4f87add added timeout and code refactor cleanup 2022-01-27 13:20:37 +00:00
robbond d6ce057740 added fs package 2022-01-27 13:18:54 +00:00
robbond 837455a4f5 added description display on summary 2022-01-27 13:17:29 +00:00
robbond 5bece4c53e add description to query 2022-01-27 13:16:30 +00:00
robbond 25ee71d0a9 remove redundant pages 2022-01-27 13:14:12 +00:00
robbond bf5fdb9549 create locla form xml 2022-01-27 13:13:36 +00:00
Robert Bond f98bf1c3d4 Merged PR 770: Remove Basic Auth and add inactivity timeout to logged in pages
Related work items: #7331, #7332
2022-01-26 10:40:34 +00:00
robbond 2f91be126c componentised timeout applied to logged in pages 2022-01-26 10:38:21 +00:00
robbond 28586675d3 removed basic auth for go live 2022-01-26 10:37:38 +00:00
Robert Bond 505d722739 Merged PR 769: allowed partial awaiting submission be submitted
allowed partial awaiting submission be submitted

Related work items: #7323
2022-01-25 13:19:40 +00:00
robbond a636dd549f allowed partial awaiting submission be submitted 2022-01-25 13:19:01 +00:00
Robert Bond 5ffe88e4e3 Merged PR 767: Added service stage status and delete functions
Added service stage status and delete functions

Related work items: #7319
2022-01-25 10:10:40 +00:00
robbond f347a0d73b Added service stage status and delete functions 2022-01-25 10:09:11 +00:00
Robert Bond 10f2baa7be Merged PR 747: removed unused imports & watch case on adv search
removed unused imports & watch case on adv search

Related work items: #7232
2022-01-20 10:33:10 +00:00
robbond f0b69141d4 removed unused imports & watch case on adv search 2022-01-20 10:31:53 +00:00
Robert Bond ab45a5fc77 Merged PR 740: fix a couple of missing fields
fix a couple of missing fields

Related work items: #7213
2022-01-19 09:55:26 +00:00
robbond c1e30fe5f9 fix a couple of missing fields 2022-01-19 09:54:44 +00:00
Robert Bond 55e27a0dfd Merged PR 738: Updated csp and headers
Updated csp and headers

Related work items: #7220
2022-01-18 14:00:42 +00:00
robbond 5af7b78a44 Updated csp and headers 2022-01-18 13:59:44 +00:00
Robert Bond 674dcef43e Merged PR 731: refined queries by case type
refined queries  by case type

Related work items: #7213
2022-01-17 19:07:22 +00:00
robbond 6ae14cb04e refined queries by case type 2022-01-17 19:05:56 +00:00
Robert Bond 04dfa2e7ab Merged PR 728: basic search endppint missing slash
basic search endppint missing slash

Related work items: #7206
2022-01-17 06:50:23 +00:00
robbond 1b2f3d7d4c basic search endppint missing slash 2022-01-17 06:49:41 +00:00
Robert Bond 49f513577c Merged PR 724: updated node libraries to latest versions
updated node libraries to latest versions

Related work items: #7198
2022-01-14 10:10:19 +00:00
robbond a9614918a8 updated node libraries to latest versions 2022-01-14 09:47:26 +00:00
Robert Bond 8c7f310d57 Merged PR 720: remove references to token
remove references to  token

Related work items: #7195
2022-01-13 13:54:56 +00:00
robbond bef5e8abcc remove references to token 2022-01-13 13:54:06 +00:00
Robert Bond af13552717 Merged PR 717: add api_root and removed token calls from methods
add api_root and  removed token calls from methods

Related work items: #7192
2022-01-12 12:12:19 +00:00
robbond d6135a8109 add api_root and removed token calls from methods 2022-01-12 12:10:32 +00:00
Robert Bond 23ba04678f Merged PR 716: removed proxy and added endpoints for methods
removed proxy and added endpoints for methods

Related work items: #7184
2022-01-11 17:55:33 +00:00
robbond 545f1c9b78 removed proxy and added endpoints for methods 2022-01-11 17:51:41 +00:00
Robert Bond b88bbb2696 Merged PR 709: missing welsh breadcrumbs
missing welsh breadcrumbs

Related work items: #7134
2022-01-06 11:41:12 +00:00
robbond 6702854277 missing welsh breadcrumbs 2022-01-06 11:40:25 +00:00
Robert Bond a85a8f4af9 Merged PR 706: updated typo and fix for no web address
updated typo and fix for no webaddress

Related work items: #7110
2022-01-05 10:23:38 +00:00
robbond 2b824fe80d updated typo and fix for no webaddress 2022-01-05 10:22:33 +00:00
Robert Bond 75be655611 Merged PR 695: inactivity styling and time out time
inactivy tyling and time out time

Related work items: #7096
2021-12-21 14:24:30 +00:00
robbond c4ce460627 inactivy tyling and time out time 2021-12-21 14:22:50 +00:00
Robert Bond 80c437f608 Merged PR 684: login error and mutlitlingual login flow
login error and mutlitlingual login flow

Related work items: #6972
2021-12-14 10:32:43 +00:00
robbond a5774534e3 login error and mutlitlingual login flow 2021-12-14 10:31:47 +00:00
Robert Bond c35bed67ef Merged PR 683: update sec headers applied
update sec headers applied

Related work items: #6937
2021-12-13 15:57:27 +00:00
robbond 83080d2652 update sec headers applied 2021-12-13 15:55:10 +00:00
Robert Bond f0da171093 Merged PR 680: replace env variable useage so dyanmic not built
replace env variable useage so dyanmic not built

Related work items: #6938
2021-12-10 16:50:20 +00:00
robbond 94883ddb58 replace env variable useage so dyanmic not built 2021-12-10 16:49:06 +00:00
Robert Bond 9b836bb9bc Merged PR 674: adding debug code
adding debug code

Related work items: #6937
2021-12-10 11:37:56 +00:00
robbond 00e52a3127 adding debug code 2021-12-10 11:36:35 +00:00
Robert Bond b9f03cf207 Merged PR 673: adjsuted font
adjsuted font

Related work items: #6939
2021-12-09 14:22:47 +00:00
robbond 9ff45ba89f adjsuted font 2021-12-09 14:22:01 +00:00
Robert Bond fe1d1bec7d Merged PR 672: Update cookies manager functions and added in Gov Gateway
Related work items: #5255, #6936, #6937, #6938
2021-12-09 13:39:42 +00:00
robbond 0e18aa35b8 updated the cookies functionality 2021-12-09 13:32:15 +00:00
Robert Bond 4764ce7420 Merged PR 666: linked case now link to show them
linked case now link to show them

Related work items: #6909
2021-12-08 09:51:28 +00:00
robbond a8442a43f0 linked case now link to show them 2021-12-08 09:47:10 +00:00
robbond 9c5c35fa4e updates 2021-12-07 15:52:47 +00:00
Robert Bond e1d5ea6870 Merged PR 660: updated mapping
updated mapping

Related work items: #6897
2021-12-07 12:02:15 +00:00
robbond efeff87e50 updated mapping 2021-12-07 11:59:33 +00:00
robbond 4d505603f9 updated validation on advanced search 2021-12-07 11:18:16 +00:00
robbond bcfef0ec91 set logged in from GovGateway Code 2021-12-07 08:14:15 +00:00
robbond 8bf7fd973e Merge branch 'Development' into Gov-gatweay-endpoints-and-methods 2021-12-06 09:54:41 +00:00
Robert Bond 64907412c3 Merged PR 647: updated privacy link
updated privacy link

Related work items: #6855
2021-12-03 10:54:02 +00:00
robbond db1bb7b7ab updated privacy link 2021-12-03 10:53:22 +00:00
Robert Bond 09098d70e7 Merged PR 646: updated accessibility doc and footer link
updated accessibility doc and footer link

Related work items: #6855
2021-12-03 09:21:28 +00:00
robbond 627e0cfc1d updated accessibility doc and footer link 2021-12-03 09:20:06 +00:00
robbond aaa1087d6b adding in gg endpoints and basic methods 2021-12-02 12:50:05 +00:00
Robert Bond 12db998d3b Merged PR 641: updated footer content
Related work items: #6631, #6632, #6756
2021-11-30 15:27:14 +00:00
robbond 9b83157dd2 added in copy 2021-11-30 15:25:43 +00:00
robbond 244cc093c3 added in accessibility content 2021-11-29 17:35:52 +00:00
Robert Bond a157dbe2d3 Merged PR 637: added in debugging for token
added in debugging for token

Related work items: #6805
2021-11-26 16:19:59 +00:00
robbond 6b89701b82 added in debugging for token 2021-11-26 16:19:30 +00:00
Robert Bond 5cb83fb6bd Merged PR 636: updated to remove obsolete token calls
updated to remove obsolete token calls

Related work items: #6804
2021-11-26 14:24:20 +00:00
robbond a626b212d1 updated to remove obsolete token calls 2021-11-26 14:23:20 +00:00
Robert Bond 37218655b4 Merged PR 631: reinstated basic auth
reinstated basic auth

Related work items: #6777
2021-11-25 10:03:11 +00:00
robbond fa4b81c56f reinstated basic auth 2021-11-25 10:02:30 +00:00
Robert Bond fc31b857b2 Merged PR 630: changed url
changed url

Related work items: #6776
2021-11-25 07:43:46 +00:00
robbond ff7c24fe18 changed url 2021-11-25 07:38:59 +00:00
Robert Bond 199aff211e Merged PR 627: updated login and register to use oauth
updated login and register to use oauth

Related work items: #6761
2021-11-24 11:08:03 +00:00
robbond 63d1d3b8cc updating linting for build 2021-11-24 11:07:29 +00:00
robbond 9284a20837 updated login and register to use oauth 2021-11-24 11:03:22 +00:00
Robert Bond b870b84781 Merged PR 626: removed credential request
removed credential request

Related work items: #6760
2021-11-23 20:22:50 +00:00
robbond c652998189 removed credential request 2021-11-23 20:20:43 +00:00
Robert Bond 35369ecfdc Merged PR 621: created t and c page
created t and c page

Related work items: #6742
2021-11-19 08:32:04 +00:00
robbond 56a5b707b6 created t and c page 2021-11-19 08:31:30 +00:00
Robert Bond 8719fbb216 Merged PR 620: updated welsh
Related work items: #6745
2021-11-18 16:54:19 +00:00
robbond 8f285b0250 updated copy and translations 2021-11-18 16:53:37 +00:00
robbond 5a9813e2ea andvanced search trim bug 2021-11-18 16:08:36 +00:00
Robert Bond 19e6f32fa8 Merged PR 619: error on comment removed
error on comment removed

Related work items: #6715
2021-11-18 12:09:20 +00:00
robbond b201e05854 error on comment removed 2021-11-18 12:08:35 +00:00
Robert Bond 7e1925ead0 Merged PR 618: commented out rogue code build fix
commented out rogue code

Related work items: #6715
2021-11-18 11:35:11 +00:00
robbond 549bdb9377 commented out rogue code 2021-11-18 11:34:33 +00:00
Robert Bond a341ba415f Merged PR 617: added oauth authentication removed Shared Access Signature
Related work items: #6715
2021-11-18 11:30:47 +00:00
robbond 201febfa73 implemented oauth removed sas 2021-11-18 11:28:20 +00:00
robbond f798bf89b0 Merge branch 'Development' into 6715-change-sastoken-to-oauth 2021-11-18 10:25:47 +00:00
Robert Bond 110b5538f2 Merged PR 616: hardening changes and UAT tweaks
hardeing changes and UAT tweaks

Related work items: #6740
2021-11-18 10:09:56 +00:00
robbond 8185989768 hardeing changes and UAT tweaks 2021-11-18 10:03:52 +00:00
Robert Bond 1864279990 Merged PR 614: ithc changes and uat fixes
ithc changes and uat fixes

Related work items: #6714, #6737
2021-11-17 11:38:04 +00:00
robbond 4419681ebb ithc changes and uat fixes 2021-11-17 11:31:49 +00:00
Robert Bond fc79f72184 Merged PR 613: build fix
build fix

Related work items: #6718
2021-11-16 19:32:33 +00:00
robbond ea7048037c build fix 2021-11-16 19:31:41 +00:00
Robert Bond 57e50cc153 Merged PR 612: assing hash signature to proxy requests
Related work items: #6718
2021-11-16 19:20:28 +00:00
robbond 831f0497c5 added hardening on documents link 2021-11-16 19:12:03 +00:00
robbond c6d4743f73 hashing proxy 2021-11-16 14:18:59 +00:00
robbond a7d6cf9386 hashing function 2021-11-15 17:07:49 +00:00
robbond 7c9cc31d75 added in oauth fo dev 2021-11-15 14:49:44 +00:00
Robert Bond 67b254306c Merged PR 609: added encrypted document link
added encypted document link

Related work items: #6690
2021-11-12 12:54:28 +00:00
robbond 2dbed4c0ca added encypted document link 2021-11-12 12:53:51 +00:00
Robert Bond 891106bcc9 Merged PR 608: added in basic auth from env variable
added in basic auth from env variable

Related work items: #6689
2021-11-12 12:16:54 +00:00
robbond d96c072bfe added in basic auth from env variable 2021-11-12 12:14:17 +00:00
Robert Bond c0e44c223e Merged PR 607: added ga switch on cookie options
added ga switch on cookie options

Related work items: #6682
2021-11-12 11:42:54 +00:00
robbond 1971208aa0 added ga switch on cookie options 2021-11-12 11:40:54 +00:00
Robert Bond b2aa7a0228 Merged PR 606: cookie policy defects missing logo
cookie policy defects missing logo

Related work items: #6652
2021-11-11 11:11:31 +00:00
robbond 9ba0bf51d3 cookie policy defects missing logo 2021-11-11 11:10:44 +00:00
Robert Bond 6ade9a4307 Merged PR 605: representations for logged in user and cookie policy
Related work items: #6630, #6652
2021-11-11 10:53:28 +00:00
robbond 9d54b0cd2d updated cookie manger added cookie policy 2021-11-11 10:51:04 +00:00
robbond f7f474dfd2 Merge branch 'Development' into 6607-add-representations-to-a-case-logged-in 2021-11-10 09:35:45 +00:00
Robert Bond cfef712adf Merged PR 602: created pages and gel amends
created pages and gel ammends

Related work items: #6628, #6629, #6630
2021-11-10 08:54:55 +00:00
robbond a7bfa8d877 created pages and gel ammends 2021-11-10 08:54:01 +00:00
robbond d357ffe0a1 Merge branch 'Development' into 6607-add-representations-to-a-case-logged-in 2021-11-09 17:11:02 +00:00
Robert Bond ded253fd48 Merged PR 601: commented out spinner function
commented out spinner function

Related work items: #6627
2021-11-09 16:06:24 +00:00
robert.bond@test.gov.wales ca9b56d210 commented out spinner function 2021-11-09 16:05:36 +00:00
robbond 5fef09f76a added display of representatons on my portal 2021-11-09 15:19:52 +00:00
Robert Bond 05373eab2f Merged PR 587: added environment variable switch for login
added environement variable switch for login

Related work items: #6574
2021-11-05 11:17:57 +00:00
robbond cf429bb1cc added environement variable switch for login 2021-11-05 11:17:11 +00:00
Robert Bond 9a90f7e415 Merged PR 583: updated as per gel spot check 3
updated as per gel spot check 3

Related work items: #6565
2021-11-04 16:33:40 +00:00
robbond 7f5fa55057 updated as per gel spot check 3 2021-11-04 16:32:50 +00:00
Robert Bond 9d1508fd99 Merged PR 581: watched case and stop wathcing case added
watched case and stop wathcing case added

Related work items: #5870, #5871, #6524, #6549
2021-11-04 12:18:48 +00:00
robbond 449b089aba watched case and stop wathcing case added 2021-11-04 12:03:01 +00:00
Robert Bond 3283b92138 Merged PR 579: update create appeal and pinsuser cookie
update create appeal and pinsuser cookie

Related work items: #6536
2021-11-02 11:40:48 +00:00
robbond b790228454 update create appeal and pinsuser cookie 2021-11-02 11:40:11 +00:00
Robert Bond 80860d68a9 Merged PR 578: edit user details and update password
update user and password

Related work items: #6525, #5874
2021-11-01 14:57:35 +00:00
robbond 9232d073e3 update user and password 2021-11-01 14:56:19 +00:00
Robert Bond 5c422726ef Merged PR 576: look upfix
look upfix

Related work items: #6528
2021-11-01 10:47:50 +00:00
robbond 46020911de look upfix 2021-11-01 10:46:45 +00:00
Robert Bond c0a5236d6a Merged PR 571: updated drop downs
updated drop downs

Related work items: #6498
2021-10-29 15:30:31 +00:00
robbond c1448b6ff6 updated drop downs 2021-10-29 16:29:04 +01:00
Robert Bond 73d98d2097 Merged PR 563: updated query to remove ldp and misc types
updated query to remove ldp and misc types

Related work items: #6501
2021-10-28 16:00:37 +00:00
robbond 691421052c updated query to remove ldp and misc types 2021-10-28 16:59:51 +01:00
Robert Bond 610a7cb15d Merged PR 559: fixed empty project description
fixed empty project description

Related work items: #6479
2021-10-27 10:59:26 +00:00
robbond aa3fbb10cf fixed empty project description 2021-10-27 11:47:19 +01:00
Robert Bond 5106cc918b Merged PR 557: field mappings
Related work items: #6479
2021-10-27 06:27:18 +00:00
Robert Bond 199b5ca03a Merged PR 556: adjsuted appeal type specific fields
adjsuted appeal type specific fields

Related work items: #6479
2021-10-26 18:50:44 +00:00
robbond 424cb07b35 adjsuted appeal type specific fields 2021-10-26 19:49:58 +01:00
Robert Bond 710a6f944d Merged PR 553: mappings for appeal types on summary screen
Related work items: #6479
2021-10-26 12:08:22 +00:00
Robert Bond c6a08efd13 Merged PR 552: mapping fields for case type
mapping fields for case type

Related work items: #6479
2021-10-26 11:56:55 +00:00
robbond db49898e91 mapping fields for case type 2021-10-26 12:56:21 +01:00
Robert Bond 70793d6024 Merged PR 548: gel update and welsh translations
Related work items: #6473, #6477
2021-10-25 15:49:28 +00:00
Robert Bond 3da35dcf9b Merged PR 546: added in welsh translations and spot check 2
added in welsh translations and spot check 2

Related work items: #6473, #6477
2021-10-25 15:32:26 +00:00
robbond 6a1ee7a5d3 added in welsh translations and spot check 2 2021-10-25 16:29:36 +01:00
Robert Bond 9bb36f69a0 Merged PR 535: document pagination and refactor
Related work items: #6312, #6439
2021-10-22 12:25:41 +00:00
Robert Bond 7d0ccf481d Merged PR 534: pagination for documents seo head meta refactor
pagination for documents seo head meta refactor

Related work items: #6312, #6439
2021-10-22 12:24:45 +00:00
robbond 346cefd1bb pagination for documents seo head meta refactor 2021-10-22 13:23:38 +01:00
Robert Bond a8af68bf78 Merged PR 522: dns fix
Related work items: #6388
2021-10-20 11:14:29 +00:00
Robert Bond c388aec21f Merged PR 521: added dns fix
added dns fix

Related work items: #6388
2021-10-20 09:21:52 +00:00
robbond e7b00c9fe5 added dns fix 2021-10-20 10:21:05 +01:00
Robert Bond 2008ff603c Merged PR 520: dev domain welsh version
dev domain welsh version

Related work items: #6388
2021-10-20 08:23:58 +00:00
robbond dd32ae2432 dev domain welsh version 2021-10-20 09:23:10 +01:00
Robert Bond b8acb34ec4 Merged PR 519: pagination push for better UX and data stability
Related work items: #6364
2021-10-19 15:34:43 +00:00
Robert Bond 122ac922c7 Merged PR 518: added in pagination for search result requests
added in pagination for search result requests

Related work items: #6364
2021-10-19 15:29:18 +00:00
robbond 081321452f added in pagination for search result requests 2021-10-19 16:27:24 +01:00
Robert Bond ba50389d63 Merged PR 517: added GTM tag - push to environments
Related work items: #6356
2021-10-15 15:12:11 +00:00
Robert Bond 624a6cc9a9 Merged PR 516: added tracking snippet with env variable
added tracking snippet with env variable

Related work items: #6356
2021-10-15 15:11:10 +00:00
robbond 74b7a15c8e added tracking snippet with env variable 2021-10-15 15:59:06 +01:00
Robert Bond eda7961f92 Merged PR 514: updated with copy amends
Related work items: #6327
2021-10-15 09:18:57 +00:00
Robert Bond 1dc5a8563a Merged PR 513: copy amends
Related work items: #6327
2021-10-15 09:03:48 +00:00
robbond 4e6c8789f0 fix copy error 2021-10-15 10:02:59 +01:00
robbond e1a6f60bf4 added copy changes 2021-10-15 10:01:33 +01:00
Robert Bond b2c82c3343 Merged PR 511: cookie management as per GEL spot check
Related work items: #6302
2021-10-14 18:38:05 +00:00
Robert Bond 86e02ac750 Merged PR 510: add cookie consent manger & updated cookie banner
add cookie consent manger & updated cookie banner

Related work items: #6302
2021-10-14 18:37:07 +00:00
robbond aaaf889139 add cookie consent manger & updated cookie banner 2021-10-14 19:35:32 +01:00
Robert Bond 5f508fa38e Merged PR 505: pushed to test
Related work items: #5875, #6300
2021-10-14 06:03:48 +00:00
Robert Bond 54405e6943 Merged PR 503: added create contact flow for registration
added create contact flow for registration

Related work items: #5875
2021-10-13 06:42:14 +00:00
robbond b34c56145d added create contact flow for registration 2021-10-13 07:40:36 +01:00
Robert Bond 7238a79895 Merged PR 501: defects for mappin of date fields
defects for mappin of date fields

Related work items: #6300
2021-10-08 10:57:02 +00:00
robbond 76422f01df defects for mappin of date fields 2021-10-08 11:56:12 +01:00
Robert Bond fc6abd978a Merged PR 500: download link with filename from api
download link with filename from api

Related work items: #6300
2021-10-08 10:11:36 +00:00
robbond e19efb8b62 download link with filename from api 2021-10-08 11:10:15 +01:00
Robert Bond 7780d9007d Merged PR 499: update translation labels for case details page
Related work items: #5877
2021-10-08 07:17:19 +00:00
Robert Bond ab62e339aa Merged PR 498: updated translations for dcuments lsit on case details
updated translations for dcuments lsit on case details

Related work items: #5877
2021-10-08 07:13:26 +00:00
robbond b233f42f31 updated translations for dcuments lsit on case details 2021-10-08 08:09:49 +01:00
Robert Bond cd488801c9 Merged PR 497: updated with GEL sport check
Related work items: #5876, #5877, #6296
2021-10-07 14:53:29 +00:00
Robert Bond b5f3432da2 Merged PR 496: gel fixes in line with spot check
Related work items: #6296
2021-10-07 14:43:21 +00:00
robbond 11928e35b9 build fixes 2021-10-07 15:34:22 +01:00
robbond 59f7d95f88 GEL defect and ui changes 2021-10-07 14:47:17 +01:00
Robert Bond dbaa797034 Merged PR 495: Translations lookup applied to forms
Related work items: #5876, #5877
2021-10-07 06:33:14 +00:00
robbond 873a7730f1 added translation lookups for appeal forms 2021-10-07 07:30:46 +01:00
robbond 8714d71189 fomrs split out 2021-10-05 09:47:57 +01:00
Robert Bond b13a3cb9a3 Merged PR 492: translations deployment to environments
Related work items: #6240, #6268, #6270
2021-10-04 07:01:12 +00:00
Robert Bond 2ace28aa40 Merged PR 491: updated translations for lpas
updated translations for lpas

Related work items: #6270
2021-10-01 10:09:24 +00:00
robbond c061650fe4 updated translations for lpas 2021-10-01 11:08:24 +01:00
Robert Bond bea8579ef6 Merged PR 490: logic to let child cases be shown in case details
logic to let child cases be shown in case details

Related work items: #6270
2021-09-30 16:12:08 +00:00
robbond 4a7245db20 logic to let child cases be shown in case details 2021-09-30 17:11:33 +01:00
Robert Bond 0a5e756bb2 Merged PR 489: updated dropdown search with translations
updated dropdown search with translations

Related work items: #6268
2021-09-30 10:56:22 +00:00
robbond d05caec63c updated dropdown search with translations 2021-09-30 11:55:30 +01:00
Robert Bond 13833930fe Merged PR 488: added error handling for relay down
added error handling for relay down

Related work items: #6240
2021-09-30 09:20:21 +00:00
robbond 066612adbd added error handling for relay down 2021-09-30 10:19:41 +01:00
Robert Bond 00a15e45f2 Merged PR 487: update defects
Related work items: #6256
2021-09-29 16:13:12 +00:00
Robert Bond 7b741b656f Merged PR 486: update translations and proxy page config
Related work items: #6256
2021-09-29 15:49:05 +00:00
robbond c2aea1e9d8 updated language fix and proxy config 2021-09-29 16:45:56 +01:00
robbond bca85d36bc defect fixes 2021-09-29 14:16:58 +01:00
Robert Bond 8b8076c097 Merged PR 484: Update with latest dev
Related work items: #6253, #6256
2021-09-28 16:21:17 +00:00
Robert Bond 52f96652ec Merged PR 483: defect 7 - case refresh error
defect 7  - case refresh error

Related work items: #6256
2021-09-28 15:58:39 +00:00
robbond dd18dd7ce4 defect 7 - case refresh error 2021-09-28 16:57:05 +01:00
Robert Bond c51029f0e4 Merged PR 481: language routing
language routing

Related work items: #6253
2021-09-28 12:37:27 +00:00
robbond 5f9d239b50 language routing 2021-09-28 13:36:19 +01:00
Robert Bond 306b2d1862 Merged PR 479: Updates for dates, LPA and docs
Related work items: #6209, #6239, #6248
2021-09-27 15:59:00 +00:00
Robert Bond 475c9715fc Merged PR 477: updated the documents query and display
updated the documents query and display

Related work items: #6248
2021-09-27 15:47:45 +00:00
robbond 27915a523d updated the documents query and display 2021-09-27 16:46:39 +01:00
Robert Bond 0c2c0ebfb4 Merged PR 474: added in case docs and only published CRM records
added in documents for case and onlu published

Related work items: #6209, #6239
2021-09-24 14:33:31 +00:00
robbond 287da16b8a added in documents for case and onlu published 2021-09-24 15:31:08 +01:00
Robert Bond 23d211c45a Merged PR 467: fix compile bug
Related work items: #6209
2021-09-23 14:24:11 +00:00
Robert Bond eaf41f3d8f Merged PR 466: fixed compile bug
fixed compile bug

Related work items: #6209
2021-09-23 14:22:31 +00:00
robbond a8df1d1746 fixed compile bug 2021-09-23 15:21:53 +01:00
Robert Bond 833de3a2cf Merged PR 465: update spinner on searches
Related work items: #6209
2021-09-23 14:20:12 +00:00
Robert Bond 6e120c2984 Merged PR 464: added spinner to advanced search
added spinner to advanced search

Related work items: #6209
2021-09-23 14:15:03 +00:00
robbond fb27d72ed3 added spinner to advanced search 2021-09-23 15:14:20 +01:00
Robert Bond 5ae1368c49 Merged PR 462: Deployed debug stuff to test
Related work items: #6209
2021-09-23 09:11:07 +00:00
Robert Bond 36aec3946b Merged PR 461: updated token call for debug
updated token call for debug

Related work items: #6209
2021-09-23 08:20:56 +00:00
robbond 90e8bf9856 updated token call for debug 2021-09-23 09:20:09 +01:00
Robert Bond 25e88b264e Merged PR 460: debug for environments deployement
debug for environments deployement

Related work items: #6209
2021-09-23 06:10:54 +00:00
robbond 9557ae6695 debug for environments deployement 2021-09-23 07:09:51 +01:00
Robert Bond 2056ff798c Merged PR 459: advances search on case lpa and appeal
advances search on case lpa and appeal

Related work items: #6209
2021-09-22 15:02:51 +00:00
robbond 5fa1c4a03f advances search on case lpa and appeal 2021-09-22 15:59:34 +01:00
Robert Bond 1123a4c7f1 Merged PR 456: Deployment to test
Related work items: #6211, #6212
2021-09-21 12:43:00 +00:00
Robert Bond 18030111b0 Merged PR 454: DNS specific results and details
Related work items: #6212
2021-09-21 11:05:12 +00:00
robbond 7ea15998dc commented out login module 2021-09-21 12:04:24 +01:00
robbond c2ac1b1a1b added dns query included results and details 2021-09-21 12:03:29 +01:00
Robert Bond 28abc6876a Merged PR 453: Added translations lookups for case details and search results
Related work items: #6211
2021-09-21 09:17:43 +00:00
robbond 597a0a91d1 added in welsh translations for crm values 2021-09-21 10:16:27 +01:00
robert.bond@test.gov.wales 461f7c4725 initial lookup translations 2021-09-20 16:31:55 +01:00
Robert Bond f99bf3583e Merged PR 451: Split Search to deploy to test
Related work items: #5868
2021-09-20 13:08:16 +00:00
Robert Bond a59a2f4fcd Merged PR 450: added login soon box and updated translations
added login soon box and updated translations

Related work items: #6208
2021-09-20 12:33:32 +00:00
robert.bond@test.gov.wales 7044497f08 added login soon box and updated translations 2021-09-20 13:32:24 +01:00
Robert Bond 37edfdc916 Merged PR 449: updated query for my cases and long appealtypes
updated query for my cases and long appealtypes

Related work items: #5868
2021-09-20 09:10:11 +00:00
robert.bond@test.gov.wales a9a8670691 updated query for my cases and long appealtypes 2021-09-20 10:07:32 +01:00
Robert Bond c9fdef5624 Merged PR 439: my cases portal module by loggedin user
my cases portal module by loggedin user

Related work items: #5868
2021-09-17 15:38:05 +00:00
robert.bond@test.gov.wales c96a72f124 my cases portal module by loggedin user 2021-09-17 16:37:06 +01:00
Robert Bond 219e6a4744 Merged PR 437: update proxy for get - update appeal record data
update proxy for get - update appeal record data

Related work items: #5867
2021-09-15 15:48:56 +00:00
robert.bond@test.gov.wales 6ad60b990b update proxy for get - update appeal record data 2021-09-15 16:43:17 +01:00
Robert Bond 2c4638f319 Merged PR 434: build fixes
fixed some build issues stopping deployment

Related work items: #5860
2021-09-14 14:06:37 +00:00
robbond bb38c6d001 fixed some build issues stopping deployment 2021-09-14 15:05:11 +01:00
Robert Bond 8eb0e97d6e Merged PR 433: Test Deployment using Azure relays
Related work items: #5860
2021-09-14 13:39:01 +00:00
robert.bond@test.gov.wales 1a1ad02fcf added proxy updting case to avoid cors and be SSR 2021-09-14 14:36:26 +01:00
robert.bond@test.gov.wales 855b8b1bd9 updated header on create case 2021-09-14 12:32:21 +01:00
robert.bond@test.gov.wales b7815c112e appeal update case 2021-09-14 12:23:43 +01:00
robert.bond@test.gov.wales 1208848d82 updating form to show case ref 2021-09-14 07:58:27 +01:00
robert.bond@test.gov.wales 84f75c9db8 added sas token authorization for azure relay 2021-09-13 11:43:29 +01:00
robert.bond@test.gov.wales 62066285cb updated dns and create case queries 2021-09-10 16:35:23 +01:00
robert.bond@test.gov.wales b12b5ef64b create incident record in new appeal 2021-09-09 12:29:18 +01:00
robert.bond@test.gov.wales 2825ab5a7d forms to include FE facing only 2021-09-08 12:34:40 +01:00
robert.bond@test.gov.wales 991d067091 search results and case summary page 2021-09-08 10:03:33 +01:00
robert.bond@test.gov.wales 8e8797418a added crm driven form via oauth 2021-09-07 12:46:59 +01:00
Gary Trembath 7b75586a55 Merged PR 420: commit dev branch to testing
Related work items: #5246, #5247, #5248, #5249, #5270, #5271, #5281, #5529
2021-09-01 16:22:50 +00:00
Robert Bond 9e13a9e7c8 Merged PR 417: translations roll up for dns
Related work items: #5247
2021-08-31 08:15:59 +00:00
robbond 573c2cf8a0 roll up dns changes translations 2021-08-31 09:12:57 +01:00
Robert Bond 5821804d42 Merged PR 397: added autocomplete search
added autocomplete search

Related work items: #5247
2021-08-11 13:29:26 +00:00
robbond 27a5c0da29 added autocomplete search 2021-08-11 14:28:51 +01:00
Robert Bond f293a53755 Merged PR 396: Static Record view for dns
added dns record view with tabs

Related work items: #5249
2021-08-10 16:18:42 +00:00
robbond b96aa3acbe added dns record view with tabs 2021-08-10 17:17:39 +01:00
Robert Bond 259d1e0d88 Merged PR 395: created base static flow pages
Related work items: #5246, #5248, #5529
2021-08-09 15:35:59 +00:00
robbond edb3a06076 added dns landing page and others 2021-08-09 16:34:04 +01:00
Robert Bond aa0ccef280 Merged PR 393: base flow for representations
base flow for representations

Related work items: #5281
2021-08-09 09:18:30 +00:00
robbond b3fe6bf5f5 base flow for representations 2021-08-09 10:16:54 +01:00
Robert Bond f9f36bd065 Merged PR 389: compile error
Related work items: #5270
2021-08-02 15:37:53 +00:00
robbond 45452aa037 tidyup 2021-08-02 16:34:48 +01:00
robbond 77f02c0ebd fixed compile error 2021-08-02 16:33:55 +01:00
Robert Bond 769ee0a37c Merged PR 388: Case view from mock api
Related work items: #5281
2021-08-02 15:30:31 +00:00
robbond 7ce4460b47 added mock call for case view 2021-08-02 16:29:13 +01:00
Robert Bond 9bbd0aa741 Merged PR 387: Api content for portal page modules
Related work items: #5270
2021-07-30 13:26:24 +00:00
robbond 9e9a168460 wrapped calls in promise all 2021-07-30 14:24:22 +01:00
Gary Trembath d62b1bfa3a Merged PR 386: first commit to testing
Related work items: #5123, #5124, #5125, #5127, #5128, #5129, #5158, #5159, #5160, #5173, #5176, #5177, #5185, #5193, #5194, #5197, #5199, #5200, #5201, #5202, #5203, #5204, #5205, #5206, #5208, #5209, #5210, #5211, #5212, #5226, #5231, #5242, #5253, #5257, #5265, #5270
2021-07-30 09:31:41 +00:00
Robert Bond 2e68780251 Merged PR 385: Added mock api calls and view all
Related work items: #5270
2021-07-29 13:47:27 +00:00
robbond 2b14eaaf1f add mock api calls for modules viewall component 2021-07-29 14:46:09 +01:00
Robert Bond 24e53c05ba Merged PR 384: bug fix
Related work items: #5253
2021-07-28 14:51:51 +00:00
robbond 777df3f907 mobile fixes 2021-07-28 15:29:20 +01:00
Robert Bond 8afb768c9f Merged PR 383: Registration flow
Related work items: #5253
2021-07-27 15:52:56 +00:00
robbond 3a88b18f85 added logout status 404 page and registraiton pages 2021-07-27 16:50:57 +01:00
Robert Bond 6520b761bd Merged PR 382: added mobile header nav
Related work items: #5265
2021-07-27 09:36:02 +00:00
robbond 975a45392b added header mobile nav 2021-07-27 10:33:09 +01:00
robbond ead2987c65 added in initial user flow screens 2021-07-26 16:57:28 +01:00
Gary Trembath d743161283 Merged PR 381: remove lock files
Related work items: #5257
2021-07-26 12:09:37 +00:00
Robert Bond 8bc839c63e Merged PR 380: added validation and updated git ignore
Related work items: #5210, #5242
2021-07-23 13:34:23 +00:00
robbond be476394c8 added validation methods 2021-07-23 14:32:57 +01:00
Gary Trembath faca103b0f Deleted yarn.lock 2021-07-22 16:38:13 +00:00
Gary Trembath fdf6f66d26 Deleted package-lock.json 2021-07-22 16:05:23 +00:00
Robert Bond 7da38a4463 Merged PR 376: added api root for client side actions
Related work items: #5231
2021-07-21 14:21:13 +00:00
robbond 50998612f1 changes to pass api_root when client side action 2021-07-21 15:20:06 +01:00
Robert Bond 54f9ec43a6 Merged PR 375: updated port variable
Related work items: #5231
2021-07-21 11:21:04 +00:00
robbond ea56f9e228 update port checking on prod 2021-07-21 12:20:06 +01:00
Robert Bond 8c3c4f23d0 Merged PR 374: issue with port number removed
Related work items: #5231
2021-07-21 09:38:21 +00:00
robbond 3268cca452 removed port 2021-07-21 10:36:49 +01:00
Robert Bond 12d8faf91a Merged PR 373: Passing a Ref number through form & shows progress
Related work items: #5208
2021-07-20 15:47:51 +00:00
robbond 1e81f1c97e passing a ref api through form and update progress 2021-07-20 16:46:14 +01:00
robert ff9f2d87c9 added case number example 2021-07-20 12:04:49 +01:00
robbond 4c31728322 add methods and store for case reference 2021-07-20 11:26:25 +01:00
Robert Bond 0d9015d772 Merged PR 372: added back missing files
added back missing files

Related work items: #5231
2021-07-19 20:52:27 +00:00
robbond de84da00c2 added back missing files 2021-07-19 21:49:14 +01:00
Robert Bond 016c960720 Merged PR 368: update build config
update build config

Related work items: #5226
2021-07-16 12:46:00 +00:00
robbond c318891b56 update build config 2021-07-16 13:44:59 +01:00
Robert Bond 9cba282d73 Merged PR 367: updated deployment config
Related work items: #5226
2021-07-16 10:26:35 +00:00
robbond 4e8c34de91 udpdated build config 2021-07-16 11:25:09 +01:00
Robert Bond bf5374a185 Merged PR 366: added check answer summary & complete appeal step
added check answer summary & complete appeal step

Related work items: #5211, #5226
2021-07-16 09:07:06 +00:00
robbond 7711d32ab8 added check answer summary & complete appeal step 2021-07-16 10:02:25 +01:00
Robert Bond 4b81d694da Merged PR 362: update base url from app settings
update base url from app settings

Related work items: #5200
2021-07-14 18:01:21 +00:00
robbond b27e0ea524 update base url from app settings 2021-07-14 18:59:38 +01:00
Robert Bond 89d94aa850 Merged PR 361: added default list views for myportal linked cases
added default list views for myportal linked cases

Related work items: #5199, #5200, #5201, #5202, #5203, #5204, #5205, #5206
2021-07-14 16:01:14 +00:00
robbond 42a9d51ed2 added default list views for myportal linked cases 2021-07-14 16:57:18 +01:00
Robert Bond d3beb33a41 Merged PR 360: added in right hand nav and titles to store
added in right hand nav and titles to store

Related work items: #5209
2021-07-14 11:21:21 +00:00
robbond eab46701e3 added in right hand nav and titles to store 2021-07-14 12:17:45 +01:00
Robert Bond f5a0ec2021 Merged PR 358: Updated package.json
Updated package.json

Related work items: #5212
2021-07-13 08:37:17 +00:00
Robert Bond fc2cbd4b5b Updated package.json 2021-07-13 08:36:54 +00:00
Robert Bond 091ee93278 Merged PR 357: changed filter to exclude node and git folders
changed filter to exclude node and git folders

Related work items: #5212
2021-07-12 15:41:47 +00:00
robbond bc7239d3d7 changed filter to exclude node and git folders 2021-07-12 16:39:13 +01:00
Robert Bond 54e07aea6c Merged PR 356: update contents to be copied
update contents to be copied

Related work items: #5212
2021-07-12 15:30:53 +00:00
robbond b1dceaee0a update contents to be copied 2021-07-12 16:30:09 +01:00
Robert Bond f4f180cc3f Merged PR 355: added redux store for form elements
added redux store for form elements

Related work items: #5212
2021-07-12 13:45:07 +00:00
robbond a555276c86 added redux store for form elements 2021-07-12 14:44:08 +01:00
Robert Bond c0fb7263d5 Merged PR 353: Update azure-pipelines.yml for Azure Pipelines
Related work items: #5197
2021-07-09 14:26:09 +00:00
Robert Bond 371e9ab335 Update azure-pipelines.yml for Azure Pipelines 2021-07-09 14:24:07 +00:00
Robert Bond 1ca755f10c Merged PR 352: added server.js
added server.js

Related work items: #5194
2021-07-09 12:09:56 +00:00
robbond 20b0fb51fb added server.js 2021-07-09 13:06:51 +01:00
Robert BondandGary Trembath ac67925ce3 Merged PR 341: Set up CI with Azure Pipelines
Related work items: #5193
2021-07-09 11:14:13 +00:00
Robert Bond f4e697fcaf Merged PR 351: added in lookup mocks
added in lookup mocks

Related work items: #5185
2021-07-09 10:49:22 +00:00
robbond 83441496c7 added in lookup mocks 2021-07-09 11:48:51 +01:00
Robert Bond 1c0faf24ef Merged PR 350: Created basic dynamic form builder and pagination
Related work items: #5177
2021-07-09 06:51:17 +00:00
robbond f0ceec1b88 added form progress indication 2021-07-08 17:59:40 +01:00
robbond e52dc6f52f pagination between sections 2021-07-08 17:17:12 +01:00
Gary Trembath fb18ffe2aa Update azure-pipelines.yml for Azure Pipelines 2021-07-08 15:33:35 +00:00
Gary Trembath 92784ac7a2 Update azure-pipelines.yml for Azure Pipelines 2021-07-08 15:30:36 +00:00
Gary Trembath f6b685204c Update azure-pipelines.yml for Azure Pipelines 2021-07-08 15:22:52 +00:00
robbond 878940a6d5 initial dynamic forms 2021-07-08 16:22:12 +01:00
Gary Trembath 289a0eda58 Update azure-pipelines.yml for Azure Pipelines 2021-07-08 15:18:56 +00:00
robert b335c11e6b added appeal case type lookup mock 2021-07-08 09:34:45 +01:00
robert 020796916e added picklist mocks and form mocks 2021-07-07 17:00:53 +01:00
robbond c1e69c945f updated api mocks and new appeal pages 2021-07-07 12:53:07 +01:00
robert 6fe41c209e and incident data mock 2021-07-06 13:30:21 +01:00
Robert Bond 731e86b6a7 Merged PR 349: Create basic search and search results screen
Related work items: #5176
2021-07-06 11:40:45 +00:00
robert 2c716ff5c5 added some mocked data calls 2021-07-06 12:27:18 +01:00
robert 5f7a572b91 added in basic api request 2021-07-05 11:43:51 +01:00
robbond aeaa1502c3 added in post data flow 2021-07-05 08:29:38 +01:00
Robert Bond 7912f8a46a Merged PR 342: Update ui framework for Gov.Wales standards
Related work items: #5173
2021-07-02 12:12:28 +00:00
robbond 66744b5974 added linter 2021-07-02 13:07:43 +01:00
Robert Bond 2b6fdfef6f Set up CI with Azure Pipelines
[skip ci]
2021-07-02 11:38:54 +00:00
robbond a350c45100 applied variables and buttons styles 2021-07-02 12:19:54 +01:00
Robert Bond 2a9fb1a364 Merged PR 339: Update translation package and dom errors
Related work items: #5160
2021-07-01 14:16:00 +00:00
robert 87f68b6b8a updated translation component and dom issues 2021-07-01 15:07:46 +01:00
Robert Bond 288ae54bd7 Merged PR 338: updated installation readme 2
updated installation readme 2

Related work items: #5159
2021-07-01 12:09:28 +00:00
robbond dd0581d91c updated installation readme 2 2021-07-01 13:07:26 +01:00
Robert Bond e434df7dec Added applicant.json 2021-07-01 09:02:01 +00:00
Robert Bond b38e4bc4c8 Added lpa.json 2021-07-01 08:57:20 +00:00
Robert Bond 3344c9df1e Merged PR 337: Added case summary and documents page
Added case summary and documents page

Related work items: #5129, #5158
2021-06-30 14:40:58 +00:00
robbond a84845f81b Added case summary and documents page 2021-06-30 15:39:33 +01:00
Robert Bond 7fedb33228 Merged PR 336: Added search and results mocks
Added search and results mocks

Related work items: #5128
2021-06-30 10:49:53 +00:00
robbond 0158b60cd3 update with language resources 2021-06-30 11:49:09 +01:00
robbond b488caa013 Added search and results mocks 2021-06-29 16:35:11 +01:00
Robert BondandGary Trembath 1c70a8086c Merged PR 333: initial commit
initial commit

Related work items: #5123, #5124, #5125
2021-06-29 12:01:48 +00:00
Gary Trembath 755c6e0d5f Merged PR 334: Updated README.md
Updated README.md

Related work items: #5127
2021-06-29 12:00:05 +00:00
Gary Trembath 0999677c9e Updated README.md 2021-06-29 11:56:31 +00:00
robbond c712d41599 initial commit 2021-06-28 16:36:49 +01:00
Gary Trembath 992d88a6c8 Added README.md 2021-06-24 12:39:40 +00:00
518 changed files with 234403 additions and 14530 deletions
+131
View File
@@ -0,0 +1,131 @@
ACCESS_TOKEN_ENDPOINT = https://login.microsoftonline.com/
//ESNR Tenant
TENANT = a8d860de-d5e1-45af-8376-d93f02e6b502
//WGO Tenant
//TENANT = 9ac1a5ab-cd58-409e-a1b6-6b10422a68f5
GRANT_TYPE = "client_credentials"
HASHKEY = 028ffbae928d7191c0017f298260995f901d78eabde1436c0af0423459cc3715832136d84f68818d3a96399467b52143e273d4f3bf4ae190848891535421cd6c
NEXT_PUBLIC_HASHKEY = 028ffbae928d7191c0017f298260995f901d78eabde1436c0af0423459cc3715832136d84f68818d3a96399467b52143e273d4f3bf4ae190848891535421cd6c
//Dev oauth ESNR
CLIENT_ID = e082def0-3453-461f-9a5e-f4ab127dc015
CLIENT_SECRET = qW.7Q~TSr3sZmLEnJQJPXEdOckb_yo2t1yJmY
RELAY_ROOT = https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/
RELAYURI = "dev-pedw-ns.servicebus.windows.net"
RELAYPATH = "dev-pedw-hc"
//Test Oauth ESNR
//CLIENT_ID = 6619ad85-c908-490d-811b-de8c93c0f2aa
//CLIENT_SECRET = qKo7Q~5QvLEplbwnBbint_I5lXqx_-kDm8Vj-
//RELAY_ROOT = https://test-pedw-ns.servicebus.windows.net/test-pedw-hc/
//RELAYURI = "test-pedw-ns.servicebus.windows.net"
//RELAYPATH = "test-pedw-hc"
//Preprod Oauth WGO
//CLIENT_ID = ab6c4678-b31a-4eb3-b429-e039120e488a
//CLIENT_SECRET = Ioo7Q~RJfhWsE45wPsuHm1CzRk1SppnNN3lZF
//RELAY_ROOT = https://pp-pedw-ns.servicebus.windows.net/pp-pedw-hc/
//RELAYURI = "pp-pedw-ns.servicebus.windows.net"
//RELAYPATH = "pp-pedw-hc"
//Prod Oauth WGO
//CLIENT_ID = 3e4141a3-1fbd-454e-98f0-7f3a4f14a3cc
//CLIENT_SECRET = mJN7Q~lFu.xFGa5KCc.zwIm_fJAWxajyQaFo~
//RELAY_ROOT = https://prod-pedw-ns.servicebus.windows.net/prod-pedw-hc/
//RELAYURI = "prod-pedw-ns.servicebus.windows.net"
//RELAYPATH = "prod-pedw-hc"
GOOGLE_TAG_MANAGER = GTM-T78CBC3
SHOWLOGIN = "true"
SHOWREPRESENTATIONS = false
SHOWFILEUPLOAD = "false"
SHOWMAPS = "true"
//BASIC_AUTH_CREDENTIALS = pinswg:password|pinswg2:password2
PORT= "3000"
DEFAULT_DOMAIN = "localhost"
I18N_DOMAIN = "cymru.local"
//I18N_DOMAIN ="dev-gwaithcynllunio.gwasanaeth.llyw.cymru"
//I18N_DOMAIN ="stage-gwaithcynllunio.gwasanaeth.llyw.cymru"
//I18N_DOMAIN ="pp-gwaithcynllunio.gwasanaeth.llyw.cymru"s
//I18N_DOMAIN ="gwaithcynllunio.gwasanaeth.llyw.cymru"
//gov gateway
GG_PROVIDER_CONFIG_ENDPOINT = "https://api.ete.access.service.gov.uk/.well-known/openid-configuration"
GG_CLIENT_ID = 5vTukeSpN7d6uBV7YLb7A5wOctzzkZ
GG_CLIENT_SECRET = z1PGLAKPxIhjMBegTdzX22AayIORc1GsCbMQZ6mieBn7zChjzzxup5lkIByEmsYS
//GG_REDIRECT_URI = "http://localhost:3000"
GG_REDIRECT_URI = "https://dev-planningcasework.service.gov.wales"
NEXT_PUBLIC_GG_CLIENT_ID = 5vTukeSpN7d6uBV7YLb7A5wOctzzkZ
NEXT_PUBLIC_GG_REDIRECT_URI = "http://localhost:3000"
API_ROOT = "http://localhost:3000"
GOOGLE_MAP_API_KEY = AIzaSyCzeVrHt544bp_72YCFkw21eDsmI2JEsQo
//EMAIL_SERVER_HOST=smtp.livemail.co.uk
//EMAIL_SERVER_PORT=465
//EMAIL_SERVER_USER=rob@rdbsolutions.co.uk
//EMAIL_SERVER_PASSWORD=R0b3rt72
//EMAIL_FROM=rob@rdbsolutions.co.uk
EMAIL_SERVER_HOST=smtp.sendgrid.net
EMAIL_SERVER_PORT=465
EMAIL_SERVER_USER=apikey
EMAIL_SERVER_PASSWORD=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
EMAIL_FROM=rob@rdbsolutions.co.uk
NEXT_PUBLIC_MAGIC_PK=pk_live_674E13244D1BB0A4
MAGIC_SK=sk_live_F0E74A9557051A65
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET= # Linux: `openssl rand -hex 32` or go to https://generate-secret.now.sh/32
APPLE_ID=
APPLE_TEAM_ID=
APPLE_PRIVATE_KEY=
APPLE_KEY_ID=
AUTH0_ID=
AUTH0_SECRET=
AUTH0_ISSUER=
FACEBOOK_ID=
FACEBOOK_SECRET=
GITHUB_ID=
GITHUB_SECRET=
GOOGLE_ID=
GOOGLE_SECRET=
TWITTER_ID=
TWITTER_SECRET=
//EMAIL_SERVER=smtp://username:password@smtp.example.com:587
//EMAIL_FROM=NextAuth <noreply@example.com>
//DATABASE_URL=sqlite://localhost/:memory:?synchronize=true
DATABASE_URL=mysql://nextAuthAdmin:!Sky9fish1972@77.68.17.157:3306/nextauthDB?synchronise=true
SECRET=SuperSecret
+119
View File
@@ -0,0 +1,119 @@
ACCESS_TOKEN_ENDPOINT = https://login.microsoftonline.com/
//ESNR Tenant
//TENANT = a8d860de-d5e1-45af-8376-d93f02e6b502
//WGO Tenant
TENANT = 9ac1a5ab-cd58-409e-a1b6-6b10422a68f5
GRANT_TYPE = "client_credentials"
HASHKEY = 028ffbae928d7191c0017f298260995f901d78eabde1436c0af0423459cc3715832136d84f68818d3a96399467b52143e273d4f3bf4ae190848891535421cd6c
NEXT_PUBLIC_HASHKEY = 028ffbae928d7191c0017f298260995f901d78eabde1436c0af0423459cc3715832136d84f68818d3a96399467b52143e273d4f3bf4ae190848891535421cd6c
//Dev oauth ESNR
CLIENT_ID = 9b834097-03d7-409b-b038-ecfec31a394a
//CLIENT_SECRET = 4Vt8Q~olL1hx7n01B0~tXf-N2YL5DyC_Fk6waagX
CLIENT_SECRET = AU88Q~NBOVOXqwb4mBx9y.NMIZ9s1o7boqZoKcSE
RELAY_ROOT = https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/
RELAYURI = "dev-pedw-ns.servicebus.windows.net"
RELAYPATH = "dev-pedw-hc"
//Test Oauth ESNR
//CLIENT_ID = d40b9373-96c2-4b04-8bd8-c2a2fe6444c1
//CLIENT_SECRET = IXI8Q~D5oqsC-nrtayHHc~tUAfjQFzNiKVQ~fc2S
//RELAY_ROOT = https://test-pedw-ns.servicebus.windows.net/test-pedw-hc/
//RELAYURI = "test-pedw-ns.servicebus.windows.net"
//RELAYPATH = "test-pedw-hc"
//Preprod Oauth WGO
//CLIENT_ID = ab6c4678-b31a-4eb3-b429-e039120e488a
//CLIENT_SECRET = Ioo7Q~RJfhWsE45wPsuHm1CzRk1SppnNN3lZF
//RELAY_ROOT = https://pp-pedw-ns.servicebus.windows.net/pp-pedw-hc/
//RELAYURI = "pp-pedw-ns.servicebus.windows.net"
//RELAYPATH = "pp-pedw-hc"
//Prod Oauth WGO
//CLIENT_ID = 3e4141a3-1fbd-454e-98f0-7f3a4f14a3cc
//CLIENT_SECRET = mJN7Q~lFu.xFGa5KCc.zwIm_fJAWxajyQaFo~
//RELAY_ROOT = https://prod-pedw-ns.servicebus.windows.net/prod-pedw-hc/
//RELAYURI = "prod-pedw-ns.servicebus.windows.net"
//RELAYPATH = "prod-pedw-hc"
GOOGLE_TAG_MANAGER = GTM-T78CBC3
SHOWLOGIN = "true"
SHOWREPRESENTATIONS = true
SHOWFILEUPLOAD = "false"
SHOWMAPS = "false"
//BASIC_AUTH_CREDENTIALS = pinswg:password|pinswg2:password2
PORT= "3000"
DEFAULT_DOMAIN = "localhost"
I18N_DOMAIN = "cymru.local"
//I18N_DOMAIN ="dev-gwaithcynllunio.gwasanaeth.llyw.cymru"
//I18N_DOMAIN ="stage-gwaithcynllunio.gwasanaeth.llyw.cymru"
//I18N_DOMAIN ="pp-gwaithcynllunio.gwasanaeth.llyw.cymru"s
//I18N_DOMAIN ="gwaithcynllunio.gwasanaeth.llyw.cymru"
//gov gateway
GG_PROVIDER_CONFIG_ENDPOINT = "https://api.ete.access.service.gov.uk/.well-known/openid-configuration"
GG_CLIENT_ID = 5vTukeSpN7d6uBV7YLb7A5wOctzzkZ
GG_CLIENT_SECRET = z1PGLAKPxIhjMBegTdzX22AayIORc1GsCbMQZ6mieBn7zChjzzxup5lkIByEmsYS
//GG_REDIRECT_URI = "http://localhost:3000"
GG_REDIRECT_URI = "https://dev-planningcasework.service.gov.wales"
NEXT_PUBLIC_GG_CLIENT_ID = 5vTukeSpN7d6uBV7YLb7A5wOctzzkZ
NEXT_PUBLIC_GG_REDIRECT_URI = "http://localhost:3000"
API_ROOT = "http://localhost:3000"
GOOGLE_MAP_API_KEY = AIzaSyCzeVrHt544bp_72YCFkw21eDsmI2JEsQo
//Next Auth vars
//EMAIL_SERVER_HOST=smtp.sendgrid.net
//EMAIL_SERVER_PORT=465
//EMAIL_SERVER_USER=apikey
//EMAIL_SERVER_PASSWORD=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
//EMAIL_FROM=rob@rdbsolutions.co.uk
EMAIL_SERVER_HOST=rdbdigital.com
EMAIL_SERVER_PORT=465
EMAIL_SERVER_USER=rob@rdbdigital.com
EMAIL_SERVER_PASSWORD=!Sky9fish2020
EMAIL_FROM=no-reply@rdbdigital.com
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_URL_INTERNAL=http://localhost:3000
//DATABASE_URL=mysql://nextAuthAdmin:!Sky9fish1972@77.68.17.157:3306/nextauthDB?synchronise=true
DATABASE_URL = sqlserver://pedw-dev-test-sql-svr.database.windows.net:1433;database=PEDWDev;user=RobBondSQL;password=GhWKr62F5sQ69dZx;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;authentication=ActiveDirectoryPassword
SECRET = SuperSecret
//Azure Storage Account
AZURE_CLIENT_ID = $CLIENT_ID
AZURE_TENANT_ID = $TENANT
AZURE_CLIENT_SECRET = $CLIENT_SECRET
AZURE_STORAGE_ACCOUNT_NAME= "pedwdev"
AZURE_STORAGE_ACCOUNT_KEY = JS3ZIXianhYhB1lZrHB+bXbdzaLlON0alCyKrFAb+jVEwr9iqo2dty92EBxwnufNFM+CSN/fKX2R+AStDn0byg==
AZURE_PEDW_STORAGE_ENDPOINT = https://pedwdev.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
+121 -50
View File
@@ -1,71 +1,142 @@
ACCESS_TOKEN_ENDPOINT = https://login.microsoftonline.com/
TENANT = a8d860de-d5e1-45af-8376-d93f02e6b502
//TENANT = 9ac1a5ab-cd58-409e-a1b6-6b10422a68f5
TENANT = 9ac1a5ab-cd58-409e-a1b6-6b10422a68f5
GRANT_TYPE = "client_credentials"
HASHKEY = 028ffbae928d7191c0017f298260995f901d78eabde1436c0af0423459cc3715832136d84f68818d3a96399467b52143e273d4f3bf4ae190848891535421cd6c
NEXT_PUBLIC_HASHKEY = 028ffbae928d7191c0017f298260995f901d78eabde1436c0af0423459cc3715832136d84f68818d3a96399467b52143e273d4f3bf4ae190848891535421cd6c
//CNR oauth CNR
CLIENT_ID = 3125ac03-91ac-46a7-a166-0086f0ed90b3
CLIENT_SECRET = bFq8Q~9VX5Ra3lKnGGIXsB.G6-ZGMx7LqyqXjdr4
RELAY_ROOT = https://ar-ns-lz-pedw-cnr-uks-01.servicebus.windows.net/ar-hc-lz-pedw-cnr-uks-01/
RELAYURI = "ar-ns-lz-pedw-cnr-uks-01.servicebus.windows.net"
RELAYPATH = "ar-hc-lz-pedw-cnr-uks-01"
CRMURL = "devcrm2016.llcdt.gov.wales/DVPINS"
//Dev oauth
//CLIENT_ID = e082def0-3453-461f-9a5e-f4ab127dc015
//CLIENT_SECRET = qW.7Q~TSr3sZmLEnJQJPXEdOckb_yo2t1yJmY
//RELAY_ROOT = https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/
//RELAYURI = "dev-pedw-ns.servicebus.windows.net"
//RELAYPATH = "dev-pedw-hc"
//New Dev oauth ESNR
CLIENT_ID = 9b834097-03d7-409b-b038-ecfec31a394a
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"
//New Test
CLIENT_ID = d40b9373-96c2-4b04-8bd8-c2a2fe6444c1
CLIENT_SECRET = 6hT8Q~glL~jloWpGmvXw3UY37QFwjUE0r._jobEM
RELAY_ROOT = https://ar-ns-lz-pedw-test-uks-01.servicebus.windows.net/ar-hc-lz-pedw-test-uks-01/
RELAYURI = "ar-ns-lz-pedw-test-uks-01.servicebus.windows.net"
RELAYPATH = "ar-hc-lz-pedw-test-uks-01"
CRMURL = "tscrm2016.llcdt.gov.wales/UATPINS"
//Test Oauth
CLIENT_ID = 6619ad85-c908-490d-811b-de8c93c0f2aa
CLIENT_SECRET = qKo7Q~5QvLEplbwnBbint_I5lXqx_-kDm8Vj-
RELAY_ROOT = https://test-pedw-ns.servicebus.windows.net/test-pedw-hc/
RELAYURI = "test-pedw-ns.servicebus.windows.net"
RELAYPATH = "test-pedw-hc"
//Preprod Oauth
//Preprod Oauth WGO
//CLIENT_ID = ab6c4678-b31a-4eb3-b429-e039120e488a
//CLIENT_SECRET = Ioo7Q~RJfhWsE45wPsuHm1CzRk1SppnNN3lZF
////CLIENT_SECRET = Ioo7Q~RJfhWsE45wPsuHm1CzRk1SppnNN3lZF
//CLIENT_SECRET = V288Q~P1lFMvvX9Xnkx2pLixK~GOREH983Owqc1E
//RELAY_ROOT = https://pp-pedw-ns.servicebus.windows.net/pp-pedw-hc/
//RELAYURI = "pp-pedw-ns.servicebus.windows.net"
//RELAYPATH = "pp-pedw-hc"
//CRMURL = "ppcrm2016.llc.gov.wales/PPPINSWales"
//Prod Oauth
//CLIENT_ID = 01904c07-9035-4cf9-a535-3945f6e470d2
//CLIENT_SECRET = PRo7Q~GQoKSdARRqF-NOXQDx2Ka8UCINyvagk
//Prod Oauth WGO
//CLIENT_ID = 3e4141a3-1fbd-454e-98f0-7f3a4f14a3cc
////CLIENT_SECRET = mJN7Q~lFu.xFGa5KCc.zwIm_fJAWxajyQaFo~
//CLIENT_SECRET = tFk8Q~E.R-HFjROTu1sRKqwb_ONzy05uPYoF6awR
//RELAY_ROOT = https://prod-pedw-ns.servicebus.windows.net/prod-pedw-hc/
//RELAYURI = "prod-pedw-ns.servicebus.windows.net"
//RELAYPATH = "prod-pedw-hc"
//CRMURL = "crm2016.llc.gov.wales/PEDW"
GOOGLE_TAG_MANAGER = GTM-T78CBC3
SHOWLOGIN = "true"
SHOWREPRESENTATIONS = "false"
BASIC_AUTH_CREDENTIALS = pinswg:password|pinswg2:password2
PORT= "3000"
DEFAULT_DOMAIN = "localhost"
I18N_DOMAIN = "cymru.local"
//I18N_DOMAIN ="dev-gwaithcynllunio.gwasanaeth.llyw.cymru"
//I18N_DOMAIN ="stage-gwaithcynllunio.gwasanaeth.llyw.cymru"
//I18N_DOMAIN ="pp-gwaithcynllunio.gwasanaeth.llyw.cymru"s
//I18N_DOMAIN ="gwaithcynllunio.gwasanaeth.llyw.cymru"
//gov gateway
GG_PROVIDER_CONFIG_ENDPOINT = "https://api.ete.access.service.gov.uk/.well-known/openid-configuration"
GG_CLIENT_ID = 5vTukeSpN7d6uBV7YLb7A5wOctzzkZ
GG_CLIENT_SECRET = z1PGLAKPxIhjMBegTdzX22AayIORc1GsCbMQZ6mieBn7zChjzzxup5lkIByEmsYS
GG_REDIRECT_URI = "http://localhost:3000"
NEXT_PUBLIC_GG_CLIENT_ID = 5vTukeSpN7d6uBV7YLb7A5wOctzzkZ
NEXT_PUBLIC_GG_REDIRECT_URI = "http://localhost:3000"
//GOOGLE_TAG_MANAGER = GTM-T78CBC3
GOOGLE_TAG_MANAGER = G-GTWW3JT03Z
SHOWLOGIN = true
SHOWREPRESENTATIONS = true
SHOWFILEUPLOAD = "false"
SHOWMAPS = "false"
API_ROOT = "http://localhost:3000"
CY_API_ROOT = "http://cymru.local:3000"
I18N_DOMAIN = "cymru.local"
DOCAPI_OFFLINE = "12:00:00,14:00:00"
// Next Auth vars
NEXTAUTH_URL = $API_ROOT
NEXTAUTH_URL_INTERNAL = $API_ROOT
NEXTAUTH_SECRET = SuperSecret
// 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://pedw-dev-test-sql-svr.database.windows.net:1433;database=PEDWDev;user=RobBondSQL;password=GhWKr62F5sQ69dZx;encrypt=true;trustServerCertificate=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;authentication=ActiveDirectoryPassword
// Pre prod sql server
//DATABASE_URL = sqlserver://pp-pedw-sql.database.windows.net:1433;database=PEDWPreProd;user=RobBondSQL;password=GhWKr62F5sQ69dZx;encrypt=true;trustServerCertificate=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;authentication=ActiveDirectoryPassword
////DATABASE_URL = sqlserver://pp-pedw-sql.database.windows.net:1433;database=PEDWPreProd;user=pp-pedw-ukw;password=jscw4+896w9YaiXruOA3mtpNkio1oUZxBZcFJ9Awdz4=;encrypt=true;trustservercertificate=false;hostnameincertificate=*.database.windows.net;logintimeout=30;authentication=SqlPassword
//DATABASE_URL = sqlserver://pp-pedw-sql.database.windows.net:1433;database=PEDWPreProd;user=RobBondSQL;password=GhWKr62F5sQ69dZx;encrypt=true;trustservercertificate=false;hostnameincertificate=*.database.windows.net;logintimeout=30
//DATABASE_URL = sqlserver://pp-pedw-sql.privatelink.database.windows.net:1433;database=PEDWPreProd;user=RobBondSQL;password=GhWKr62F5sQ69dZx;encrypt=true;trustservercertificate=false;hostnameincertificate=*.database.windows.net;logintimeout=30
// 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
SECRET = SuperSecret
//Azure Storage Account
AZURE_CLIENT_ID = $CLIENT_ID
AZURE_TENANT_ID = $TENANT
AZURE_CLIENT_SECRET = $CLIENT_SECRET
// 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
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
AZURE_STORAGE_ACCOUNT_NAME = "sapltpedwtestuks"
AZURE_STORAGE_ACCOUNT_KEY = bqJAz5pYQVGee8dnVhlsqW+xHwinNTjgY2AmojNyB+d4uAotMR20WcO4Op13yB+9dFaXAkkjtIA4+AStHT/IYg==
AZURE_PEDW_STORAGE_ENDPOINT = https://sapltpedwtestuks.blob.core.windows.net
// preprod key
//AZURE_STORAGE_ACCOUNT_NAME = "pedwpp"
//AZURE_STORAGE_ACCOUNT_KEY = koZ46STRqapSa2Dod8MLL6aju1eYLhhyJ6DXpCLMTnFLJvbDT6CHUv/jwr5U/Ta8a60MWzwToHQy+AStADO7sg==
//AZURE_PEDW_STORAGE_ENDPOINT = https://pedwpp.blob.core.windows.net
// PROD key
//AZURE_STORAGE_ACCOUNT_NAME = "pedwprod"
//AZURE_STORAGE_ACCOUNT_KEY = koZ46STRqapSa2Dod8MLL6aju1eYLhhyJ6DXpCLMTnFLJvbDT6CHUv/jwr5U/Ta8a60MWzwToHQy+AStADO7sg==
//AZURE_PEDW_STORAGE_ENDPOINT = https://pedwprod.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
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
// 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
// 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
+31 -3
View File
@@ -1,6 +1,34 @@
{
"extends": "next",
"extends": "next/core-web-vitals",
"rules": {
"@next/next/no-img-element": "off"
}
"@next/next/no-img-element": "off",
"react/no-unknown-property": "error"
}//,
//...your configuration
// "overrides": [
// //...your overrides
// {
// // Force the setting of a swagger description on each api endpoint
// "files": ["pages/api/**/*.js"],
// "plugins": ["jsdoc"],
// "rules": {
// "jsdoc/no-missing-syntax": [
// "error",
// {
// "contexts": [
// {
// "comment": "JsdocBlock:has(JsdocTag[tag=swagger])",
// "context": "any",
// "message": "@swagger documentation is required on each API. Check this out for syntax info: https://github.com/jellydn/next-swagger-doc"
// }
// ]
// }
// ]
// }
// }
// ]
}
+16 -1
View File
@@ -13,7 +13,22 @@ node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.yarn
#lock files
yarn.lock
package-lock.json
package-lock.json
tmp
*env*.sample
docker
dockerfile*
.dockerignore
Makefile
docker*.yml
# Polling
pages/api/poll-queue.js
pages/polling.js
+8 -2
View File
@@ -4,12 +4,18 @@
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
{
"name": "Next.js: debug server-side",
"type": "node-terminal",
"request": "launch",
"command": "yarn run dev"
},
{"name": "Launch Chrome against localhost",
"type": "pwa-chrome",
"request": "launch",
"name": "Launch Chrome against localhost",
"url": "http://localhost:3000",
"webRoot": "${workspaceFolder}"
}
]
}
File diff suppressed because it is too large Load Diff
-191
View File
@@ -1,191 +0,0 @@
import axios from "axios";
import { hashAPIPath } from "./";
const configEndpoint = process.env.GG_PROVIDER_CONFIG_ENDPOINT;
const ggClientID = process.env.GG_CLIENT_ID;
const ggClientSecret = process.env.GG_CLIENT_SECRET;
const WEBAPI_URL =
process.env.RELAY_ROOT ||
"https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/";
export const getProviderConfig = () => {
return axios
.get(configEndpoint)
.then((res) => res.data)
.catch((error) => {
console.log("error :", error.response);
// return error;
});
};
export const getGGToken = (tokenURL, authCode, redirectUri) => {
const tokenBody =
"grant_type=authorization_code" +
"&code=" +
authCode +
"&redirect_uri=" +
redirectUri;
const basicAuthBase64 = (ggClientID + ":" + ggClientSecret).toString();
//console.log("base64 " + Base64.encode(basicAuthBase64));
const tokenConfig = {
headers: {
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Basic " + Base64.encode(basicAuthBase64),
},
};
return axios
.post(tokenURL, tokenBody, tokenConfig)
.then((res) => res.data)
.catch((error) => {
// if (error.response) {
// console.log(error.response.data);
// console.log(error.response.status);
// console.log(error.response.headers);
// }
return error.response;
});
};
export const getUserInfo = (userInfoURL, authToken) => {
const tokenConfig = {
headers: {
"Authorization": "Bearer " + authToken,
},
};
return axios
.get(userInfoURL, tokenConfig)
.then((res) => res)
.catch((error) => {
//console.log(`Error: ${err?.response?.data}`);
//return error;
});
};
export const getPortalLogin = (emailAddress, token) => {
var queryUrl =
"contacts?$filter=emailaddress1 eq '" +
emailAddress +
"'&$count=true&$select=emailaddress1,contactid,pinswg_custom_password,yomifullname,firstname,lastname";
return axios
.get(WEBAPI_URL + queryUrl + hashAPIPath(queryUrl), azureHeaders(token))
.then((res) => res.data)
.catch((error) => {
console.log("thiserror", error);
});
};
const azureHeaders = (access_token) => {
return {
headers: {
"OData-MaxVersion": "4.0",
"OData-Version": "4.0",
"Accept": "application/json;odata.metadata=none",
"Prefer": 'odata.include-annotations="*",return=representation',
"Content-Type": "application/json",
"Authorization": "Bearer " + access_token,
},
};
};
var Base64 = {
_keyStr:
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
encode: function (e) {
var t = "";
var n, r, i, s, o, u, a;
var f = 0;
e = Base64._utf8_encode(e);
while (f < e.length) {
n = e.charCodeAt(f++);
r = e.charCodeAt(f++);
i = e.charCodeAt(f++);
s = n >> 2;
o = ((n & 3) << 4) | (r >> 4);
u = ((r & 15) << 2) | (i >> 6);
a = i & 63;
if (isNaN(r)) {
u = a = 64;
} else if (isNaN(i)) {
a = 64;
}
t =
t +
this._keyStr.charAt(s) +
this._keyStr.charAt(o) +
this._keyStr.charAt(u) +
this._keyStr.charAt(a);
}
return t;
},
decode: function (e) {
var t = "";
var n, r, i;
var s, o, u, a;
var f = 0;
//e = e.replace(/[^A-Za-z0-9\+\/\=]/g, "");
while (f < e.length) {
s = this._keyStr.indexOf(e.charAt(f++));
o = this._keyStr.indexOf(e.charAt(f++));
u = this._keyStr.indexOf(e.charAt(f++));
a = this._keyStr.indexOf(e.charAt(f++));
n = (s << 2) | (o >> 4);
r = ((o & 15) << 4) | (u >> 2);
i = ((u & 3) << 6) | a;
t = t + String.fromCharCode(n);
if (u != 64) {
t = t + String.fromCharCode(r);
}
if (a != 64) {
t = t + String.fromCharCode(i);
}
}
t = Base64._utf8_decode(t);
return t;
},
_utf8_encode: function (e) {
e = e.replace(/\r\n/g, "\n");
var t = "";
for (var n = 0; n < e.length; n++) {
var r = e.charCodeAt(n);
if (r < 128) {
t += String.fromCharCode(r);
} else if (r > 127 && r < 2048) {
t += String.fromCharCode((r >> 6) | 192);
t += String.fromCharCode((r & 63) | 128);
} else {
t += String.fromCharCode((r >> 12) | 224);
t += String.fromCharCode(((r >> 6) & 63) | 128);
t += String.fromCharCode((r & 63) | 128);
}
}
return t;
},
_utf8_decode: function (e) {
var t = "";
var n = 0;
var r = (c1 = c2 = 0);
while (n < e.length) {
r = e.charCodeAt(n);
if (r < 128) {
t += String.fromCharCode(r);
n++;
} else if (r > 191 && r < 224) {
c2 = e.charCodeAt(n + 1);
t += String.fromCharCode(((r & 31) << 6) | (c2 & 63));
n += 2;
} else {
c2 = e.charCodeAt(n + 1);
c3 = e.charCodeAt(n + 2);
t += String.fromCharCode(
((r & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)
);
n += 3;
}
}
return t;
},
};
+1331 -138
View File
File diff suppressed because it is too large Load Diff
+47 -17
View File
@@ -1,47 +1,77 @@
export const getSelectQuery = (appealTypeName) => {
switch (appealTypeName) {
case "pinswg_advertses":
return "&$select=_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_procedure,pinswg_questionnaireduedate,statuscode";
return "&$select=pinswg_speacialistcaseprocess,modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_procedure,pinswg_questionnaireduedate,statuscode,pinswg_startdateoftheevent,pinswg_typeofevent,pinswg_startdate,pinswg_otherpartiesstatement,pinswg_finalcommentsduedate,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_speacialistcaseprocess,pinswg_statementduedate";
break;
case "pinswg_callinss77s":
return "&$select=_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_procedure,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_questionnaireduedate,pinswg_startdate,statuscode";
return "&$select=modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_procedure,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_questionnaireduedate,pinswg_startdate,statuscode,pinswg_dateexportedtoiss,pinswg_startdateofevent,pinswg_typeofevent";
break;
case "pinswg_commonlands":
return "&$select=modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_otherpartiesstatement,pinswg_procedure,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_questionnaireduedate,pinswg_relevantauthorityname,pinswg_startdate,statuscode,pinswg_starttimeoftheevent,pinswg_typeofevent,pinswg_statementsduedate";
break;
case "pinswg_environmentalpermittings":
return "&$select=modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_otherpartiesstatement,pinswg_procedure,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_questionnaireduedate,pinswg_relevantauthorityname,pinswg_startdate,statuscode,pinswg_startdateofevent,pinswg_typeofevent";
break;
case "pinswg_hedgeshedgerowstreepreservationreplacems":
return "&$select=pinswg_specialistcaseprocess,modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_otherpartiesstatement,pinswg_procedure,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_questionnaireduedate,pinswg_relevantauthorityname,pinswg_startdate,statuscode,pinswg_startdateoftheevent,pinswg_typeofevent,pinswg_statementduedate,pinswg_specialistcaseprocess";
break;
case "pinswg_miscellaneouscaseworks":
case "pinswg_wayleaves":
return "&$select=_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_otherpartiesstatement,pinswg_procedure,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_questionnaireduedate,pinswg_relevantauthorityname,pinswg_startdate,statuscode";
return "&$select=modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_otherpartiesstatement,pinswg_procedure,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_questionnaireduedate,pinswg_relevantauthorityname,pinswg_startdate,statuscode,pinswg_startdateoftheevent,pinswg_typeofevent,pinswg_statementduedate";
break;
case "pinswg_communityinfrastructurelevys117118119s":
return "&$select=_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_procedure,pinswg_startdate,statuscode";
return "&$select=modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddresscounty,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_procedure,pinswg_startdate,statuscode,pinswg_startdateoftheevent,pinswg_typeofevent";
break;
case "pinswg_compulsorypurchaseorderses":
return "&$select=_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";
return "&$select=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_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_projectdescription,pinswg_projectlocation,pinswg_projectlocation,pinswg_recommendation,pinswg_rejectrequesttovaryapplication,pinswg_reportdueby,pinswg_suspensiondates,pinswg_suspensionenddates,pinswg_suspensionstartdates,pinswg_validnoticeofintentiontosubmitanapplicati,pinswg_webaddress,pinswg_withdrawndate,pinswg_writtenacceptanceofnotification,statuscode";
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";
break;
case "pinswg_electricityacts":
return "&$select=_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";
return "&$select=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_householderappealhases":
return "&$select=_pinswg_appellant_value,pinswg_name,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_otherpartiesstatement,pinswg_otherpartiesstatement,pinswg_procedure,pinswg_questionnaireduedate,pinswg_startdate,pinswg_statementduedate,statuscode";
return "&$select=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";
break;
case "pinswg_enforcementnoticeappeals174s":
return "&$select=_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_otherpartiesstatement,pinswg_procedure,pinswg_questionnaireduedate,pinswg_startdate,pinswg_statementduedate,statuscode";
return "&$select=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_otherpartiesstatement,pinswg_procedure,pinswg_questionnaireduedate,pinswg_startdate,pinswg_statementduedate,statuscode,pinswg_startdateoftheevent,pinswg_typeofevent";
break;
case "pinswg_enforcementlistedbuildingconservationaps":
return "&$select=_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_otherpartiesstatements,pinswg_procedure,pinswg_questionnaireduedate,pinswg_startdates,pinswg_statementduedate,statuscode";
return "&$select=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_otherpartiesstatements,pinswg_procedure,pinswg_questionnaireduedate,pinswg_startdates,pinswg_statementduedate,statuscode,pinswg_startdateofevent,pinswg_typeofevent";
break;
case "pinswg_maintenanceoflands217s":
return "&$select=_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_otherpartiesstatement,pinswg_procedure,pinswg_questionnaireduedate,pinswg_startdates,pinswg_statementduedate,statuscode";
return "&$select=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_otherpartiesstatement,pinswg_procedure,pinswg_questionnaireduedate,pinswg_startdates,pinswg_statementduedate,statuscode,pinswg_startdateoftheevent,pinswg_typeofevent";
break;
case "pinswg_lawfuldevelopmentcertificates":
return "&$select=_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_otherpartiesstatements,pinswg_procedure,pinswg_questionnaireduedate,pinswg_startdate,pinswg_statementduedate,statuscode";
return "&$select=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_otherpartiesstatements,pinswg_procedure,pinswg_questionnaireduedate,pinswg_startdate,pinswg_statementduedate,statuscode,pinswg_startdateoftheevent,pinswg_typeofevent";
break;
case "pinswg_listedbuildingandconservationareaconsens":
return "&$select=_pinswg_appellant_value,pinswg_name,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_sitepostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_otherpartiesstatement,pinswg_procedure,pinswg_questionnaireduedate,pinswg_startdate,pinswg_statementduedate,statuscode";
return "&$select=modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_sitepostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_decision,pinswg_finalcommentsduedate,pinswg_otherpartiesstatement,pinswg_procedure,pinswg_questionnaireduedate,pinswg_startdate,pinswg_statementduedate,statuscode,pinswg_starttimeofevent,pinswg_typeofevent";
break;
case "pinswg_planningappeals78s":
return "&$select=_pinswg_appellant_value,pinswg_name,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,pinswg_casedecisiondate,pinswg_dateeventrequested,pinswg_finalcommentsduedate,pinswg_procedure,pinswg_questionnaireduedate,pinswg_startdate,pinswg_statementduedate,statuscode";
//console.log(
// "///////////////\n path:",
// process.env.RELAYPATH == "test-pedw-hc"
// );
return process.env.RELAYPATH == "dev-pedw-hc"
? "&$select=modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_localplanningauthority_value,pinswg_casedecisiondate,pinswg_dicision,pinswg_dateeventrequested,pinswg_finalcommentsduedate,pinswg_procedure,pinswg_questionnaireduedate,pinswg_startdate,pinswg_statementduedate,statuscode,pinswg_startdatetimeiftheevent,pinswg_representation_period_end_date,pinswg_extend_representation_date,pinswg_typeofevent"
: "&$select=modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_localplanningauthority_value,pinswg_casedecisiondate,pinswg_dicision,pinswg_dateeventrequested,pinswg_finalcommentsduedate,pinswg_procedure,pinswg_questionnaireduedate,pinswg_startdate,pinswg_statementduedate,statuscode,pinswg_startdatetimeiftheevent,pinswg_typeofevent";
break;
case "pinswg_planningconditionss73s79s":
return "&$select=_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_otherpartiesstatement,pinswg_procedure,pinswg_questionnaireduedate,pinswg_startdate,pinswg_statementduedate,statuscode";
return "&$select=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_otherpartiesstatement,pinswg_procedure,pinswg_questionnaireduedate,pinswg_startdate,pinswg_statementduedate,statuscode,pinswg_startdateofevent,pinswg_typeofevent";
break;
case "pinswg_planningobligationappeals106s":
return "&$select=_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_otherpartiesstatements,pinswg_procedure,pinswg_questionnaireduedate,pinswg_startdate,pinswg_statementduedate,statuscode";
return "&$select=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_otherpartiesstatements,pinswg_procedure,pinswg_questionnaireduedate,pinswg_startdate,pinswg_statementduedate,statuscode,pinswg_startdateoftheevent,pinswg_typeofevent";
break;
case "pinswg_rows":
return "&$select=_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_otherpartiesstatement,pinswg_procedure,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_questionnaireduedate,pinswg_relevantauthorityname,pinswg_startdate,statuscode";
return "&$select=pinswg_specialistcaseprocess,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_otherpartiesstatement,pinswg_procedure,pinswg_proofsofevidencewrittenstatementsofeviden,pinswg_questionnaireduedate,pinswg_relevantauthorityname,pinswg_startdate,statuscode,pinswg_startdateoftheevent,pinswg_typeofevent,pinswg_statementduedate,pinswg_specialistcaseprocess";
break;
case "pinswg_ldps":
return "&$select=modifiedon,pinswg_name";
break;
case "pinswg_nonvalidations":
return "&$select=modifiedon,_pinswg_appellant_value,pinswg_name,pinswg_siteaddressline1,pinswg_siteaddressline2,pinswg_siteaddresspostcode,pinswg_siteaddresstown,_pinswg_associatedlpa_value,statuscode";
break;
default:
return "";
-2
View File
@@ -1,2 +0,0 @@
{"@odata.context":"https://devcrm2016.llcdt.gov.wales/DVPINS/api/data/v8.2/$metadata#contacts(address1_addressid,address1_addresstypecode,address1_city,address1_country,address1_county,address1_fax,firstname,lastname)",value:[0:{@odata.etag:"W/"509484"",address1_addressid:"6c267cf9-1ba2-4e38-9f48-2b94a341e392",address1_addresstypecode: null ,address1_city: null ,address1_country: null ,address1_county: null ,address1_fax: null ,firstname: null ,lastname:"Trembath",contactid:"9d481bc3-7c64-eb11-aaba-00224800be9c"},1:{@odata.etag:"W/"509501"",address1_addressid:"9a546d64-b7b5-42bf-bafd-b547e718fddd",address1_addresstypecode: null ,address1_city: null ,address1_country: null ,address1_county: null ,address1_fax: null ,firstname: null ,lastname:"Jones",contactid:"1e2e0e6f-7e64-eb11-aaba-00224800be9c"},2:{@odata.etag:"W/"509506"",address1_addressid:"214e5b63-9bc8-478a-90e2-39417d9e096b",address1_addresstypecode: null ,address1_city: null ,address1_country: null ,address1_county: null ,address1_fax: null ,firstname: null ,lastname:"Thomas",contactid:"d1658f77-7e64-eb11-aaba-00224800be9c"},3:{@odata.etag:"W/"694902"",address1_addressid:"6258fd0c-2d18-41dd-b629-123c880f16a1",address1_addresstypecode: null ,address1_city: null ,address1_country: null ,address1_county: null ,address1_fax: null ,firstname:"James",lastname:"Hollowhead",contactid:"755e07ea-82ad-eb11-aac3-00224800be9c"},4:{@odata.etag:"W/"694906"",address1_addressid:"436104d2-5ee0-4494-b0f8-3059f738e9cf",address1_addresstypecode: null ,address1_city: null ,address1_country: null ,address1_county: null ,address1_fax: null ,firstname:"T",lastname:"Gillbert",contactid:"b8022d00-83ad-eb11-aac3-00224800be9c"},5:{@odata.etag:"W/"694910"",address1_addressid:"36e9cccc-ac84-4023-ae92-d6b9556d8ddf",address1_addresstypecode: null ,address1_city: null ,address1_country: null ,address1_county: null ,address1_fax: null ,firstname:"Mike",lastname:"Parker",contactid:"99b3220f-83ad-eb11-aac3-00224800be9c"},6:{@odata.etag:"W/"694914"",address1_addressid:"83169722-1283-4a4c-b346-28f50cd208cd",address1_addresstypecode: null ,address1_city: null ,address1_country: null ,address1_county: null ,address1_fax: null ,firstname:"Lloyd",lastname:"Evans",contactid:"5bee9821-83ad-eb11-aac3-00224800be9c"},7:{@odata.etag:"W/"694918"",address1_addressid:"a164b5d8-f9d2-46d4-b97b-b59327173f0a",address1_addresstypecode: null ,address1_city: null ,address1_country: null ,address1_county: null ,address1_fax: null ,firstname:"Mr",lastname:"Bartlett",contactid:"c2be7d2e-83ad-eb11-aac3-00224800be9c"},8:{@odata.etag:"W/"709237"",address1_addressid:"b75d552e-3896-46a7-bd65-a743f457f119",address1_addresstypecode: null ,address1_city: null ,address1_country: null ,address1_county: null ,address1_fax: null ,firstname:"Zoe",lastname:"Dawson",contactid:"003eef05-29ba-eb11-aac4-00224800be9c"},9:{@odata.etag:"W/"750707"",address1_addressid:"34bbd453-7d23-4c17-806e-1edf2e981cc8",address1_addresstypecode: null ,address1_city: null ,address1_country: null ,address1_county: null ,address1_fax: null ,firstname:"Appellant Contact",lastname:"Gary Trembath",contactid:"985cc5f8-1dd8-eb11-aac5-00224800be9c"},10:{@odata.etag:"W/"750703"",address1_addressid:"20ce70a9-571c-4a81-b410-f521d64d3dcb",address1_addresstypecode: null ,address1_city: null ,address1_country: null ,address1_county: null ,address1_fax: null ,firstname:"Agent Contact",lastname:"Gary Trembath",contactid:"9eb124a5-1ed8-eb11-aac5-00224800be9c"},11:{@odata.etag:"W/"750860"",address1_addressid:"a6a4641c-0875-4d5e-8360-99355eb73ee4",address1_addresstypecode: null ,address1_city: null ,address1_country: null ,address1_county: null ,address
-1
View File
@@ -1 +0,0 @@
0:{@odata.context:"https://devcrm2016.llcdt.gov.wales/DVPINS/api/data/v8.2/$metadata#accounts(name)",value:[0:{@odata.etag:"W/"547952"",name:"Bridgend CBC",accountid:"56e7ef63-7e64-eb11-aaba-00224800be9c"},1:{@odata.etag:"W/"694923"",name:"Bishop Landaff High School",accountid:"c9389617-82ad-eb11-aac3-00224800be9c"},2:{@odata.etag:"W/"694925"",name:"Stanwell High school",accountid:"24537624-82ad-eb11-aac3-00224800be9c"},3:{@odata.etag:"W/"694927"",name:"Barry Boys High School",accountid:"80d99a34-82ad-eb11-aac3-00224800be9c"},4:{@odata.etag:"W/"694929"",name:"St Sirus High School",accountid:"6d337b5a-82ad-eb11-aac3-00224800be9c"},5:{@odata.etag:"W/"694931"",name:"Fitzalan High School",accountid:"984d0e75-82ad-eb11-aac3-00224800be9c"},6:{@odata.etag:"W/"709453"",name:"Zoe",accountid:"41fead24-29ba-eb11-aac4-00224800be9c"},7:{@odata.etag:"W/"755017"",name:"Blaenau Gwent County Borough Council",accountid:"744c69f4-48da-eb11-aac5-00224800be9c"},8:{@odata.etag:"W/"755020"",name:"Caerphilly County Borough Council",accountid:"243c0009-49da-eb11-aac5-00224800be9c"},9:{@odata.etag:"W/"755026"",name:"Bridgend County Borough Council",accountid:"c35f6f84-49da-eb11-aabd-00224800d1bd"},10:{@odata.etag:"W/"755029"",name:"Cardiff Council",accountid:"c75f6f84-49da-eb11-aabd-00224800d1bd"},11:{@odata.etag:"W/"755032"",name:"Carmarthenshire County Council",accountid:"c95f6f84-49da-eb11-aabd-00224800d1bd"},12:{@odata.etag:"W/"755035"",name:"Ceredigion County Council",accountid:"cb5f6f84-49da-eb11-aabd-00224800d1bd"},13:{@odata.etag:"W/"755038"",name:"Conwy County Borough Council",accountid:"cd5f6f84-49da-eb11-aabd-00224800d1bd"},14:{@odata.etag:"W/"755041"",name:"Denbighshire County Council",accountid:"cf5f6f84-49da-eb11-aabd-00224800d1bd"},15:{@odata.etag:"W/"755044"",name:"Flintshire County Council",accountid:"d15f6f84-49da-eb11-aabd-00224800d1bd"},16:{@odata.etag:"W/"755047"",name:"Gwynedd Council",accountid:"d35f6f84-49da-eb11-aabd-00224800d1bd"},17:{@odata.etag:"W/"755050"",name:"Isle of Anglesey County Council",accountid:"d55f6f84-49da-eb11-aabd-00224800d1bd"},18:{@odata.etag:"W/"755053"",name:"Merthyr Tydfil County Borough Council",accountid:"d75f6f84-49da-eb11-aabd-00224800d1bd"},19:{@odata.etag:"W/"755056"",name:"Monmouthshire County Council",accountid:"d95f6f84-49da-eb11-aabd-00224800d1bd"},20:{@odata.etag:"W/"755059"",name:"Neath Port Talbot County Borough Council",accountid:"db5f6f84-49da-eb11-aabd-00224800d1bd"},21:{@odata.etag:"W/"755062"",name:"Newport City Council",accountid:"dd5f6f84-49da-eb11-aabd-00224800d1bd"},22:{@odata.etag:"W/"755065"",name:"Pembrokeshire County Council",accountid:"df5f6f84-49da-eb11-aabd-00224800d1bd"},23:{@odata.etag:"W/"755068"",name:"Powys County Council",accountid:"e15f6f84-49da-eb11-aabd-00224800d1bd"},24:{@odata.etag:"W/"755071"",name:"Rhondda Cynon Taf County Borough Council",accountid:"e35f6f84-49da-eb11-aabd-00224800d1bd"},25:{@odata.etag:"W/"755074"",name:"Swansea Council",accountid:"e55f6f84-49da-eb11-aabd-00224800d1bd"},26:{@odata.etag:"W/"755077"",name:"Torfaen County Borough Council",accountid:"e75f6f84-49da-eb11-aabd-00224800d1bd"},27:{@odata.etag:"W/"755080"",name:"Vale of Glamorgan Council",accountid:"e95f6f84-49da-eb11-aabd-00224800d1bd"},28:{@odata.etag:"W/"755083"",name:"Wrexham County Borough Council",accountid:"eb5f6f84-49da-eb11-aabd-00224800d1bd"}]}
+2 -3
View File
@@ -1,8 +1,7 @@
import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import AccessibilityEN from "./footerDocs/accessibility_en";
import { useRouter } from "next/router";
import AccessibilityCY from "./footerDocs/accessibility_cy";
import AccessibilityEN from "./footerDocs/accessibility_en";
const AccessibilityStatement = (props) => {
let { t } = useTranslation();
+9 -13
View File
@@ -1,15 +1,9 @@
import Link from "next/link";
import _ from "lodash";
import React, { useState, useEffect } from "react";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import {
Field,
reduxForm,
formValueSelector,
getFormSubmitErrors,
} from "redux-form";
import { useDispatch, useSelector, shallowEqual, connect } from "react-redux";
import Link from "next/link";
import { useRouter } from "next/router";
import React, { useState } from "react";
import { connect } from "react-redux";
import { Field, formValueSelector, reduxForm } from "redux-form";
import { updatePassword } from "../../actions";
const RenderTextfield = ({
@@ -133,8 +127,9 @@ const ChangePassword = (props) => {
"/myportal?q=" +
props.accountDetails.loggedinUserId
}
className="govuk-link"
>
<a className="govuk-link">Cancel</a>
Cancel
</Link>
</div>
</form>
@@ -146,8 +141,9 @@ const ChangePassword = (props) => {
"/myportal?q=" +
props.accountDetails.loggedinUserId
}
className="govuk-link"
>
<a className="govuk-link">Go to My Portal</a>
Go to My Portal
</Link>
</p>
</>
+194 -29
View File
@@ -1,15 +1,9 @@
import _ from "lodash";
import Link from "next/link";
import React, { useState } from "react";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import {
Field,
reduxForm,
formValueSelector,
getFormSubmitErrors,
} from "redux-form";
import { useDispatch, useSelector, shallowEqual, connect } from "react-redux";
import Link from "next/link";
import { useRouter } from "next/router";
import React, { useState } from "react";
import { connect } from "react-redux";
import { Field, formValueSelector, reduxForm } from "redux-form";
import BuildCheckPersonalDetails from "./personaldetailsCheck";
import PersonalDetailsComplete from "./personaldetailsComplete";
@@ -63,6 +57,139 @@ const RenderTextfield = ({
);
};
const RenderRadioList = ({
datafieldname,
name,
label,
id,
errorMsg,
options,
input: { onChange, value },
meta: { touched, error },
...custom
}) => {
const required = (value) => (value ? undefined : "Required");
return (
<>
<div
className={
touched && error
? "govuk-form-group govuk-form-group--error"
: "govuk-form-group "
}
>
<fieldset
className="govuk-fieldset"
aria-describedby={name + "-hint"}
>
<legend className="govuk-fieldset__legend govuk-fieldset__legend--s govuk-!-font-weight-regular">
<label
className="govuk-fieldset__heading govuk-body-m"
id={id + "_label"}
>
{label}
</label>
</legend>
{touched && error && (
<span
id={id + "-error"}
className="govuk-error-message"
>
<span className="govuk-visually-hidden">
Error:
</span>{" "}
{errorMsg}
</span>
)}
<div className="govuk-radios govuk-radios--small govuk-radios--inline">
{Object.keys(options).map((key, index) => (
<div
className="govuk-radios__item"
data-children-count={key}
key={key}
>
<Field
id={id + "_" + index}
name={id}
component="input"
type="radio"
className="govuk-radios__input"
value={options[key]}
/>
<label
className="govuk-label govuk-radios__label"
htmlFor={id + "_" + index}
>
{options[key]}
</label>
</div>
))}
</div>
</fieldset>
</div>
</>
);
};
const RenderPickList = ({
datafieldname,
name,
label,
input,
optionsArr,
meta: { touched, error },
errorMsg,
}) => {
let { t, lang } = useTranslation();
optionsArr = [
t("account:account-preferred-language-english") + ":846040001",
t("account:account-preferred-language-welsh") + ":846040000",
];
return (
<>
<div
className={
touched && error
? "govuk-form-group govuk-form-group--error"
: "govuk-form-group "
}
>
<label className="govuk-label" htmlFor={datafieldname}>
{label}
</label>
{touched && error && (
<span id={name + "-error"} className="govuk-error-message">
<span className="govuk-visually-hidden">Error:</span>{" "}
{errorMsg}
</span>
)}
<div>
<select
{...input}
className="govuk-select "
id={datafieldname}
name={datafieldname}
>
<option>Select...</option>
{Object.keys(optionsArr).map((key, index) => {
return (
<option
key={key}
value={optionsArr[key].split(":")[1]}
>
{optionsArr[key].split(":")[0]}
</option>
);
})}
</select>
</div>
</div>
</>
);
};
let PersonalDetails = (props) => {
const {
handleSubmit,
@@ -81,7 +208,10 @@ let PersonalDetails = (props) => {
let errorsobj = {};
const required = (value) => (value ? undefined : "Is required");
const required = (value) =>
value
? undefined
: t("account:register-new-account-postcode-label-errormsg");
const emailRegex =
/(?:[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/gi;
@@ -95,6 +225,14 @@ let PersonalDetails = (props) => {
? "Invalid phone number"
: undefined;
const postcode = (value) =>
value &&
!/^([A-Z][A-HJ-Y]?[0-9][A-Z0-9]? ?[0-9][A-Z]{2}|GIR ?0A{2})$/i.test(
value
)
? t("account:register-new-account-postcode-invalid-label-errormsg")
: undefined;
const [hasErrors, setHasErrors] = useState("");
const onHandleSubmit = (values) => {
@@ -109,9 +247,33 @@ let PersonalDetails = (props) => {
<fieldset className="govuk-fieldset">
<legend className="govuk-fieldset__legend govuk-fieldset__legend--m">
<h2 className="govuk-fieldset__heading">
About you
{t("account:account-about-you-label")}
</h2>
</legend>
<div className="govuk-form-group ">
<span className="govuk-label ">
{t("account:account-role-label")}:{" "}
{
props.props.accountDetails
.accountDetails[
"pinswg_typeofinvolvement@OData.Community.Display.V1.FormattedValue"
]
}
</span>
</div>
<Field
name="pinswg_preferredlanguage"
component={RenderPickList}
datafieldname={"pinswg_preferredlanguage"}
optionsArr={["English", "Welsh"]}
className="govuk-input govuk-input--width-20 govuk-radios--inline"
validate={[required]}
label={t(
"account:account-preferred-language-label"
)}
errorMsg="Is required"
/>
<Field
name="firstname"
id="firstname"
@@ -119,7 +281,7 @@ let PersonalDetails = (props) => {
type="text"
className="govuk-input govuk-input--width-20"
validate={[required]}
label="First name"
label={t("account:account-first-name-label")}
errorMsg="Is required"
/>
<Field
@@ -129,7 +291,7 @@ let PersonalDetails = (props) => {
type="text"
className="govuk-input govuk-input--width-20"
validate={[required]}
label="Last name"
label={t("account:account-last-name-label")}
errorMsg="Is required"
/>
<Field
@@ -139,7 +301,7 @@ let PersonalDetails = (props) => {
type="email"
className="govuk-input govuk-input--width-20"
validate={[required, email]}
label="Email address"
label={t("account:account-email-address-label")}
disabled
/>
<Field
@@ -149,23 +311,22 @@ let PersonalDetails = (props) => {
type="number"
className="govuk-input govuk-input--width-20"
validate={[required, phoneNumber]}
label="Telephone"
label={t("account:account-telephone-label")}
/>
<Field
name="company"
id="company"
component={RenderTextfield}
type="text"
className="govuk-input govuk-input--width-20"
label="Company/Group"
label={t("account:account-company-group-label")}
errorMsg="Is required"
/>
</fieldset>
<fieldset className="govuk-fieldset">
<legend className="govuk-fieldset__legend govuk-fieldset__legend--m">
<h2 className="govuk-fieldset__heading">
What is your address?
{t("account:account-your-address-label")}
</h2>
</legend>
@@ -175,7 +336,9 @@ let PersonalDetails = (props) => {
component={RenderTextfield}
type="text"
className="govuk-input govuk-input--width-20"
label="Address line 1"
label={t(
"account:account-address-line-1-label"
)}
validate={[required]}
errorMsg="Is required"
/>
@@ -185,7 +348,9 @@ let PersonalDetails = (props) => {
component={RenderTextfield}
type="text"
className="govuk-input govuk-input--width-20"
label="Address line 2"
label={t(
"account:account-address-line-2-label"
)}
errorMsg="Is required"
/>
<Field
@@ -194,7 +359,7 @@ let PersonalDetails = (props) => {
component={RenderTextfield}
type="text"
className="govuk-input govuk-input--width-10"
label="Town/City"
label={t("account:account-town-city-label")}
validate={[required]}
errorMsg="Is required"
/>
@@ -204,7 +369,7 @@ let PersonalDetails = (props) => {
component={RenderTextfield}
type="text"
className="govuk-input govuk-input--width-10"
label="County"
label={t("account:account-county-label")}
validate={[required]}
errorMsg="Is required"
/>
@@ -214,9 +379,8 @@ let PersonalDetails = (props) => {
component={RenderTextfield}
type="text"
className="govuk-input govuk-input--width-5"
label="Postcode"
validate={[required]}
errorMsg="Is required"
label={t("account:account-postcode-label")}
validate={[required, postcode]}
/>
</fieldset>
<div className="govuk-button-group">
@@ -225,15 +389,16 @@ let PersonalDetails = (props) => {
className="govuk-button"
data-module="govuk-button"
>
Continue
{t("common:continue-button")}
</button>
<Link
href={
"/myportal?q=" +
props.props.accountDetails.loggedinUserId
}
className="govuk-link"
>
<a className="govuk-link">Cancel</a>
{t("common:cancel-link")}
</Link>
</div>
</form>
+101 -46
View File
@@ -1,15 +1,8 @@
import _ from "lodash";
import Link from "next/link";
import React, { useState } from "react";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import {
Field,
reduxForm,
formValueSelector,
getFormSubmitErrors,
} from "redux-form";
import { useDispatch, useSelector, shallowEqual, connect } from "react-redux";
import Link from "next/link";
import { useRouter } from "next/router";
import React from "react";
import { connect } from "react-redux";
const BuildCheckPersonalDetails = (props) => {
const {
@@ -25,12 +18,22 @@ const BuildCheckPersonalDetails = (props) => {
const router = useRouter();
const { locale } = router;
const getPreferredLanguageLabel = (id) => {
return id == 846040001
? t("account:account-preferred-language-english")
: t("account:account-preferred-language-welsh");
};
return (
<>
<h2 className="govuk-heading-m">About you</h2>
<h2 className="govuk-heading-m">
{t("account:account-about-you-label")}
</h2>
<dl className="govuk-summary-list govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">First name</dt>
<dt className="govuk-summary-list__key">
{t("account:account-first-name-label")}
</dt>
<dd className="govuk-summary-list__value">
{
props.props.props.form.personalDetailsForm.values
@@ -45,15 +48,18 @@ const BuildCheckPersonalDetails = (props) => {
setPersonalDetailsComplete(false);
}}
>
Change
{t("common:change-link-label")}
<span className="govuk-visually-hidden">
first name
{t("account:account-first-name-label")}{" "}
</span>
</a>
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">Last name</dt>
<dt className="govuk-summary-list__key">
{" "}
{t("account:account-last-name-label")}
</dt>
<dd className="govuk-summary-list__value">
{
props.props.props.form.personalDetailsForm.values
@@ -68,16 +74,19 @@ const BuildCheckPersonalDetails = (props) => {
setPersonalDetailsComplete(false);
}}
>
Change
{t("common:change-link-label")}
<span className="govuk-visually-hidden">
{" "}
last name
{t("account:account-last-name-label")}
</span>
</a>
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">Email address</dt>
<dt className="govuk-summary-list__key">
{" "}
{t("account:account-email-address-label")}
</dt>
<dd className="govuk-summary-list__value">
{
props.props.props.form.personalDetailsForm.values
@@ -92,16 +101,18 @@ const BuildCheckPersonalDetails = (props) => {
setPersonalDetailsComplete(false);
}}
>
Change
{t("common:change-link-label")}
<span className="govuk-visually-hidden">
{" "}
email address
{t("account:account-email-address-label")}
</span>
</a>
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">Telephone</dt>
<dt className="govuk-summary-list__key">
{t("account:account-telephone-label")}
</dt>
<dd className="govuk-summary-list__value">
{
props.props.props.form.personalDetailsForm.values
@@ -116,15 +127,18 @@ const BuildCheckPersonalDetails = (props) => {
setPersonalDetailsComplete(false);
}}
>
Change
{t("common:change-link-label")}
<span className="govuk-visually-hidden">
telephone
{t("account:account-telephone-label")}
</span>
</a>
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">Company/Group</dt>
<dt className="govuk-summary-list__key">
{" "}
{t("account:account-company-group-label")}
</dt>
<dd className="govuk-summary-list__value">
{
props.props.props.form.personalDetailsForm.values
@@ -139,20 +153,50 @@ const BuildCheckPersonalDetails = (props) => {
setPersonalDetailsComplete(false);
}}
>
Change
{t("common:change-link-label")}
<span className="govuk-visually-hidden">
{" "}
company/group
{t("account:account-company-group-label")}
</span>
</a>
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("account:account-preferred-language-label")}
</dt>
<dd className="govuk-summary-list__value">
{getPreferredLanguageLabel(
props.props.props.form.personalDetailsForm.values
.pinswg_preferredlanguage
)}
</dd>
<dd className="govuk-summary-list__actions">
<a
className="govuk-link"
href="#company"
onClick={() => {
setPersonalDetailsComplete(false);
}}
>
{t("common:change-link-label")}
<span className="govuk-visually-hidden">
{" "}
{t("account:account-preferred-language-label")}
</span>
</a>
</dd>
</div>
</dl>
<h2 className="govuk-heading-m">
{" "}
{t("account:account-your-address-label")}
</h2>
<dl className="govuk-summary-list govuk-!-margin-bottom-9">
<h2 className="govuk-heading-m">Your address</h2>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">Address Line 1</dt>
<dt className="govuk-summary-list__key">
{t("account:account-address-line-1-label")}
</dt>
<dd className="govuk-summary-list__value">
{
props.props.props.form.personalDetailsForm.values
@@ -167,16 +211,18 @@ const BuildCheckPersonalDetails = (props) => {
setPersonalDetailsComplete(false);
}}
>
Change
{t("common:change-link-label")}
<span className="govuk-visually-hidden">
{" "}
address line 1
{t("account:account-address-line-1-label")}
</span>
</a>
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">Address line 2</dt>
<dt className="govuk-summary-list__key">
{t("account:account-address-line-2-label")}
</dt>
<dd className="govuk-summary-list__value">
{
props.props.props.form.personalDetailsForm.values
@@ -191,16 +237,18 @@ const BuildCheckPersonalDetails = (props) => {
setPersonalDetailsComplete(false);
}}
>
Change
{t("common:change-link-label")}
<span className="govuk-visually-hidden">
{" "}
address line 2
{t("account:account-address-line-2-label")}
</span>
</a>
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">Town/City</dt>
<dt className="govuk-summary-list__key">
{t("account:account-town-city-label")}
</dt>
<dd className="govuk-summary-list__value">
{
props.props.props.form.personalDetailsForm.values
@@ -215,16 +263,19 @@ const BuildCheckPersonalDetails = (props) => {
setPersonalDetailsComplete(false);
}}
>
Change
{t("common:change-link-label")}
<span className="govuk-visually-hidden">
{" "}
town/city
{t("account:account-town-city-label")}
</span>
</a>
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">County</dt>
<dt className="govuk-summary-list__key">
{" "}
{t("account:account-county-label")}
</dt>
<dd className="govuk-summary-list__value">
{
props.props.props.form.personalDetailsForm.values
@@ -239,16 +290,19 @@ const BuildCheckPersonalDetails = (props) => {
setPersonalDetailsComplete(false);
}}
>
Change
{t("common:change-link-label")}
<span className="govuk-visually-hidden">
{" "}
county
{t("account:account-county-label")}
</span>
</a>
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">Postcode</dt>
<dt className="govuk-summary-list__key">
{" "}
{t("account:account-postcode-label")}
</dt>
<dd className="govuk-summary-list__value">
{
props.props.props.form.personalDetailsForm.values
@@ -263,10 +317,10 @@ const BuildCheckPersonalDetails = (props) => {
setPersonalDetailsComplete(false);
}}
>
Change
{t("common:change-link-label")}
<span className="govuk-visually-hidden">
{" "}
postcode
{t("account:account-postcode-label")}
</span>
</a>
</dd>
@@ -281,12 +335,13 @@ const BuildCheckPersonalDetails = (props) => {
setAccountUpdatedComplete(true);
}}
>
Continue
{t("common:continue-button")}
</button>
<Link
href={"/myportal?q=" + props.accountDetails.loggedinUserId}
className="govuk-link"
>
<a className="govuk-link">Cancel</a>
{t("common:back-link")}
</Link>
</div>
</>
+9 -25
View File
@@ -1,22 +1,8 @@
import _ from "lodash";
import Link from "next/link";
import React, { useState, useEffect } from "react";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import {
Field,
reduxForm,
formValueSelector,
getFormSubmitErrors,
} from "redux-form";
import {
useDispatch,
useSelector,
shallowEqual,
connect,
setRegisterFormComplete,
setAccountCreatedComplete,
} from "react-redux";
import Link from "next/link";
import { useRouter } from "next/router";
import React, { useEffect } from "react";
import { connect } from "react-redux";
import { updateAccount } from "../../actions";
const PersonalDetailsComplete = (props) => {
@@ -42,19 +28,17 @@ const PersonalDetailsComplete = (props) => {
return (
<>
<p className="govuk-body">Your details have been updated</p>
<p className="govuk-body">{t("account:account-complete-para-1")}</p>
<p className="govuk-body">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi a
metus non quam mollis egestas. Integer ac leo cursus, laoreet
nulla sed, tempus tellus. Mauris condimentum erat arcu.
</p>
<p className="govuk-body">{t("account:account-complete-para-2")}</p>
<p className="govuk-body">
<Link
href={"/myportal?q=" + props.accountDetails.loggedinUserId}
className="govuk-link"
>
<a className="govuk-link">Return to My Portal</a>
{" "}
{t("account:account-complete-return-to-portal-link")}
</Link>
</p>
</>
+3 -34
View File
@@ -1,14 +1,7 @@
import _ from "lodash";
import React, { useState } from "react";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import {
Field,
reduxForm,
formValueSelector,
getFormSubmitErrors,
} from "redux-form";
import { useDispatch, useSelector, shallowEqual, connect } from "react-redux";
import { useRouter } from "next/router";
import React from "react";
import { connect } from "react-redux";
import { setAccCr } from "../../store/accountDetails/action";
const RegisterFormCheck = (props) => {
@@ -144,30 +137,6 @@ const RegisterFormCheck = (props) => {
</a>
</dd>
</div>
{/* <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">Company/Group</dt>
<dd className="govuk-summary-list__value">
{
props.props.props.form.accountRegisterForm.values
.companygroup
}
</dd>
<dd className="govuk-summary-list__actions">
<a
className="govuk-link"
href="#"
onClick={() => {
setRegisterFormComplete(false);
}}
>
Change
<span className="govuk-visually-hidden">
{" "}
company/group
</span>
</a>
</dd>
</div> */}
</dl>
<dl className="govuk-summary-list govuk-!-margin-bottom-9">
<h2 className="govuk-heading-m">
+8 -31
View File
@@ -1,28 +1,14 @@
import _ from "lodash";
import Link from "next/link";
import React, { useEffect, useState } from "react";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import Link from "next/link";
import { useRouter } from "next/router";
import React, { useEffect, useState } from "react";
import jsonpath from "jsonpath";
import {
Field,
reduxForm,
formValueSelector,
getFormSubmitErrors,
} from "redux-form";
import {
useDispatch,
useSelector,
shallowEqual,
connect,
setRegisterFormComplete,
setAccountCreatedComplete,
} from "react-redux";
import { connect } from "react-redux";
import { setAccCr, setLogout } from "../../store/accountDetails/action";
import { getEmailAccountCheck, createAccount } from "../../actions";
import { createAccount, getEmailAccountCheck } from "../../actions";
const RegisterComplete = (props) => {
const {
@@ -53,6 +39,7 @@ const RegisterComplete = (props) => {
let checkEmailObj = {};
console.log("props.accountDetails.accCr :", props.accountDetails.accCr);
switch (props.accountDetails.accCr) {
case "created":
case "exists":
@@ -66,7 +53,6 @@ const RegisterComplete = (props) => {
? setAccCr("exists")
: (checkEmailObj = createAccount(accountBody).then(
(data) => {
//console.log(data);
setAccCr("created");
}
));
@@ -95,17 +81,8 @@ const RegisterComplete = (props) => {
</p>
<p className="govuk-body">
<Link href="/">
<a
className="govuk-link"
onClick={() => {
setLogout(), window.localStorage.clear();
}}
>
{t(
"account:register-new-account-my-portal-link"
)}
</a>
<Link href="/" className="govuk-link">
{t("account:register-new-account-my-portal-link")}
</Link>
</p>
</>
+17 -50
View File
@@ -1,14 +1,8 @@
import _ from "lodash";
import React, { useState } from "react";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import {
Field,
reduxForm,
formValueSelector,
getFormSubmitErrors,
} from "redux-form";
import { useDispatch, useSelector, shallowEqual, connect } from "react-redux";
import { useRouter } from "next/router";
import React, { useState } from "react";
import { connect } from "react-redux";
import { Field, formValueSelector, reduxForm } from "redux-form";
import RegisterFormCheck from "./registerCheck";
import RegisterComplete from "./registerComplete";
@@ -84,7 +78,10 @@ const RegisterForm = (props) => {
const emailRegex =
/(?:[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/gi;
const required = (value) => (value ? undefined : "Is required");
const required = (value) =>
value
? undefined
: t("account:register-new-account-postcode-label-errormsg");
const email = (value) =>
value && !emailRegex.test(value) ? "Invalid email address" : undefined;
const phoneNumber = (value) =>
@@ -106,14 +103,20 @@ const RegisterForm = (props) => {
: undefined;
const minLength5 = minLength(5);
const postcode = (value) =>
value &&
!/^([A-Z][A-HJ-Y]?[0-9][A-Z0-9]? ?[0-9][A-Z]{2}|GIR ?0A{2})$/i.test(
value
)
? t("account:register-new-account-postcode-invalid-label-errormsg")
: undefined;
const [hasErrors, setHasErrors] = useState("");
const onHandleSubmit = (values) => {
//console.log(values);
setRegisterFormComplete(true);
};
//console.log(pristine);
return (
<>
{!pristine && !valid && (
@@ -194,39 +197,6 @@ const RegisterForm = (props) => {
"account:register-new-account-phone-label"
)}
/>
<Field
name="pinswg_custom_password"
id="pinswg_custom_password"
component={RenderTextfield}
type="password"
className="govuk-input govuk-input--width-20"
label={t(
"account:register-new-account-password-label"
)}
validate={[required, minLength5]}
errorMsg={t(
"account:register-new-account-password-label-errormsg"
)}
/>
<Field
name="custom_password_check"
id="custom_password_check"
component={RenderTextfield}
type="password"
className="govuk-input govuk-input--width-20"
label={t(
"account:register-new-account-confirm-password-label"
)}
validate={[
required,
passwordsMatch,
minLength5,
]}
errorMsg={t(
"account:register-new-account-confirm-password-label-errormsg"
)}
/>
</fieldset>
<fieldset className="govuk-fieldset">
<legend className="govuk-fieldset__legend govuk-fieldset__legend--m">
@@ -298,10 +268,7 @@ const RegisterForm = (props) => {
label={t(
"account:register-new-account-postcode-label"
)}
validate={[required]}
errorMsg={t(
"account:register-new-account-postcode-label-errormsg"
)}
validate={[required, postcode]}
/>
</fieldset>
+21
View File
@@ -0,0 +1,21 @@
import useTranslation from "next-translate/useTranslation";
import { useRouter } from "next/router";
import AddressSearch from "./search/addresssearch";
export default function Search(props) {
let { t } = useTranslation();
const router = useRouter();
const { locale } = router;
//console.log("props here:", props.myportal || false);
return (
<main
className="govuk-main-wrapper govuk-main-wrapper--auto-spacing"
id="main-content"
role="main"
>
<AddressSearch myportal={props.myportal || false} />
</main>
);
}
+78
View File
@@ -0,0 +1,78 @@
import useTranslation from "next-translate/useTranslation";
import Link from "next/link";
import { useRouter } from "next/router";
import CRMError from "./crmError";
import SearchResults from "./search/addresssearchresults";
export default function Search(props) {
const {
searchString,
searchResultsObj,
advancedSearch,
myportal,
watchedCases,
isLinkedCase,
showLoginCheck,
} = props;
let { t } = useTranslation();
const router = useRouter();
const { locale } = router;
var hasError = _.has(searchResultsObj.searchResultsObj, "errorCode")
? true
: false;
//console.log("has an error", hasError);
return (
<main
className="govuk-main-wrapper govuk-main-wrapper--auto-spacing"
id="main-content"
role="main"
>
{hasError ? (
<CRMError props={props} />
) : (
<>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<SearchResults
advancedSearch={advancedSearch}
searchString={searchString}
searchResultsObj={
searchResultsObj.searchResultsObj
}
searchDetailsObj={
searchResultsObj.searchDetailsObj
}
myportal={myportal}
watchedCases={watchedCases}
isLinkedCase={isLinkedCase}
showLoginCheck={showLoginCheck}
/>
</div>
</div>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<div className="govuk-button-group">
<Link
href="/addresssearch"
className="govuk-button"
>
{t("common:breadcrumb-address-search")}
</Link>
{/* <a
onClick={() => router.back()}
className="govuk-button govuk-button--secondary"
>
{t("search:searchresults-new-search-button-label")}
</a> */}
</div>
</div>
</div>
</>
)}
</main>
);
}
+33
View File
@@ -0,0 +1,33 @@
import React from "react";
import { ApplicationInsights } from "@microsoft/applicationinsights-web";
import {
ReactPlugin,
withAITracking,
AppInsightsContext,
} from "@microsoft/applicationinsights-react-js";
let reactPlugin = new ReactPlugin();
let appInsights = new ApplicationInsights({
config: {
connectionString: process.env.NEXT_PUBLIC_APP_INSIGHT,
enableAutoRouteTracking: true,
enableCorsCorrelation: true,
enableRequestHeaderTracking: true,
enableResponseHeaderTracking: true,
enableAjaxPerfTracking: true,
isBrowserLinkTrackingEnabled: true,
extensions: [reactPlugin],
},
});
appInsights.loadAppInsights();
const AzureAppInsights = ({ children }) => {
return (
<AppInsightsContext.Provider value={reactPlugin}>
{children}
</AppInsightsContext.Provider>
);
};
export default withAITracking(reactPlugin, AzureAppInsights);
-1
View File
@@ -1,4 +1,3 @@
import Link from "next/link";
import useTranslation from "next-translate/useTranslation";
export default function Banner() {
+680 -303
View File
File diff suppressed because it is too large Load Diff
+8 -7
View File
@@ -1,10 +1,8 @@
import Link from "next/link";
import { useRouter } from "next/router";
import { useContext } from "react";
import useTranslation from "next-translate/useTranslation";
import Summary from "./case/summary";
import { useRouter } from "next/router";
import Documents from "./case/documents";
import RepresentationList from "./case/representationList";
import Summary from "./case/summary";
const Case = (props) => {
const { showRepresentations } = props;
@@ -32,9 +30,13 @@ const Case = (props) => {
currentType={props.currentType}
appealTypeID={props.appealTypeID}
searchResultsObj={props.searchResultsObj}
directSearchResultsObj={props.directSearchResultsObj}
searchDetailsObj={props.searchDetailsObj}
searchString={props.searchString}
incidentid={props.incidentid}
showMap={props.showMap}
currentView={props.currentView}
messagesObj={props.messagesObj}
/>
<Documents
incidentid={props.incidentid}
@@ -42,15 +44,14 @@ const Case = (props) => {
searchResultsObj={props.searchResultsObj}
searchDetailsObj={props.searchDetailsObj}
documentDetailsObj={props.documentDetailsObj}
documentHistoryObj={props.documentHistoryObj}
docsOffline={props.props.docsOffline}
/>
{showRepresentations == "true" && (
{showRepresentations == true && (
<RepresentationList
incidentid={props.incidentid}
caseReference={props.caseReference}
representationsObj={props.representationsObj}
documentDetailsObj={props.documentDetailsObj}
documentHistoryObj={props.documentHistoryObj}
/>
)}
</div>
+83
View File
@@ -0,0 +1,83 @@
import cookie from "cookie-cutter";
import useTranslation from "next-translate/useTranslation";
import { useRouter } from "next/router";
import { useState } from "react";
import { formatDates } from "../utils";
export default function CaseNoticeBanner(props) {
let { t, lang } = useTranslation();
const { messagesObj } = props;
const router = useRouter();
const noticeContent = messagesObj.value[0].description;
const noticeTitle = messagesObj.value[0].subject.split("Banner ")[1];
const bannerOpenCookie = typeof cookie.get("pedwNotice") == "undefined";
let messagesObjArr = messagesObj.value;
return (
<>
{messagesObjArr.map((message, index) => (
<div className="govuk-warning-text noticebanner" key={index}>
<strong className="govuk-warning-text__text">
<span className="govuk-visually-hidden">Warning</span>
</strong>
<div>
<div className=" govuk-body-s">
<h2 className="govuk-heading-s">
{(
message.subject.match(
new RegExp(">>>", "g")
) || []
).length > 0
? router.locale == "cy"
? message.subject
.split("Banner ")[1]
.split(">>>")[1]
: message.subject
.split("Banner ")[1]
.split(">>>")[0]
: (
message.subject.match(
new RegExp(";", "g")
) || []
).length > 0
? router.locale == "cy"
? message.subject
.split("Banner ")[1]
.split(";")[1]
: message.subject
.split("Banner ")[1]
.split(";")[0]
: message.subject.split("Banner ")[1]}
</h2>
</div>
<div className="govuk-body-s">
{(
message.description.match(
new RegExp(">>>", "g")
) || []
).length > 0
? router.locale == "cy"
? message.description.split(">>>")[1]
: message.description.split(">>>")[0]
: (
message.description.match(
new RegExp(";", "g")
) || []
).length > 0
? router.locale == "cy"
? message.description.split(";")[1]
: message.description.split(";")[0]
: message.description}
</div>
<div className="govuk-body-xs govuk-!-margin-bottom-0 ">
{t("case:date-raised")}:{" "}
{formatDates(message.createdon)}
</div>
</div>
</div>
))}
</>
);
}
+461 -245
View File
@@ -1,30 +1,22 @@
import { JSONPath as jsonpath } from "jsonpath-plus";
import useTranslation from "next-translate/useTranslation";
import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import { useState, useEffect, useRef } from "react";
import { useDispatch, useSelector, shallowEqual, connect } from "react-redux";
import { useCallback, useEffect, useRef, useState } from "react";
import { connect } from "react-redux";
import transLookup from "../../data/lookuptranslations.json";
import { formatDates } from "../utils";
import PaginationControl from "./pagination";
import LoadingOverlay from "react-loading-overlay";
import CryptoJS from "crypto-js";
import { sendGAEvent } from "@next/third-parties/google";
import {
getBasicSearch,
getBasicSearchDetails,
getSearchDocumentDetails,
getSearchDocumentHistory,
getSearchDocumentHistoryPaged,
getSearchDocumentDetailsPaged,
getSearchDocumentTypes,
} from "../../actions";
import { setCurrentPage } from "../../store/currentView/action";
import {
setSearchResults,
setSearchDetails,
setDocumentDetails,
setDocumentHistory,
getSearchResultsObj,
} from "../../store/searchOutput/action";
import { setDocumentDetails } from "../../store/searchOutput/action";
const DocumentDetails = (props) => {
let { t } = useTranslation();
@@ -35,9 +27,9 @@ const DocumentDetails = (props) => {
searchResultsObj,
searchDetailsObj,
documentDetailsObj,
documentHistoryObj,
setDocumentDetails,
setDocumentHistory,
setCurrentPage,
docsOffline,
} = props;
const router = useRouter();
@@ -45,10 +37,44 @@ const DocumentDetails = (props) => {
var documentDetailsArr = documentDetailsObj || [];
const DocumentView = (documentDetailsArr) => {
//console.log(documentDetailsArr);
const [selectedOption, setSelectedOption] = useState(10);
const [documentTypes, setDocumentTypes] = useState([{}]);
const [selectedDocumentType, setSelectedDocumentType] = useState("all");
let ShowDocLinks = false;
let checkShowDocLinks = docsOffline != false ? true : false;
const getDocLink = (docsOffline) => {
var startTime = docsOffline.split(",")[0];
var endTime = docsOffline.split(",")[1];
// console.log(startTime);
// console.log(endTime);
var currentDate = new Date();
var startDate = new Date(currentDate.getTime());
startDate.setHours(startTime.split(":")[0]);
startDate.setMinutes(startTime.split(":")[1]);
startDate.setSeconds(startTime.split(":")[2]);
var endDate = new Date(currentDate.getTime());
endDate.setHours(endTime.split(":")[0]);
endDate.setMinutes(endTime.split(":")[1]);
endDate.setSeconds(endTime.split(":")[2]);
// console.log(startDate);
// console.log(endDate);
// console.log(currentDate);
var valid = startDate < currentDate && endDate > currentDate;
ShowDocLinks = valid;
};
checkShowDocLinks && getDocLink(docsOffline);
const DocumentView = (documentDetailsArr) => {
documentDetailsArr = documentDetailsArr.value;
return (
<>
<p>
@@ -60,250 +86,375 @@ const DocumentDetails = (props) => {
? t("case:documents-count-label-2")
: t("case:documents-count-label-2a")}
</p>
<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 ">
{t("case:documents-name-label")}
</dd>
<dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("case:documents-doc-type-label")}
</dd>
<dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("case:documents-date-published-label")}
</dd>
{/* <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("case:documents-size-label")}
</dd> */}
</div>
{documentDetailsArr.map((item) => {
let detailsObj = jsonpath.query(
item,
"$..[?(@._pinswg_documentids_value=='" +
incidentid +
"')]"
);
detailsObj = item;
if (typeof detailsObj != "undefined") {
var documentHistoryArr = documentHistoryObj || [];
return documentHistoryArr.map(
(historyItem, key) => {
let historyObj = jsonpath.query(
documentHistoryObj[key],
"$..value[?(@._pinswg_documentid_value=='" +
detailsObj.pinswg_documentid +
"')]"
);
historyObj = historyObj[0];
return !_.isEmpty(historyObj) ? (
<div
className="govuk-summary-list__row"
key={key}
>
<dd className="govuk-summary-list__value govuk-!-font-size-16 ">
<a
href={
detailsObj.pinswg_hashlink
}
>
<span className="results-visually-hidden">
{t(
"case:documents-name-label"
)}
:
</span>
{_.has(historyObj, [
"_pinswg_documentid_value@OData.Community.Display.V1.FormattedValue",
])
? historyObj[
"_pinswg_documentid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</a>
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden">
{t(
"case:documents-doc-type-label"
)}
:
</span>
<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">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="All")].value_cy',
transLookup
)
: "All"}
</option>
{documentTypes.map((item, key) => {
return (
<option
key={key}
value={
item.pinswg_isharedocumentlocations
}
>
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
item.pinswg_isharedocumentlocationsLabel +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue"
] ||
: item.pinswg_isharedocumentlocationsLabel ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-16">
</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(
"$..[?(@._pinswg_documentids_value=='" +
incidentid +
"')]",
item
);
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-date-published-label"
"case:documents-name-label"
)}
:
</span>
{_.has(historyObj, [
"pinswg_publisheddate@OData.Community.Display.V1.FormattedValue",
])
? formatDates(
historyObj[
"pinswg_publisheddate@OData.Community.Display.V1.FormattedValue"
]
)
{_.has(
detailsObj,
"pinswg_name"
)
? detailsObj.pinswg_name
: ""}
</dd>
{/* <dd className="govuk-summary-list__value govuk-!-font-size-16">
</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-size-label")}:
{t("case:documents-doc-type-label")}
:
</span>
92
</dd> */}
</div>
) : (
""
);
}
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: 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}
spinnerState={spinnerState}
orderBy={orderByState}
fieldSort={fieldSortState}
getDocumentResults={getDocumentResults}
/>
</>
);
};
useEffect(() => {
const docDetailsObj = async () => {
let docObj = await getSearchDocumentDetails(incidentid)
const getDocumentTypes = useCallback(() => {
getSearchDocumentTypes(props.incidentid).then((data) => {
setDocumentTypes(data);
});
}, [props.incidentid]);
const getDocumentResults = useCallback(
(pageNumber, orderBy, fieldSort) => {
getSearchDocumentDetailsPaged(
props.incidentid,
pageNumber,
orderBy,
fieldSort,
selectedOption,
selectedDocumentType
)
.then((data) => data)
.then((data) => {
//console.log(data);
setDocumentDetails(data);
return data;
})
.then((data) => {
let historyObj = getDocumentHistory(data.value).then(
(result) => {
setDocumentHistory(result);
setDocumentSearchState(true);
return result;
}
);
return data;
setShowSpinnerState(false);
});
return docObj;
};
const getDocumentHistory = async (searchDocumentDetailsObj) => {
let historyArr = [];
searchDocumentDetailsObj = searchDocumentDetailsObj || [];
const detailsObj = searchDocumentDetailsObj.map(
(historyDetail, index) => {
if (historyDetail.pinswg_publishtoweb != true) {
console.log(historyDetail.pinswg_documentid);
} else {
historyArr.push(
getSearchDocumentHistory(
historyDetail.pinswg_documentid
)
);
}
}
);
return Promise.all(historyArr);
};
const searchDocumentResultsObj = docDetailsObj();
}, [incidentid, setDocumentHistory, setDocumentDetails]);
const getDocumentResults = (pageNumber) => {
getSearchDocumentDetailsPaged(incidentid, pageNumber)
.then((data) => {
//console.log(data);
setDocumentDetails(data);
return data;
})
.then((data) => {
//console.log("getting details", data);
return getDocumentHistory(data.value).then((data) => {
setDocumentHistory(data);
//setShowSpinnerState(false);
});
});
};
},
[
props.incidentid,
selectedOption,
selectedDocumentType,
setDocumentDetails,
]
);
const getDocumentDetails = async () => {
let docObj = await getSearchDocumentDetailsPaged(incidentid, pageNumber)
.then((data) => {
//console.log(data);
setDocumentDetails(data);
return data;
})
.then((data) => {
let historyObj = getDocumentHistory(
data.value,
pageNumber
).then((result) => {
setDocumentHistory(result);
return result;
});
return data;
});
let docObj = await getSearchDocumentDetailsPaged(
incidentid,
pageNumber,
orderBy,
fieldSort
).then((data) => {
setDocumentDetails(data);
return data;
});
return docObj;
};
const getDocumentHistory = async (searchDocumentDetailsObj, pageNumber) => {
let historyArr = [];
searchDocumentDetailsObj = searchDocumentDetailsObj || [];
const detailsObj = searchDocumentDetailsObj.map(
(historyDetail, index) => {
if (historyDetail.pinswg_publishtoweb != true) {
console.log(historyDetail.pinswg_documentid);
} else {
historyArr.push(
getSearchDocumentHistoryPaged(
historyDetail.pinswg_documentid,
pageNumber
)
);
}
}
);
return Promise.all(historyArr);
};
function formatDates(dateObj) {
var dateObj = new Date(dateObj);
var dd = String(dateObj.getDate()).padStart(2, "0");
var mm = String(dateObj.getMonth() + 1).padStart(2, "0"); //January is 0!
var yyyy = dateObj.getFullYear();
return dd + "/" + mm + "/" + yyyy;
}
const pagesCount = Math.ceil(documentDetailsObj["@odata.count"] / 10);
let currentPage = 0;
@@ -325,15 +476,30 @@ const DocumentDetails = (props) => {
)
: pagesCount;
//const [showSpinnerState, setShowSpinnerState] = useState(false);
const [showSpinnerState, setShowSpinnerState] = useState(false);
// let spinnerState = () => {
// showSpinnerState == true
// ? setShowSpinnerState(false)
// : setShowSpinnerState(true);
// };
const [showDownloadingState, setShowDownloadingState] = useState(null);
const toggleDownLoadLink = (i) => {
setShowDownloadingState(i);
const downloadTime = setTimeout(hideDownloadCover, 5000);
downloadTime;
};
function hideDownloadCover() {
setShowDownloadingState(null);
}
let spinnerState = () => {
showSpinnerState == true
? setShowSpinnerState(false)
: setShowSpinnerState(true);
};
const [showDocumentSearchState, setDocumentSearchState] = useState(false);
const [orderByState, setOrderbyState] = useState("createdon");
const [fieldSortState, setfieldSortState] = useState("asc");
let documentSearchState = () => {
showDocumentSearchState == true
@@ -341,13 +507,68 @@ const DocumentDetails = (props) => {
: setDocumentSearchState(true);
};
const sortDataBy = (whichField) => {
setOrderbyState(whichField);
setfieldSortState("asc");
getDocumentResults(1, whichField, fieldSortState);
whichField == orderByState
? fieldSortState == "desc"
? setfieldSortState("asc")
: setfieldSortState("desc")
: setfieldSortState("asc");
setCurrentPage(1);
setShowSpinnerState(true);
};
useEffect(() => {
getDocumentTypes();
if (selectedOption) {
setShowSpinnerState(true);
getDocumentResults(1, orderByState, fieldSortState);
}
if (selectedDocumentType) {
setShowSpinnerState(true);
getDocumentResults(
1,
orderByState,
fieldSortState,
selectedDocumentType
);
}
const docDetailsObj = async () => {
let docObj = await getSearchDocumentDetails(incidentid).then(
(data) => {
setDocumentDetails(data);
setDocumentSearchState(true);
return data;
}
);
return docObj;
};
const searchDocumentResultsObj = docDetailsObj();
}, [
incidentid,
setDocumentDetails,
selectedOption,
selectedDocumentType,
fieldSortState,
orderByState,
getDocumentTypes,
getDocumentResults,
]);
return (
<>
<div>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<h2>{t("case:documents-heading-label")}</h2>
{_.isEmpty(documentHistoryObj) ? (
{_.isEmpty(documentDetailsObj.value) ? (
<div className="govuk-grid-row">
<div className="govuk-grid-column-two-thirds">
<h3>
@@ -365,11 +586,6 @@ const DocumentDetails = (props) => {
</div>
</div>
</div>
{/* <LoadingOverlay
active={showSpinnerState}
spinner
text={t("common:spinner-searching")}
/> */}
</>
);
};
@@ -385,8 +601,8 @@ const mapDispatchToProps = (dispatch) => {
setDocumentDetails: (detailsObj) => {
dispatch(setDocumentDetails(detailsObj));
},
setDocumentHistory: (historyObj) => {
dispatch(setDocumentHistory(historyObj));
setCurrentPage: (currentPage) => {
dispatch(setCurrentPage(currentPage));
},
};
};
+67 -25
View File
@@ -1,39 +1,46 @@
import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import { useRouter } from "next/router";
import { connect } from "react-redux";
import { setCurrentPage } from "../../store/currentView/action";
const PaginationControl = (props) => {
const {
showNoOfRecords,
orderBy,
fieldSort,
searchString,
searchResultsObj,
currentPage,
spinnerState,
getDocumentResults,
setCurrentPage,
} = props;
let { t } = useTranslation();
const router = useRouter();
const { locale } = router;
const pagesCount = Math.ceil(searchResultsObj["@odata.count"] / 10);
const pagesCount = Math.ceil(
searchResultsObj["@odata.count"] / showNoOfRecords
);
const getRange = (start, end) => {
//console.log(start, end);
return Array(end - start + 1)
.fill()
.map((v, i) => i + start);
};
const paginationNumbers = (currentPage, pageCount) => {
//console.log(currentPage);
let delta;
if (pageCount <= 10) {
if (pageCount <= 7) {
// delta === 7: [1 2 3 4 5 6 7]
delta = 10;
delta = 7;
} else {
// delta === 2: [1 ... 4 5 6 ... 10]
// delta === 4: [1 2 3 4 5 ... 10]
delta = currentPage > 4 && currentPage < pageCount - 3 ? 4 : 6;
//delta = currentPage > 4 && currentPage < pageCount - 3 ? 4 : 4;
delta = currentPage > 4 && currentPage < pageCount - 3 ? 4 : 4;
}
const range = {
@@ -65,24 +72,34 @@ const PaginationControl = (props) => {
pages = pages.concat(withDots(pageCount, ["...", pageCount]));
}
//console.log(pages);
return pages;
};
const paginationArray = paginationNumbers(currentPage, pagesCount);
const paginationArray = paginationNumbers(
props.currentView.currentPage,
pagesCount
);
return (
<>
{pagesCount > 1 ? (
{pagesCount > 1 && (
<div className="govuk-!-margin-bottom-7 ">
<div className="govuk-grid-row paginationWrapper">
<div className="govuk-grid-column-one-quarter paginationPrevious">
{currentPage != 1 ? (
{props.currentView.currentPage != 1 ? (
<span
className="govuk-body govuk-link govuk-!-font-weight-bold govuk-link--no-underline activePaginationItem leftTextButton"
onClick={() => {
// spinnerState(),
getDocumentResults(currentPage - 1);
spinnerState(),
setCurrentPage(
props.currentView.currentPage -
1
),
getDocumentResults(
props.currentView.currentPage -
1,
orderBy,
fieldSort
);
}}
>
{t("common:previous-link-button")}
@@ -95,7 +112,7 @@ const PaginationControl = (props) => {
</div>
<div className="govuk-grid-column-one-half paginationContainer">
{paginationArray.map((e, i) =>
currentPage == i + 1 ? (
props.currentView.currentPage == e ? (
<span
key={i}
className=" govuk-body govuk-!-padding-2 govuk-!-font-weight-bold "
@@ -114,9 +131,13 @@ const PaginationControl = (props) => {
className="govuk-body govuk-link govuk-!-padding-2 govuk-!-font-weight-bold govuk-link--no-underline activePaginationItem"
key={i}
onClick={() => {
// spinnerState();
console.log(i + 1);
getDocumentResults(i + 1);
spinnerState();
setCurrentPage(e),
getDocumentResults(
e,
orderBy,
fieldSort
);
}}
>
{e}
@@ -125,12 +146,21 @@ const PaginationControl = (props) => {
)}
</div>
<div className="govuk-grid-column-one-quarter paginationNext">
{currentPage != pagesCount ? (
{props.currentView.currentPage < pagesCount ? (
<span
className="govuk-body govuk-link govuk-!-font-weight-bold govuk-link--no-underline activePaginationItem rightTextButton"
onClick={() => {
// spinnerState(),
getDocumentResults(currentPage + 1);
spinnerState(),
setCurrentPage(
props.currentView.currentPage +
1
),
getDocumentResults(
props.currentView.currentPage +
1,
orderBy,
fieldSort
);
}}
>
{t("common:next-link-button")}
@@ -148,11 +178,23 @@ const PaginationControl = (props) => {
{t("common:of-label")} {pagesCount}
</div>
</div>
) : (
""
)}
</>
);
};
export default PaginationControl;
const mapStateToProps = (state) => {
return {
currentView: state.currentView,
};
};
const mapDispatchToProps = (dispatch) => {
return {
setCurrentPage: (currentPage) => {
dispatch(setCurrentPage(currentPage));
},
};
};
export default connect(mapStateToProps, mapDispatchToProps)(PaginationControl);
@@ -1,212 +0,0 @@
import Link from "next/link";
import { useState, useEffect } from "react";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import { Field, FieldArray, reduxForm, formValueSelector } from "redux-form";
import { connect } from "react-redux";
import { useDropzone } from "react-dropzone";
import { setRepresentationCapacity } from "../../../store/currentView/action";
import RepCapacitySelection from "./representationCapacitySelection";
import RepDetails from "./representationDetails";
import RepAppellant from "./representationAppellant";
import RepAgent from "./representationAgent";
import RepInterestedPartyPerson from "./representationInterestedPartyPerson";
import RepLandOwner from "./representationLandowner";
import {
RenderPickList,
RenderRadioList,
RenderTextfield,
} from "./representationElements";
let MakeRepresentation = (props) => {
let { t } = useTranslation();
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
const [clearRepForm, setClearRepForm] = useState(false);
const router = useRouter();
const { locale } = router;
const {
caseReference,
myCases,
myRepresentations,
watchedCases,
awaitingSubmission,
searchResultsObj,
currentType,
currentView,
setRepresentationCapacity,
} = props;
const formObj = props.props.form;
let setCaseQueryObj = props[currentType];
var casesObj = {};
currentType == "searchResultsObj"
? (casesObj = jsonpath.query(
setCaseQueryObj,
'$..[?(@.title=="' + caseReference + '")]'
))
: (casesObj = jsonpath.query(
setCaseQueryObj,
'$..[?(@.reference=="' + caseReference + '")]'
));
casesObj = Object.assign({}, ...casesObj);
const capacityOptionsArr = [
"Appellant",
"Agent",
"Interested Party/Person",
"Land Owner",
];
const appellantApplicantRepresentationArr = [
"Other",
"Statement",
"Statement of common ground",
"Written statement of evidence",
];
const interestedPersonRepresentationArr = [
"Interested Party/Person correspondence",
];
const landOwnerRepresentationArr = [
"Other",
"Statement",
"Written statement of evidence",
];
const repCapacityType = () => {
currentView.representationCapacity == false
? false
: _.isEmpty(formObj["representationForm"])
? false
: _.isEmpty(formObj["representationForm"].values)
? false
: _.isEmpty(
formObj["representationForm"].values.representationCapacity
)
? setRepresentationCapacity(false)
: setRepresentationCapacity(
formObj["representationForm"].values.representationCapacity
.replace(/(\band|[\s\-\+\(\)\,\&])/g, "")
.toLowerCase()
);
return currentView.representationCapacity;
};
const whichControl = () => {
repCapacityType();
switch (currentView.representationCapacity) {
case false:
return (
<RepCapacitySelection
formObj={formObj}
capacityOptionsArr={capacityOptionsArr}
currentType={currentType}
casesObj={casesObj}
setRepresentationCapacity={setRepresentationCapacity}
/>
);
break;
case "appellant":
setRepresentationCapacity("appellant");
return (
<RepAppellant
formObj={formObj}
appellantApplicantRepresentationArr={
appellantApplicantRepresentationArr
}
setRepresentationCapacity={setRepresentationCapacity}
/>
);
break;
case "agent":
setRepresentationCapacity("agent");
return (
<RepAgent
formObj={formObj}
appellantApplicantRepresentationArr={
appellantApplicantRepresentationArr
}
setRepresentationCapacity={setRepresentationCapacity}
/>
);
break;
case "interestedpartyperson":
setRepresentationCapacity("interestedpartyperson");
return (
<RepInterestedPartyPerson
formObj={formObj}
interestedPersonRepresentationArr={
interestedPersonRepresentationArr
}
setRepresentationCapacity={setRepresentationCapacity}
/>
);
break;
case "landowner":
setRepresentationCapacity("landowner");
return (
<RepLandOwner
formObj={formObj}
landOwnerRepresentationArr={landOwnerRepresentationArr}
setRepresentationCapacity={setRepresentationCapacity}
/>
);
break;
default:
return (
<RepCapacitySelection
formObj={formObj}
capacityOptionsArr={capacityOptionsArr}
currentType={currentType}
casesObj={casesObj}
setRepresentationCapacity={setRepresentationCapacity}
/>
);
}
};
return (
<div>
{whichControl()} - {props.firstValue}
</div>
);
};
const mapStateToProps = (state) => {
return {
search: state.search,
searchResultsObj: state.searchResultsObj,
formData: state.formData,
appealType: state.appealType,
currentView: state.currentView,
//form: state.form,
};
};
const mapDispatchToProps = (dispatch) => {
return {
setRepresentationCapacity: (representationCapacity) => {
dispatch(setRepresentationCapacity(representationCapacity));
},
};
};
const selector = formValueSelector("representationForm");
export default connect(
mapStateToProps,
mapDispatchToProps
)(
reduxForm({
form: "representationForm",
destroyOnUnmount: false,
})(MakeRepresentation)
);
File diff suppressed because it is too large Load Diff
@@ -1,17 +1,17 @@
import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import { Field, reduxForm } from "redux-form";
import { useRouter } from "next/router";
import { connect } from "react-redux";
import { Field, change, reduxForm } from "redux-form";
import { useState } from "react";
import { bytesToSize, getThumbnailIconByExtension } from "../../utils";
import {
FileUploadField,
RenderCondtionalRadioList,
RenderPickList,
RenderTextfield,
RenderRadioList,
RenderMultiline,
RenderRichMultiline,
} from "./representationElements";
import {
setRepresentationCapacity,
setRepresentationSubmit,
} from "../../../store/currentView/action";
import { useDropzone } from "react-dropzone";
const RepAgent = (props) => {
@@ -25,180 +25,194 @@ const RepAgent = (props) => {
setRepresentationCapacity,
setRepresentationSubmit,
currentView,
setRepFileName,
updateRepresentation,
} = props;
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
const [savingStatus, setSavingStatus] = useState(false);
setRepFileName(formObj.representationForm.values);
let filterFilesList =
props.currentView.caseReference.repDetails.filesList.filter(function (
el
) {
return el != null;
});
const files = acceptedFiles.map((file) => (
<li key={file.path}>
{file.path} - {file.size} bytes
</li>
));
const required = (value) => (value ? undefined : "Required");
return (
<div id="rep-appellant">
<div className="govuk-grid-column-full">
<div className="govuk-grid-row">
<h2 className="govuk-heading-m ">Representation - agent</h2>
<>
<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(
"myrepresentations:representation-from-an-agent-heading"
)}
</h2>
<div className="govuk-form-group">
<label
className="govuk-label govuk-body-m"
htmlFor="representationType"
>
What kind of representation are you making?
</label>
<Field
name="representationType"
component={RenderPickList}
datafieldname="representationType"
optionsArr={appellantApplicantRepresentationArr}
/>
</div>
</div>
<div className="govuk-grid-row">
<div className="govuk-form-group">
<Field
className="govuk-input govuk-!-width-three-quarters"
id="representationDescription"
name="representationDescription"
value="email"
data-aria-controls="representationDescription"
type="text"
component={RenderTextfield}
label="Description of representation"
/>
</div>
</div>
<div className="govuk-grid-row">
<div className="govuk-form-group">
<p className="govuk-body">
You can enter your comments in the space provided or
attach a separate document.
</p>
<fieldset
className="govuk-fieldset"
aria-describedby="commentBox-hint"
>
<div id="commentBox-hint" className="govuk-hint">
My comments are set out in:*
</div>
<div
className="govuk-checkboxes"
data-module="govuk-checkboxes"
<label
className="govuk-label govuk-body-m"
htmlFor="representationType"
>
<div className="govuk-checkboxes__item">
<Field
className="govuk-checkboxes__input"
id="commentBox"
name="commentBox"
value="email"
data-aria-controls="commentBox"
type="checkbox"
component={RenderTextfield}
/>
<label
className="govuk-label govuk-checkboxes__label"
htmlFor="commentBox"
>
the box below{" "}
</label>
</div>
<div
className={
_.isEmpty(formObj["representationForm"])
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden rr"
: _.isEmpty(
formObj["representationForm"]
.values
)
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden q11 "
: _.isEmpty(
formObj["representationForm"]
.values.commentBox
)
? formObj["representationForm"]
.values.commentBox == false
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden www"
: "govuk-checkboxes__conditional"
: "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden wwwaqqqq"
}
id="conditional-commentBox"
>
<div className="govuk-form-group">
<Field
name="representationComments"
id="representationComments"
component={RenderMultiline}
type="text"
rows="5"
className="govuk-textarea govuk-input--width-30"
aria-describedby={
props.name + "-hint"
}
/>
</div>
</div>
<div className="govuk-checkboxes__item">
<Field
className="govuk-checkboxes__input"
id="documentBox"
name="documentBox"
value="email"
data-aria-controls="documentBox"
type="checkbox"
component={RenderTextfield}
/>
<label
className="govuk-label govuk-checkboxes__label"
htmlFor="documentBox"
>
separate documents
</label>
</div>
<div
className={
_.isEmpty(formObj["representationForm"])
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden rr"
: _.isEmpty(
formObj["representationForm"]
.values
)
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden www"
: _.isEmpty(
formObj["representationForm"]
.values.documentBox
)
? formObj["representationForm"]
.values.documentBox == false
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden www"
: "govuk-checkboxes__conditional"
: "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden"
}
id="conditional-documentBox"
>
<div className="govuk-form-group">
<section className="container">
<div
{...getRootProps({
className: "dropzone",
})}
>
<input {...getInputProps()} />
<p>
Drag and drop files here or
click to select files
</p>
</div>
<aside>
<h4>Files</h4>
<ul>{files}</ul>
</aside>
</section>
</div>
</div>
</div>
</fieldset>
</div>{" "}
{t("myrepresentations:kind-of-rep-label")}
</label>
<Field
name="representationType"
component={RenderPickList}
datafieldname="representationType"
optionsArr={appellantApplicantRepresentationArr}
/>
</>
) : (
<label className="govuk-label govuk-body-m">
{t("myrepresentations:representation-type")}:{" "}
{router.locale == "cy"
? formObj.representationForm.values
.representationType == "Questionnaire"
? "Holiadur"
: formObj.representationForm.values
.representationType == "Statement"
? "Datganiad"
: formObj.representationForm.values
.representationType ==
"Final comments"
? "Sylwadau terfynol"
: formObj.representationForm.values
.representationType
: formObj.representationForm.values
.representationType}
</label>
)}
</div>
</div>
{(typeof props.representationType != "undefined" ||
typeof formObj.representationForm.values.representationType !=
"undefined") && (
<>
<div className="govuk-grid-row">
<div className="govuk-form-group">
<Field
name="representationOnBehalfOf"
datafieldname="representationOnBehalfOf"
// label={t("myrepresentations:capacity-select-what-capacity-label")}
options={["Yes", "No"]}
id="representationOnBehalfOf"
className="govuk-radios__input"
errorMsg={t(
"myrepresentations:select-an-option-label"
)}
component={RenderCondtionalRadioList}
validate={[required]}
legend={
"Are you acting on behalf of a company, group or organisation?"
}
/>
</div>
</div>
<div className="govuk-grid-row">
<div className="govuk-form-group">
<p className="govuk-body">
{t("myrepresentations:enter-comment-label")}
</p>
<fieldset
className="govuk-fieldset"
aria-describedby="commentBox-hint"
>
<div
id="commentBox-hint"
className="govuk-hint"
>
{t(
"myrepresentations:comments-set-out-label"
)}
:
</div>
<div className="govuk-form-group">
<Field
name="representationComments"
id="representationComments"
component={RenderRichMultiline}
type="text"
rows="5"
className="govuk-textarea govuk-input--width-30"
aria-describedby={props.name + "-hint"}
/>
<p className="govuk-hint govuk-!-font-size-14 govuk-!-margin-top-5">
{t(
"myrepresentations:publish-policy-label"
)}
<a href="https://gov.wales/planning-and-environment-decisions-wales-publishing-policy-html">
https://gov.wales/planning-and-environment-decisions-wales-publishing-policy-html
</a>
</p>
</div>
<div className="govuk-form-group govuk-!-margin-bottom-9">
<FileUploadField
name={"representationDocuments"}
id={"representationDocuments"}
label={t(
"myrepresentations:add-files-label"
)}
ticketnumber={props.props.caseReference}
hint={"sdsd"}
fileList={[]}
setFilesForRepresentation={[]}
containerID={
props.props.props.accountDetails
.containerID
}
filenamePrefix={props}
/>
</div>
{props.currentView.caseReference.hasOwnProperty(
"repDetails"
) &&
props.currentView.caseReference.repDetails
.filesList.length > 0 ? (
<div className="govuk-form-group govuk-!-margin-bottom-9">
{filterFilesList.map((blob, i) => (
<div
key={blob.name + "_" + i}
className="govuk-!-margin-bottom-5 fileThumb "
>
<img
src={getThumbnailIconByExtension(
blob.name
)}
alt={blob.name}
width="50"
/>
<span className="govuk-body govuk-!-font-size-14 govuk-!-padding-left-5">
{blob.name} (
{bytesToSize(blob.size)})
</span>
</div>
))}
</div>
) : (
""
)}
</fieldset>
</div>{" "}
</div>
</>
)}
{typeof formObj.representationForm.values.representationType !=
"undefined" && (
<div className="govuk-grid-row">
<div className="govuk-button-group">
<button
@@ -206,30 +220,80 @@ const RepAgent = (props) => {
className="govuk-button"
data-module="govuk-button"
>
Continue
{t("common:continue-button")}
</button>
{/* <a
onClick={() => {
setRepresentationSubmit(false);
}}
className="govuk-button"
>
Continue
</a> */}
{/* {router.query.state != "edit" && (
<a
onClick={() => {
setRepresentationCapacity();
props.updateField(
"representationForm",
"representationCapacity",
""
);
}}
className="govuk-link"
>
{t("common:back-link")}
</a>
)} */}
{savingStatus ? (
<span className=" progress-save-active">
{router.locale == "cy"
? "Nôl data"
: "Saving data"}
<img
className="data-loading-icon"
src="/assets/images/loading.gif"
alt={
router.locale == "cy"
? "Nôl data"
: "Saving data"
}
/>
</span>
) : (
<button
className="govuk-button progress-save "
onClick={() => {
let valuesObj =
props.props.props.form[props.form]
.values || {};
<a
onClick={() => {
setRepresentationCapacity();
}}
className="govuk-link"
>
Back
</a>
console.log("valuesobj:", valuesObj);
delete valuesObj["_pinswg_appellant_value"];
console.log("on save:", valuesObj);
updateRepresentation(
valuesObj,
false,
true
);
}}
>
{t("common:save-exit-button")}
</button>
)}
</div>
</div>
</div>
</div>
)}
</>
);
};
export default RepAgent;
const mapDispatchToProps = (dispatch) => ({
updateField: (form, field, newValue) =>
dispatch(change(form, field, newValue)),
});
export default connect(
null,
mapDispatchToProps
)(
reduxForm({
form: "representationForm",
enableReinitialize: true,
destroyOnUnmount: false,
})(RepAgent)
);
@@ -1,19 +1,22 @@
import Link from "next/link";
import { connect } from "react-redux";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import { Field, reduxForm, reset } from "redux-form";
import { useRouter } from "next/router";
import React from "react";
import { connect } from "react-redux";
import { Field, change, reduxForm } from "redux-form";
import { useState } from "react";
import { bytesToSize, getThumbnailIconByExtension } from "../../utils";
import {
FileUploadField,
RenderPickList,
RenderTextfield,
RenderRadioList,
RenderMultiline,
RenderRichMultiline,
} from "./representationElements";
import { useDropzone } from "react-dropzone";
import {
setRepresentationCapacity,
setRepresentationSubmit,
} from "../../../store/currentView/action";
// import {
// setRepresentationCapacity,
// setRepresentationSubmit,
// } from "../../../store/currentView/action";
const RepAppellant = (props) => {
let { t } = useTranslation();
@@ -26,178 +29,168 @@ const RepAppellant = (props) => {
setRepresentationCapacity,
setRepresentationSubmit,
currentView,
setRepFileName,
updateRepresentation,
} = props;
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
const files = acceptedFiles.map((file) => (
<li key={file.path}>
{file.path} - {file.size} bytes
</li>
));
const [savingStatus, setSavingStatus] = useState(false);
setRepFileName(formObj.representationForm.values);
let filterFilesList =
props.currentView.caseReference.repDetails.filesList.filter(function (
el
) {
return el != null;
});
return (
<div id="rep-appellant">
<div className="govuk-grid-column-full">
<div className="govuk-grid-row">
<div className="govuk-form-group">
<label
className="govuk-label govuk-body-m"
htmlFor="representationType"
>
What kind of representation are you making?
<>
<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(
"myrepresentations:representation-from-an-appellant-heading"
)}
</h2>
<label
className="govuk-label govuk-body-m"
htmlFor="representationType"
>
{t("myrepresentations:kind-of-rep-label")}
</label>
<Field
name="representationType"
component={RenderPickList}
datafieldname="representationType"
optionsArr={appellantApplicantRepresentationArr}
/>
</>
) : (
<label className="govuk-label govuk-body-m">
{t("myrepresentations:representation-type")}:{" "}
{router.locale == "cy"
? formObj.representationForm.values
.representationType == "Questionnaire"
? "Holiadur"
: formObj.representationForm.values
.representationType == "Statement"
? "Datganiad"
: formObj.representationForm.values
.representationType ==
"Final comments"
? "Sylwadau terfynol"
: formObj.representationForm.values
.representationType
: formObj.representationForm.values
.representationType}
</label>
<Field
name="representationType"
component={RenderPickList}
datafieldname="representationType"
optionsArr={appellantApplicantRepresentationArr}
/>
</div>
</div>
<div className="govuk-grid-row">
<div className="govuk-form-group">
<Field
className="govuk-input govuk-!-width-three-quarters"
id="representationDescription"
name="representationDescription"
value="email"
data-aria-controls="representationDescription"
type="text"
component={RenderTextfield}
label="Description of representation"
/>
</div>
)}
</div>
</div>
{(typeof props.representationType != "undefined" ||
typeof formObj.representationForm.values.representationType !=
"undefined") && (
<div className="govuk-grid-row">
<div className="govuk-form-group">
<p className="govuk-body">
You can enter your comments in the space provided or
attach a separate document.
{t("myrepresentations:enter-comment-label")}
</p>
<fieldset
className="govuk-fieldset"
aria-describedby="commentBox-hint"
>
<div id="commentBox-hint" className="govuk-hint">
My comments are set out in:*
{t("myrepresentations:comments-set-out-label")}:
</div>
<div
className="govuk-checkboxes"
data-module="govuk-checkboxes"
>
<div className="govuk-checkboxes__item">
<Field
className="govuk-checkboxes__input"
id="commentBox"
name="commentBox"
value="email"
data-aria-controls="commentBox"
type="checkbox"
component={RenderTextfield}
/>
<label
className="govuk-label govuk-checkboxes__label"
htmlFor="commentBox"
>
the box below{" "}
</label>
</div>
<div
className={
_.isEmpty(formObj["representationForm"])
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden rr"
: _.isEmpty(
formObj["representationForm"]
.values
)
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden q11 "
: _.isEmpty(
formObj["representationForm"]
.values.commentBox
)
? formObj["representationForm"]
.values.commentBox == false
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden www"
: "govuk-checkboxes__conditional"
: "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden wwwaqqqq"
}
id="conditional-commentBox"
>
<div className="govuk-form-group">
<Field
name="representationComments"
id="representationComments"
component={RenderMultiline}
type="text"
rows="5"
className="govuk-textarea govuk-input--width-30"
aria-describedby={
props.name + "-hint"
}
/>
</div>
</div>
<div className="govuk-checkboxes__item">
<Field
className="govuk-checkboxes__input"
id="documentBox"
name="documentBox"
value="email"
data-aria-controls="documentBox"
type="checkbox"
component={RenderTextfield}
/>
<label
className="govuk-label govuk-checkboxes__label"
htmlFor="documentBox"
>
separate documents
</label>
</div>
<div
className={
_.isEmpty(formObj["representationForm"])
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden rr"
: _.isEmpty(
formObj["representationForm"]
.values
)
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden www"
: _.isEmpty(
formObj["representationForm"]
.values.documentBox
)
? formObj["representationForm"]
.values.documentBox == false
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden www"
: "govuk-checkboxes__conditional"
: "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden"
}
id="conditional-documentBox"
>
<div className="govuk-form-group">
<section className="container">
<div
{...getRootProps({
className: "dropzone",
})}
>
<input {...getInputProps()} />
<p>
Drag and drop files here or
click to select files
</p>
</div>
<aside>
<h4>Files</h4>
<ul>{files}</ul>
</aside>
</section>
</div>
</div>
<div className="govuk-form-group">
<Field
name="representationComments"
id="representationComments"
component={RenderRichMultiline}
type="text"
rows="5"
className="govuk-textarea govuk-input--width-30"
aria-describedby={props.name + "-hint"}
/>
{formObj.representationForm.values.appealType ==
"846040004" ? (
<p className="govuk-hint govuk-!-font-size-14 govuk-!-margin-top-5">
{t(
"myrepresentations:questionnaire-publish-policy-label"
)}{" "}
<a href="https://gov.wales/planning-and-environment-decisions-wales-publishing-policy-html">
https://gov.wales/planning-and-environment-decisions-wales-publishing-policy-html
</a>
</p>
) : (
<p className="govuk-hint govuk-!-font-size-14 govuk-!-margin-top-5">
{t(
"myrepresentations:publish-policy-label"
)}{" "}
<a href="https://gov.wales/planning-and-environment-decisions-wales-publishing-policy-html">
https://gov.wales/planning-and-environment-decisions-wales-publishing-policy-html
</a>
</p>
)}
</div>
<div className="govuk-form-group govuk-!-margin-bottom-9">
<FileUploadField
name={"representationDocuments"}
id={"representationDocuments"}
label={t(
"myrepresentations:add-files-label"
)}
ticketnumber={props.props.caseReference}
hint={"sdsd"}
fileList={[]}
setFilesForRepresentation={[]}
containerID={
props.props.props.accountDetails
.containerID
}
filenamePrefix={props}
/>
</div>
{props.currentView.caseReference.hasOwnProperty(
"repDetails"
) &&
props.currentView.caseReference.repDetails.filesList
.length > 0 ? (
<div className="govuk-form-group govuk-!-margin-bottom-9">
{filterFilesList.map((blob, i) => (
<div
key={blob.name + "_" + i}
className="govuk-!-margin-bottom-5 fileThumb "
>
<img
src={getThumbnailIconByExtension(
blob.name
)}
alt={blob.name}
width="50"
/>
<span className="govuk-body govuk-!-font-size-14 govuk-!-padding-left-5">
{blob.name} (
{bytesToSize(blob.size)})
</span>
</div>
))}
</div>
) : (
""
)}
</fieldset>
</div>{" "}
</div>
)}
{typeof formObj.representationForm.values.representationType !=
"undefined" && (
<div className="govuk-grid-row">
<div className="govuk-button-group">
<button
@@ -205,29 +198,83 @@ const RepAppellant = (props) => {
className="govuk-button"
data-module="govuk-button"
>
Continue
{t("common:continue-button")}
</button>
{/* <a
{/* {router.query.state != "edit" && (
<a
onClick={() => {
setRepresentationSubmit(false);
setRepresentationCapacity();
props.updateField(
"representationForm",
"representationType",
""
);
}}
className="govuk-button"
className="govuk-link"
>
Continue
</a> */}
<a
onClick={() => {
setRepresentationCapacity();
}}
className="govuk-link"
>
Back
</a>
{t("common:back-link")}
</a>
)} */}
{savingStatus ? (
<span className=" progress-save-active">
{router.locale == "cy"
? "Nôl data"
: "Saving data"}
<img
className="data-loading-icon"
src="/assets/images/loading.gif"
alt={
router.locale == "cy"
? "Nôl data"
: "Saving data"
}
/>
</span>
) : (
<button
className="govuk-button progress-save "
onClick={() => {
let valuesObj =
props.props.props.form[props.form]
.values || {};
console.log("valuesobj:", valuesObj);
delete valuesObj["_pinswg_appellant_value"];
console.log("on save:", valuesObj);
updateRepresentation(
valuesObj,
false,
true
);
}}
>
{t("common:save-exit-button")}
</button>
)}
</div>
</div>
</div>
</div>
)}
</>
);
};
export default RepAppellant;
//const mapStateToProps = (state, props) => {};
const mapDispatchToProps = (dispatch) => ({
updateField: (form, field, newValue) =>
dispatch(change(form, field, newValue)),
});
export default connect(
null,
mapDispatchToProps
)(
reduxForm({
form: "representationForm",
enableReinitialize: true,
destroyOnUnmount: false,
})(RepAppellant)
);
@@ -1,23 +1,9 @@
import Link from "next/link";
import { connect } from "react-redux";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import {
Field,
reduxForm,
formValueSelector,
handleSubmit,
reset,
} from "redux-form";
import {
RenderPickList,
RenderTextfield,
RenderRadioList,
RenderMultiline,
} from "./representationElements";
import { useRouter } from "next/router";
import { useDropzone } from "react-dropzone";
import { Field } from "redux-form";
import RepDetails from "./representationDetails";
import { setRepresentationCapacity } from "../../../store/currentView/action";
import { RenderRadioListWithText } from "./representationElements";
let RepCapacitySelection = (props) => {
let { t } = useTranslation();
@@ -47,22 +33,33 @@ let RepCapacitySelection = (props) => {
formObj={formObj}
currentType={currentType}
casesObj={casesObj}
caseReference={props.props.caseReference}
searchResultsObj={props.props.searchResultsObj}
myRepresentations={props.props.myRepresentations}
props={props}
/>{" "}
<div id="rep-details" className="vo_hiddens">
<div id="rep-details" className="">
<div className="govuk-grid-column-full">
<div className="govuk-grid-row">
<h2 className="govuk-heading-m ">
Your details - {props.firstValue}
{t(
"myrepresentations:capacity-select-your-details"
)}{" "}
- {props.firstValue}
</h2>
<Field
name="representationCapacity"
datafieldname="representationCapacity"
label="In what capacity do you wish to make representations on this case?"
label={t(
"myrepresentations:capacity-select-what-capacity-label"
)}
options={capacityOptionsArr}
id="representationCapacity"
className="govuk-radios__input"
errorMsg="Select an option"
component={RenderRadioList}
errorMsg={t(
"myrepresentations:select-an-option-label"
)}
component={RenderRadioListWithText}
validate={[required]}
/>
</div>
@@ -75,7 +72,7 @@ let RepCapacitySelection = (props) => {
className="govuk-button"
data-module="govuk-button"
>
Continue
{t("common:continue-button")}
</button>
</div>
</div>
@@ -1,19 +1,17 @@
import useTranslation from "next-translate/useTranslation";
import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import { Field, reduxForm } from "redux-form";
import {
RenderPickList,
RenderTextfield,
RenderRadioList,
RenderMultiline,
} from "./representationElements";
import {
setRepresentationCapacity,
setRepresentationSubmit,
setSubmitBack,
} from "../../../store/currentView/action";
import { useEffect } from "react";
import { connect } from "react-redux";
import { useDropzone } from "react-dropzone";
import {
createWatchedCases,
sendEmail,
sendRepCompleteMessage,
setRepInvolvment,
} from "../../../actions";
import { setRepresentationReset } from "../../../store/currentView/action";
const RepComplete = (props) => {
let { t } = useTranslation();
@@ -28,6 +26,8 @@ const RepComplete = (props) => {
currentView,
setSubmitBack,
setRepresentationSubmitConfirmation,
setRepresentationMessageSent,
repFormData,
} = props;
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
const files = acceptedFiles.map((file) => (
@@ -36,35 +36,75 @@ const RepComplete = (props) => {
</li>
));
useEffect(() => {
const reference = "PEDW-REPRESENTATION-COMPLETE";
const templateId = "c49785e7-3217-40b6-b33f-dffc4e58d5c1";
const emailAddress =
props.props.props.props.accountDetails.accountDetails.emailaddress1;
const personalisation = {
"caseReference":
props.props.currentView.caseReference.currentReference,
"emailAddress":
props.props.props.props.accountDetails.accountDetails
.emailaddress1,
"linkExpiry": 10 * 60,
};
props.props.currentView.representationMessageSent != true &&
(setRepInvolvment(
props.props.currentView.caseReference.incidentid,
props.props.props.props.accountDetails.loggedinUserId
),
sendRepCompleteMessage(
props.props.props.props.accountDetails.containerID,
props.props.currentView.caseReference.currentReference,
props.repFormData.repfile_name
),
sendEmail(templateId, emailAddress, personalisation, reference),
createWatchedCases({
"pinswg_WatchedCase@odata.bind":
"/incidents(" +
props.props.currentView.caseReference.incidentid +
")",
"pinswg_Contact@odata.bind":
"/contacts(" +
props.props.props.props.accountDetails.loggedinUserId +
")",
"pinswg_appealcasetype":
props.props.currentView.caseReference.appealType,
"pinswg_representationsubmitted": new Date(Date.now()),
"pinswg_representationtype":
props.props.currentView.caseReference.hasOwnProperty(
"repDetails"
)
? props.props.currentView.caseReference.repDetails
.representationType
: props.props.currentView.caseReference
.representationType,
}),
setRepresentationMessageSent(true));
});
return (
<div id="rep-appellant">
<div className="govuk-grid-column-full">
<div className="govuk-grid-row">
<h2 className="govuk-heading-m ">
Submission of Representation
</h2>
<p>
Thank you for submitting your representation(s) using
the Appeals Casework Portal.
</p>
<div className="govuk-grid-row govuk-body">
<h1 className="govuk-heading-m ">
{t("myrepresentations:rep-complete-heading")}
</h1>
<p>{t("myrepresentations:rep-complete-para-one")}</p>
<p>
Please remember that any supporting documentation needs
to be received by us within the appropriate deadline for
the case. Anything you send to us must be clearly marked
with the case reference number and the site address
(including the postcode, where known).
</p>
<p>{t("myrepresentations:rep-complete-para-two")}</p>
<p>
You will shortly receive confirmation to the email
address you have provided.
</p>
<p> {t("myrepresentations:rep-complete-para-three")}</p>
</div>
<div className="govuk-grid-row">
<div className="govuk-button-group">
<Link href="/myportal">
<a className="govuk-button">Continue</a>
<Link
href="/"
onClick={() => setRepresentationReset()}
className="govuk-button"
>
{t("common:continue-button")}
</Link>
</div>
</div>
@@ -73,4 +113,22 @@ const RepComplete = (props) => {
);
};
export default RepComplete;
const mapStateToProps = (state) => {
return {
search: state.search,
searchResultsObj: state.searchResultsObj,
formData: state.formData,
appealType: state.appealType,
currentView: state.currentView,
myRepresentations: state.myRepresentations,
initialValues: state.currentView.caseReference.repDetails,
accountDetails: state.accountDetails,
//form: state.form,
};
};
const mapDispatchToProps = (dispatch) => {
return {};
};
export default connect(mapStateToProps, mapDispatchToProps)(RepComplete);
@@ -1,21 +1,14 @@
import Link from "next/link";
import { useRouter } from "next/router";
import _ from "lodash";
import useTranslation from "next-translate/useTranslation";
import { Field, reduxForm } from "redux-form";
import {
RenderPickList,
RenderTextfield,
RenderRadioList,
RenderMultiline,
} from "./representationElements";
import {
setRepresentationCapacity,
setRepresentationSubmit,
setSubmitBack,
setRepresentationSubmitConfirmation,
} from "../../../store/currentView/action";
import { useRouter } from "next/router";
import { useState } from "react";
import { useDropzone } from "react-dropzone";
import { connect } from "react-redux";
import RepComplete from "./representationComplete";
import RepLPAQuestionnaireCheck_enforcement from "./representationQuestionnairesCheck/representationLPAQuestionnaireCheck_enforcement";
import RepLPAQuestionnaireCheck_s78 from "./representationQuestionnairesCheck/representationLPAQuestionnaireCheck_s78";
import { bytesToSize, getThumbnailIconByExtension } from "../../utils";
const RepCompleteSubmit = (props) => {
let { t } = useTranslation();
@@ -30,6 +23,8 @@ const RepCompleteSubmit = (props) => {
currentView,
setSubmitBack,
setRepresentationSubmitConfirmation,
setRepresentationMessageSent,
setRepresentationReset,
} = props;
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
const files = acceptedFiles.map((file) => (
@@ -38,43 +33,427 @@ const RepCompleteSubmit = (props) => {
</li>
));
const [confirmSections, setConfirmSections] = useState(false);
const repFormData = formObj.representationForm.values;
//const repDate = new Date();
// let day = repDate.getDate();
// let month = repDate.getMonth() + 1;
// let year = repDate.getFullYear();
// let repType = "";
// switch (repFormData.representationCapacity) {
// case t("myrepresentations:capacity-options-arr-appellant"):
// repType = "APP";
// break;
// case t("myrepresentations:capacity-options-arr-agent"):
// repType = "AGENT";
// break;
// case t("myrepresentations:capacity-options-arr-interested"):
// repType = "IP";
// break;
// case "Land Owner":
// repType = "LO";
// break;
// case "lpa":
// repType = "LPA";
// break;
// default:
// // code block
// }
// Object.assign(repFormData, {
// "repfile_name": repFormData.hasOwnProperty("repfile_name")
// ? repFormData.repfile_name
// : year +
// "-" +
// month +
// "-" +
// day +
// "-" +
// repDate.getHours() +
// repDate.getMinutes() +
// repDate.getSeconds() +
// "_" +
// repType +
// "_" +
// props.props.props.accountDetails.accountDetails.lastname +
// "_" +
// props.props.props.accountDetails.accountDetails.firstname,
// "pinswg_name": props.props.currentView.caseReference.currentReference,
// "containerID": props.props.props.accountDetails.containerID,
// "appealType": props.props.currentView.caseReference.appealType,
// "incidentID": props.props.currentView.caseReference.incidentid,
// "caseRef": props.props.currentView.caseReference.currentReference,
// });
console.log("///////// repFormData:", repFormData);
const whichQuestionnaireCheck = () => {
{
switch (currentView.caseReference.appealType) {
case 846040000:
case 846040001:
case 846040006:
case 846040025:
case 846040004:
case 846040018:
case 846040003:
case 846040009:
case 846040008:
case 846040017:
return (
<RepLPAQuestionnaireCheck_s78
props={props}
formObj={formObj}
setSubmitBack={setSubmitBack}
/>
);
break;
case 846040005:
case 846040006:
case 846040007:
return (
<RepLPAQuestionnaireCheck_enforcement
props={props}
formObj={formObj}
setSubmitBack={setSubmitBack}
/>
);
break;
default:
return <></>;
break;
}
}
};
let buildAppealFilesArray = [];
let filesUploadObj =
formObj.representationForm.values.representationDocuments;
for (let key in filesUploadObj) {
typeof filesUploadObj[key].name != "undefined" &&
buildAppealFilesArray.push({
"name": filesUploadObj[key].name,
"size": filesUploadObj[key].size,
});
}
console.log(
buildAppealFilesArray,
formObj.representationForm.values.filesList
);
buildAppealFilesArray = formObj.representationForm.values.hasOwnProperty(
"filesList"
)
? buildAppealFilesArray.concat(
formObj.representationForm.values.filesList
)
: buildAppealFilesArray;
console.log(buildAppealFilesArray);
// const arrUniq = [
// ...new Map(buildAppealFilesArray.map((v) => [v.name, v])).values(),
// ];
buildAppealFilesArray = buildAppealFilesArray.filter(function (el) {
return el != null;
});
const arrUniq = buildAppealFilesArray.filter(
(obj1, i, arr) => arr.findIndex((obj2) => obj2.name === obj1.name) === i
);
console.log(arrUniq);
Object.assign(formObj.representationForm.values, {
"filesList": arrUniq,
});
let filterFiles = [];
return (
<>
{currentView.representationSubmitConfirmation == true ? (
<RepComplete />
<RepComplete
repFormData={repFormData}
props={props}
setRepresentationMessageSent={setRepresentationMessageSent}
setRepresentationReset={setRepresentationReset}
/>
) : (
<div id="rep-appellant">
<div className="govuk-grid-column-full">
<div className="govuk-grid-row">
<h2 className="govuk-heading-m ">Submit</h2>
<div className="govuk-grid-row govuk-body">
<h1 className="govuk-heading-m ">
{" "}
{t(
"myrepresentations:rep-check-submit-heading"
)}
</h1>
<dl className="govuk-summary-list ">
<h2 className="govuk-heading-m govuk-!-margin-top-9">
{t(
"myrepresentations:rep-check-your-rep-heading"
)}
</h2>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:representation-representation-type"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? repFormData.representationType ==
"Questionnaire"
? "Holiadur"
: repFormData.representationType ==
"Statement"
? "Datganiad"
: repFormData.representationType ==
"Final comments"
? "Sylwadau terfynol"
: repFormData.representationType
: repFormData.representationType}
</dd>
<dd className="govuk-summary-list__actions">
<a
className="govuk-link"
href="#"
onClick={() => {
setSubmitBack();
}}
>
{t("common:change-link-label")}
<span className="govuk-visually-hidden">
{" "}
{/* {FieldsTranslations(
rows[0].value
)} */}
</span>
</a>
</dd>
</div>
{_.has(
repFormData,
"representationOnBehalfOf"
) && (
<>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:representation-onbehalfof"
)}
</dt>
<dd className="govuk-summary-list__value">
{
repFormData.representationOnBehalfOf
}
</dd>
<dd className="govuk-summary-list__actions">
<a
className="govuk-link"
href="#"
onClick={() => {
setSubmitBack();
}}
>
{t(
"common:change-link-label"
)}
<span className="govuk-visually-hidden">
{" "}
{/* {FieldsTranslations(
rows[0].value
)} */}
</span>
</a>
</dd>
</div>
{repFormData.representationOnBehalfOf ==
"Yes" && (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:representation-onbehalfof-details"
)}
</dt>
<dd className="govuk-summary-list__value">
{
repFormData.representationOnBehalfOf_details
}
</dd>
<dd className="govuk-summary-list__actions">
<a
className="govuk-link"
href="#"
onClick={() => {
setSubmitBack();
}}
>
{t(
"common:change-link-label"
)}
<span className="govuk-visually-hidden">
{" "}
{/* {FieldsTranslations(
rows[0].value
)} */}
</span>
</a>
</dd>
</div>
)}
</>
)}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:representation-comments")}
</dt>
<dd className="govuk-summary-list__value">
<span
className="multiline-elipsis"
dangerouslySetInnerHTML={{
__html: repFormData.representationComments,
}}
/>
</dd>
<dd className="govuk-summary-list__actions">
<a
className="govuk-link"
href="#"
onClick={() => {
setSubmitBack();
}}
>
{t("common:change-link-label")}
<span className="govuk-visually-hidden">
{" "}
{/* {FieldsTranslations(
rows[0].value
)} */}
</span>
</a>
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:representation-files")}
</dt>
<dd className="govuk-summary-list__value">
{formObj.representationForm.values
.filesList.length > 0
? ((filterFiles =
formObj.representationForm.values.filesList.filter(
function (el) {
return el != null;
}
)),
filterFiles.map((blob, i) => (
<div
key={blob.name + "_" + i}
className="govuk-!-margin-bottom-5 fileThumb "
>
<img
src={getThumbnailIconByExtension(
blob.name
)}
alt={blob.name}
width="50"
/>
<span className="govuk-body govuk-!-font-size-14 govuk-!-padding-left-5">
{blob.name} (
{bytesToSize(
blob.size
)}
)
</span>
</div>
)))
: ""}{" "}
</dd>
<dd className="govuk-summary-list__actions">
<a
className="govuk-link"
href="#"
onClick={() => {
setSubmitBack();
}}
>
{t("common:change-link-label")}
<span className="govuk-visually-hidden">
{" "}
{/* {FieldsTranslations(
rows[0].value
)} */}
</span>
</a>
</dd>
</div>
{whichQuestionnaireCheck()}
</dl>
<p>
The gathering and subsequent processing of the
personal data supplied by you in this form, is
in accordance with the terms of our registration
under the Data Protection Act 2018.
{t(
"myrepresentations:rep-check-tandc-para-one"
)}
</p>
<p>
The Planning Inspectorate takes its data
protection responsibilities for the information
you provide us with very seriously. To find out
more about how we use and manage your personal
data, please go to our privacy notice.
{t(
"myrepresentations:rep-check-tandc-para-two"
)}
</p>
<p>
I confirm that all sections of this form have
been fully completed and that the details are
correct to the best of my knowledge.
{t(
"myrepresentations:rep-check-tandc-para-three"
)}
</p>
<div className="govuk-form-group">
<label
className="govuk-label govuk-body-m"
htmlFor="representationType"
>
I confirm I have read the above.
</label>
<div className="govuk-checkboxes govuk-checkboxes--small">
<div className="govuk-checkboxes__item">
<input
name="pinswg_checkconfirmation"
id="pinswg_checkconfirmation"
type="checkbox"
className="govuk-checkboxes__input"
value=""
onChange={(e) => {
setConfirmSections(
!confirmSections
);
}}
/>
<label
className="govuk-label govuk-checkboxes__label"
htmlFor="pinswg_checkconfirmation"
>
{t(
"myrepresentations:rep-check-tandc-para-four"
)}
</label>
</div>
</div>
{/* <Field
name="representationType"
component={RenderPickList}
@@ -86,14 +465,18 @@ const RepCompleteSubmit = (props) => {
<div className="govuk-grid-row">
<div className="govuk-button-group">
<button
disabled={confirmSections ? false : true}
type="submit"
className="govuk-button"
data-module="govuk-button"
onClick={() =>
setRepresentationSubmitConfirmation()
}
onClick={() => {
setRepresentationSubmitConfirmation(
true
);
setRepresentationSubmit(true);
}}
>
Continue
{t("common:continue-button")}
</button>
{/* <a
onClick={() => {
@@ -101,14 +484,14 @@ const RepCompleteSubmit = (props) => {
}}
className="govuk-button"
>
Continue
{t("common:continue-button")}
</a> */}
<a
onClick={() => setSubmitBack()}
className="govuk-link"
>
Back
{t("case:summary-back-button-label")}
</a>
</div>
</div>
@@ -119,4 +502,22 @@ const RepCompleteSubmit = (props) => {
);
};
export default RepCompleteSubmit;
const mapStateToProps = (state) => {
return {
search: state.search,
searchResultsObj: state.searchResultsObj,
formData: state.formData,
appealType: state.appealType,
currentView: state.currentView,
myRepresentations: state.myRepresentations,
initialValues: state.currentView.caseReference.repDetails,
accountDetails: state.accountDetails,
//form: state.form,
};
};
const mapDispatchToProps = (dispatch) => {
return {};
};
export default connect(mapStateToProps, mapDispatchToProps)(RepCompleteSubmit);
@@ -1,8 +1,6 @@
import Link from "next/link";
import { useRouter } from "next/router";
import { JSONPath as jsonpath } from "jsonpath-plus";
import useTranslation from "next-translate/useTranslation";
import { Field, reduxForm } from "redux-form";
import { RenderPickList, RenderTextfield } from "./representationElements";
import { useRouter } from "next/router";
const RepDetails = (props) => {
let { t } = useTranslation();
@@ -12,6 +10,31 @@ const RepDetails = (props) => {
const { currentType, casesObj } = props;
let { caseReference } = props;
let setCaseDetailsObj = router.query.hasOwnProperty("state")
? router.query.state == "edit"
? props.myRepresentations.myRepresentations
: props.searchResultsObj.searchDetailsObj
: props.currentType == "watchedCases"
? props.props.props.props.watchedCases.watchedCasesDetails
: props.props.props.searchResultsObj.searchDetailsObj;
var detailsObj = {};
caseReference = router.query.hasOwnProperty("state")
? router.query.state == "edit"
? router.query.case
: caseReference
: caseReference;
detailsObj = jsonpath(
'$..[?(@.pinswg_name=="' + caseReference + '")]',
setCaseDetailsObj
);
detailsObj = detailsObj[0];
return (
<>
{" "}
@@ -24,41 +47,59 @@ const RepDetails = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{casesObj.appellantApplicant || ""}
{
detailsObj[
"_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue"
]
}
</dd>
</div>
{/* <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-agent-label")}
</dt>
<dd className="govuk-summary-list__value">
Mr A Agent
</dd>
</div> */}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-site-address-label")}
</dt>
<dd className="govuk-summary-list__value">
{casesObj.address1 || ""}
<br />
{casesObj.town || ""}
<br />
{casesObj.postcode || ""}
{_.has(detailsObj, "pinswg_siteaddressline1")
? detailsObj.pinswg_siteaddressline1
: ""}
{_.has(detailsObj, "pinswg_siteaddressline1") &&
detailsObj.pinswg_siteaddressline1 !=
null && <br />}
{_.has(detailsObj, "pinswg_siteaddressline2")
? detailsObj.pinswg_siteaddressline2
: ""}
{_.has(detailsObj, "pinswg_siteaddressline2") &&
detailsObj.pinswg_siteaddressline2 !=
null && <br />}
{_.has(detailsObj, "pinswg_siteaddresstown")
? detailsObj.pinswg_siteaddresstown
: ""}
{_.has(detailsObj, "pinswg_siteaddresstown") &&
detailsObj.pinswg_siteaddresstown !=
null && <br />}
{_.has(detailsObj, "pinswg_siteaddresscounty")
? detailsObj.pinswg_siteaddresscounty
: ""}
{_.has(
detailsObj,
"pinswg_siteaddresscounty"
) &&
detailsObj.pinswg_siteaddresscounty !=
null && <br />}
{_.has(detailsObj, "pinswg_siteaddresspostcode")
? detailsObj.pinswg_siteaddresspostcode
: ""}
</dd>
</div>
</dl>
</div>
<div className="govuk-grid-row">
<p className="govuk-body">
This form enables you to submit comments on a case to
Planning and Environment Decisions Wales.{" "}
{t("myrepresentations:capacity-para-one")}
</p>
<p className="govuk-body">
Please note that comments from interested parties need
to be made within the timetable. This can be found on
the previous &lsquo;Case Summary&lsquo; page. Comments
submitted after this date may be considered invalid.
{t("myrepresentations:capacity-para-two")}
</p>
</div>
</div>
File diff suppressed because it is too large Load Diff
@@ -1,14 +1,16 @@
import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import { Field, reduxForm } from "redux-form";
import {
RenderPickList,
RenderTextfield,
RenderRadioList,
RenderMultiline,
} from "./representationElements";
import { useRouter } from "next/router";
import { useDropzone } from "react-dropzone";
import { connect } from "react-redux";
import { Field, change, reduxForm } from "redux-form";
import { useState } from "react";
import {
FileUploadField,
RenderCondtionalRadioList,
RenderPickList,
RenderRichMultiline,
} from "./representationElements";
const RepInterestedPartyPerson = (props) => {
let { t } = useTranslation();
@@ -20,137 +22,111 @@ const RepInterestedPartyPerson = (props) => {
interestedPersonRepresentationArr,
setRepresentationCapacity,
setRepresentationSubmit,
setRepFileName,
updateRepresentation,
} = props;
const required = (value) => (value ? undefined : "Required");
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
const [savingStatus, setSavingStatus] = useState(false);
setRepFileName(formObj.representationForm.values);
let filterFilesList =
props.currentView.caseReference.repDetails.filesList.filter(function (
el
) {
return el != null;
});
const files = acceptedFiles.map((file) => (
<li key={file.path}>
{file.path} - {file.size} bytes
</li>
));
return (
<div id="rep-interested">
<div className="govuk-grid-column-full">
<div className="govuk-grid-row">
<h2 className="govuk-heading-m ">
Representation - interested
</h2>
<>
<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(
"myrepresentations:representation-from-an-interested-person-heading"
)}
</h2>
<div className="govuk-form-group">
<label
className="govuk-label govuk-body-m"
htmlFor="representationType"
>
What kind of representation are you making?
<label
className="govuk-label govuk-body-m"
htmlFor="representationType"
>
{t("myrepresentations:kind-of-rep-label")}
</label>
<Field
name="representationType"
component={RenderPickList}
datafieldname="representationType"
validate={[required]}
optionsArr={interestedPersonRepresentationArr}
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>
<Field
name="representationType"
component={RenderPickList}
datafieldname="representationType"
optionsArr={interestedPersonRepresentationArr}
/>
</div>
)}
</div>
<div className="govuk-grid-row">
<div className="govuk-form-group">
<Field
className="govuk-input govuk-!-width-three-quarters"
id="representationDescription"
name="representationDescription"
value="email"
data-aria-controls="representationDescription"
type="text"
component={RenderTextfield}
label="Description of representation"
/>
</div>
</div>
{(typeof props.representationType != "undefined" ||
typeof formObj.representationForm.values.representationType !=
"undefined") && (
<>
<div className="govuk-grid-row">
<div className="govuk-form-group">
<fieldset
className="govuk-fieldset"
aria-describedby="contact-hint"
>
<legend className="govuk-fieldset__legend govuk-fieldset__legend--l">
<label
className="govuk-fieldset__heading govuk-body-m"
id="representationCapacity_label"
>
Are you acting on behalf of a company,
group or organisation?
</label>
</legend>
<div id="contact-hint" className="govuk-hint">
e.g. &lsquo;Owners of Numbers 1-5 High
Street&lsquo;, or &lsquo;Mr and Mrs
Smith&lsquo; or &lsquo;The executors of Mr
Evans&lsquo; estate&lsquo;
</div>
<div
className="govuk-radios govuk-radios--conditional"
data-module="govuk-radios"
>
<div className="govuk-radios__item">
<input
className="govuk-radios__input"
id="contact"
name="contact"
type="radio"
value="email"
data-aria-controls="conditional-contact"
/>
<label
className="govuk-label govuk-radios__label"
htmlFor="contact"
>
Yes
</label>
</div>
<div
className="govuk-radios__conditional govuk-radios__conditional--hidden"
id="conditional-contact"
>
<div className="govuk-form-group">
<label
className="govuk-label"
htmlFor="contact-by-email"
>
Enter the name of the
company/group/organisation *
</label>
<input
className="govuk-input govuk-!-width-one-third"
id="contact-by-email"
name="contact-by-email"
type="email"
spellCheck="false"
autoComplete="email"
/>
</div>
</div>
<div className="govuk-radios__item">
<input
className="govuk-radios__input"
id="contact-2"
name="contact"
type="radio"
value="phone"
data-aria-controls="conditional-contact-2"
/>
<label
className="govuk-label govuk-radios__label"
htmlFor="contact-2"
>
No
</label>
</div>
</div>
</fieldset>
<Field
name="representationOnBehalfOf"
datafieldname="representationOnBehalfOf"
// label="In what capacity do you wish to make representations on this case?"
options={["Yes", "No"]}
id="representationOnBehalfOf"
className="govuk-radios__input"
errorMsg={t(
"myrepresentations:select-an-option-label"
)}
component={RenderCondtionalRadioList}
validate={[required]}
legend={
"Are you acting on behalf of a company, group or organisation?"
}
/>
</div>
</div>
<div className="govuk-grid-row">
<div className="govuk-form-group">
<p className="govuk-body">
You can enter your comments in the space
provided or attach a separate document.
{t("myrepresentations:enter-comment-label")}
</p>
<fieldset
className="govuk-fieldset"
@@ -160,164 +136,135 @@ const RepInterestedPartyPerson = (props) => {
id="commentBox-hint"
className="govuk-hint"
>
My comments are set out in:*
{t(
"myrepresentations:comments-set-out-label"
)}
:
</div>
<div
className="govuk-checkboxes"
data-module="govuk-checkboxes"
>
<div className="govuk-checkboxes__item">
<Field
className="govuk-checkboxes__input"
id="commentBox"
name="commentBox"
value="email"
data-aria-controls="commentBox"
type="checkbox"
component={RenderTextfield}
/>
<label
className="govuk-label govuk-checkboxes__label"
htmlFor="commentBox"
>
the box below{" "}
</label>
</div>
<div
className={
_.isEmpty(
formObj["representationForm"]
)
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden rr"
: _.isEmpty(
formObj[
"representationForm"
].values
)
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden q11 "
: _.isEmpty(
formObj[
"representationForm"
].values.commentBox
)
? formObj["representationForm"]
.values.commentBox ==
false
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden www"
: "govuk-checkboxes__conditional"
: "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden wwwaqqqq"
<div className="govuk-form-group">
<Field
name="representationComments"
id="representationComments"
component={RenderRichMultiline}
type="text"
rows="5"
className="govuk-textarea govuk-input--width-30"
aria-describedby={props.name + "-hint"}
/>
</div>
<div className="govuk-form-group govuk-!-margin-bottom-9">
<FileUploadField
name={"representationDocuments"}
id={"representationDocuments"}
label={t(
"myrepresentations:add-files-label"
)}
ticketnumber={props.props.caseReference}
hint={"sdsd"}
fileList={[]}
setFilesForRepresentation={[]}
containerID={
props.props.props.accountDetails
.containerID
}
id="conditional-commentBox"
>
<div className="govuk-form-group">
<Field
name="representationComments"
id="representationComments"
component={RenderMultiline}
type="text"
rows="5"
className="govuk-textarea govuk-input--width-30"
aria-describedby={
props.name + "-hint"
}
/>
</div>
</div>
<div className="govuk-checkboxes__item">
<Field
className="govuk-checkboxes__input"
id="documentBox"
name="documentBox"
value="email"
data-aria-controls="documentBox"
type="checkbox"
component={RenderTextfield}
/>
<label
className="govuk-label govuk-checkboxes__label"
htmlFor="documentBox"
>
separate documents
</label>
</div>
<div
className={
_.isEmpty(
formObj["representationForm"]
)
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden rr"
: _.isEmpty(
formObj[
"representationForm"
].values
)
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden www"
: _.isEmpty(
formObj[
"representationForm"
].values.documentBox
)
? formObj["representationForm"]
.values.documentBox ==
false
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden www"
: "govuk-checkboxes__conditional"
: "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden"
}
id="conditional-documentBox"
>
<div className="govuk-form-group">
<section className="container">
<div
{...getRootProps({
className: "dropzone",
})}
>
<input
{...getInputProps()}
/>
<p>
Drag and drop files here
or click to select files
</p>
</div>
<aside>
<h4>Files</h4>
<ul>{files}</ul>
</aside>
</section>
</div>
</div>
filenamePrefix={props}
/>
</div>
</fieldset>
</div>{" "}
</div>
<div className="govuk-grid-row">
<div className="govuk-button-group">
<Link href="/representation">
<a
onClick={() => {
setRepresentationSubmit(true);
}}
className="govuk-button"
>
Continue
</a>
</Link>
<a
</>
)}
{typeof formObj.representationForm.values.representationType !=
"undefined" && (
<div className="govuk-grid-row">
<div className="govuk-button-group">
<button
type="submit"
className="govuk-button"
data-module="govuk-button"
>
{t("common:continue-button")}
</button>
{/*
<a
onClick={() => {
setRepresentationCapacity();
props.updateField(
"representationForm",
"representationCapacity",
""
);
props.updateField(
"representationForm",
"representationType",
""
);
}}
className="govuk-link"
>
{t("case:summary-back-button-label")}
</a> */}
{savingStatus ? (
<span className=" progress-save-active">
{router.locale == "cy"
? "Nôl data"
: "Saving data"}
<img
className="data-loading-icon"
src="/assets/images/loading.gif"
alt={
router.locale == "cy"
? "Nôl data"
: "Saving data"
}
/>
</span>
) : (
<button
className="govuk-button progress-save "
onClick={() => {
setRepresentationCapacity();
let valuesObj =
props.props.props.form[props.form]
.values || {};
console.log("valuesobj:", valuesObj);
delete valuesObj["_pinswg_appellant_value"];
console.log("on save:", valuesObj);
updateRepresentation(
valuesObj,
false,
true
);
}}
className="govuk-link"
>
Back
</a>
</div>
{t("common:save-exit-button")}
</button>
)}
</div>
</div>
</div>
</div>
)}
</>
);
};
export default RepInterestedPartyPerson;
//const mapStateToProps = (state, props) => {};
const mapDispatchToProps = (dispatch) => ({
updateField: (form, field, newValue) =>
dispatch(change(form, field, newValue)),
});
export default connect(
null,
mapDispatchToProps
)(
reduxForm({
form: "representationForm",
enableReinitialize: true,
destroyOnUnmount: false,
})(RepInterestedPartyPerson)
);
@@ -0,0 +1,591 @@
import { JSONPath as jsonpath } from "jsonpath-plus";
import _ from "lodash";
import useTranslation from "next-translate/useTranslation";
import { useRouter } from "next/router";
import { useDropzone } from "react-dropzone";
import { connect } from "react-redux";
import { Field, change, formValueSelector, reduxForm } from "redux-form";
import { useState } from "react";
import {
FileUploadField,
RenderMultiline,
RenderPickList,
} from "./representationElements";
import RepresentationProgress_enforcement from "./representationProgress/representationProgress_enforcement";
import RepresentationProgress_s78 from "./representationProgress/representationProgress_s78";
import Enforcement_Questionnaire from "./representationQuestionnaires/representationLPAQuestionnaire_enforcement";
import S78_Questionnaire from "./representationQuestionnaires/representationLPAQuestionnaire_s78";
let RepLPA = (props) => {
let { t } = useTranslation();
const router = useRouter();
const { locale } = router;
const {
onSubmit,
handleSubmit,
formObj,
appellantApplicantRepresentationArr,
setRepresentationCapacity,
setRepresentationSubmit,
currentView,
procedureTypeValue,
onBehalfOfLPA,
setShowQuestionnaireSection,
showQuestionnaireSection,
questionnaireCount,
setQuestionnaireCount,
setRepFileName,
updateRepresentation,
} = props;
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
const [savingStatus, setSavingStatus] = useState(false);
const files = acceptedFiles.map((file) => (
<li key={file.path}>
{file.path} - {file.size} bytes
</li>
));
const required = (value) => (value ? undefined : "Required");
const updateQuestionnaireCount = () => {
{
switch (currentView.caseReference.appealType) {
case 846040000:
case 846040001:
case 846040006:
case 846040025:
case 846040004:
case 846040018:
case 846040003:
case 846040009:
case 846040008:
setQuestionnaireCount(7);
break;
case 846040005:
case 846040006:
case 846040007:
setQuestionnaireCount(9);
break;
default:
setQuestionnaireCount(7);
break;
}
}
};
const whichQuestionnaire = () => {
{
switch (currentView.caseReference.appealType) {
case 846040000:
case 846040001:
case 846040006:
case 846040025:
case 846040004:
case 846040018:
case 846040003:
case 846040009:
case 846040008:
case 846040017:
updateQuestionnaireCount();
return (
<S78_Questionnaire
props={props}
containerID={
props.props.props.accountDetails.containerID
}
currentView={currentView}
showQuestionnaireSection={showQuestionnaireSection}
setShowQuestionnaireSection={
setShowQuestionnaireSection
}
questionnaireCount={questionnaireCount}
/>
);
break;
case 846040005:
case 846040006:
case 846040007:
updateQuestionnaireCount();
return (
<Enforcement_Questionnaire
props={props}
containerID={
props.props.props.accountDetails.containerID
}
currentView={currentView}
showQuestionnaireSection={showQuestionnaireSection}
setShowQuestionnaireSection={
setShowQuestionnaireSection
}
questionnaireCount={questionnaireCount}
/>
);
break;
default:
return <></>;
break;
}
}
};
const whichProgress = () => {
{
switch (currentView.caseReference.appealType) {
case 846040000:
case 846040001:
case 846040006:
case 846040025:
case 846040004:
case 846040018:
case 846040003:
case 846040009:
case 846040008:
case 846040017:
return (
<RepresentationProgress_s78
props={props}
containerID={
props.props.props.accountDetails.containerID
}
currentView={currentView}
showQuestionnaireSection={showQuestionnaireSection}
setShowQuestionnaireSection={
setShowQuestionnaireSection
}
/>
);
break;
case 846040005:
case 846040006:
case 846040007:
return (
<RepresentationProgress_enforcement
props={props}
containerID={
props.props.props.accountDetails.containerID
}
currentView={currentView}
showQuestionnaireSection={showQuestionnaireSection}
setShowQuestionnaireSection={
setShowQuestionnaireSection
}
/>
);
break;
default:
return <></>;
break;
}
}
};
let setCaseDetailsObj = router.query.hasOwnProperty("state")
? router.query.state == "edit"
? props.props.myRepresentations.myRepresentations
: props.props.searchResultsObj.searchDetailsObj
: props.props.searchResultsObj.searchDetailsObj;
var detailsObj = {};
detailsObj = jsonpath(
'$..[?(@.pinswg_name=="' +
currentView.caseReference.currentReference +
'")]',
setCaseDetailsObj
);
let setCaseResultssObj = router.query.hasOwnProperty("state")
? router.query.state == "edit"
? props.props.myRepresentations.myRepresentations
: props.props.searchResultsObj.searchResultsObj
: props.props.searchResultsObj.searchResultsObj;
detailsObj = detailsObj[0];
var resultsObj = {};
resultsObj = jsonpath(
'$..[?(@.pinswg_name=="' +
currentView.caseReference.currentReference +
'")]',
setCaseResultssObj
);
resultsObj = resultsObj[0];
props.formObj["representationForm"].hasOwnProperty("values") &&
props.formObj["representationForm"].values.hasOwnProperty(
"representationCapacity"
) &&
props.formObj["representationForm"].values.hasOwnProperty(
"representationType"
) &&
setRepFileName(props.formObj["representationForm"].values);
return (
<>
<div className="govuk-grid-row">
<div className="govuk-form-group">
{!_.has(
formObj["representationForm"],
["values", "representationType"] ||
typeof props.representationType != "undefined"
) ? (
<>
<label
className="govuk-label govuk-body-m"
htmlFor="representationType"
>
{t(
"myrepresentations:representation-from-an-lpa-heading"
)}
</label>
<Field
id="representationType"
name="representationType"
component={RenderPickList}
datafieldname="representationType"
optionsArr={appellantApplicantRepresentationArr}
/>
</>
) : (
<label className="govuk-label govuk-body-m">
{t("myrepresentations:representation-type")}:{" "}
{router.locale == "cy"
? formObj.representationForm.values
.representationType == "Questionnaire"
? "Holiadur"
: formObj.representationForm.values
.representationType == "Statement"
? "Datganiad"
: formObj.representationForm.values
.representationType ==
"Final comments"
? "Sylwadau terfynol"
: formObj.representationForm.values
.representationType
: formObj.representationForm.values
.representationType}
</label>
)}
</div>
</div>
<div className="govuk-grid-row">
<div className="govuk-form-group">
{(_.has(formObj["representationForm"], [
"values",
"representationType",
]) ||
typeof props.representationType != "undefined") &&
(props.representationType != "Questionnaire" &&
props.representationType != "Select..." ? (
<>
<p className="govuk-body">
{t("myrepresentations:enter-comment-label")}
</p>
<fieldset
className="govuk-fieldset"
aria-describedby="commentBox-hint"
>
<div
id="commentBox-hint"
className="govuk-hint"
>
{t(
"myrepresentations:comments-set-out-label"
)}
:
</div>
<div className="govuk-form-group">
<Field
name="representationComments"
id="representationComments"
component={RenderMultiline}
type="text"
rows="5"
className="govuk-textarea govuk-input--width-30"
aria-describedby={
props.name + "-hint"
}
/>
</div>
</fieldset>
<fieldset
className="govuk-fieldset govuk-!-margin-top-9"
aria-describedby="commentBox-hint"
>
{" "}
<div className="govuk-form-group govuk-!-margin-bottom-9">
<FileUploadField
name={"representationDocuments"}
id={"representationDocuments"}
label={t(
"myrepresentations:add-files-label"
)}
ticketnumber={
props.props.caseReference
}
hint={"sdsd"}
fileList={
props.props.props.form[
"representationForm"
].values.filesList || []
}
setFilesForRepresentation={[]}
containerID={
props.props.props.accountDetails
.containerID
}
filenamePrefix={props}
/>
</div>
</fieldset>
</>
) : (
whichQuestionnaire()
))}
</div>{" "}
</div>
<div className="govuk-grid-row">
<div className="govuk-button-group">
{(typeof props.representationType != "undefined" ||
_.has(formObj, "values", "representationType")) &&
props.representationType == "Questionnaire" && (
<>
{showQuestionnaireSection <
questionnaireCount && (
<button
type="submit"
className="govuk-button"
data-module="govuk-button"
>
{t("common:continue-button")}
</button>
// <a
// href="#"
// onClick={() => {
// setShowQuestionnaireSection(
// showQuestionnaireSection + 1
// );
// }}
// className="govuk-button"
// >
// Next section
// </a>
)}
{showQuestionnaireSection ==
questionnaireCount && (
<button
type="submit"
className="govuk-button"
data-module="govuk-button"
>
{t("common:continue-button")}
</button>
)}
{showQuestionnaireSection > 1 && (
<a
onClick={() => {
window.scrollTo({
top: 0,
behavior: "smooth",
});
setRepFileName(
props.formObj[
"representationForm"
].values
),
setShowQuestionnaireSection(
showQuestionnaireSection - 1
);
}}
className="govuk-link"
>
Back
</a>
)}
{savingStatus ? (
<span className=" progress-save-active">
{router.locale == "cy"
? "Nôl data"
: "Saving data"}
<img
className="data-loading-icon"
src="/assets/images/loading.gif"
alt={
router.locale == "cy"
? "Nôl data"
: "Saving data"
}
/>
</span>
) : (
<button
className="govuk-button progress-save "
onClick={() => {
let valuesObj =
props.props.props.form[
props.form
].values || {};
console.log(
"valuesobj:",
valuesObj
);
delete valuesObj[
"_pinswg_appellant_value"
];
console.log("on save:", valuesObj);
updateRepresentation(
valuesObj,
false,
true
);
}}
>
{t("common:save-exit-button")}
</button>
)}
</>
)}{" "}
{(typeof props.representationType != "undefined" ||
_.has(formObj, "values", "representationType")) &&
props.representationType != "Questionnaire" && (
<>
<button
type="submit"
className="govuk-button"
data-module="govuk-button"
>
{t("common:continue-button")}
</button>
{/* {router.query.state != "edit" && (
<a
onClick={() => {
//setRepresentationCapacity();
props.updateField(
"representationForm",
"representationType",
""
);
}}
className="govuk-link"
>
{t("common:back-link")}www
</a>
)} */}
{savingStatus ? (
<span className=" progress-save-active">
{router.locale == "cy"
? "Nôl data"
: "Saving data"}
<img
className="data-loading-icon"
src="/assets/images/loading.gif"
alt={
router.locale == "cy"
? "Nôl data"
: "Saving data"
}
/>
</span>
) : (
<button
className="govuk-button progress-save "
onClick={() => {
let valuesObj =
props.props.form[props.form]
.values || {};
console.log(
"valuesobj:",
valuesObj
);
delete valuesObj[
"_pinswg_appellant_value"
];
console.log("on save:", valuesObj);
updateRepresentation(
valuesObj,
false,
true
);
}}
>
{t("common:save-exit-button")}
</button>
)}
</>
)}
</div>
</div>
</>
);
};
const selector = formValueSelector("representationForm"); // <-- same as form name
RepLPA = connect((state) => {
const representationType = selector(state, "representationType");
const procedureType = selector(state, "procedureType");
return {
procedureType,
representationType,
};
})(RepLPA);
const mapDispatchToProps = (dispatch) => ({
updateField: (form, field, newValue) =>
dispatch(change(form, field, newValue)),
});
const mapStateToProps = (state, props) => {
let initialValuesTemp = Object.assign(
state.currentView.caseReference.hasOwnProperty("repDetails")
? state.currentView.caseReference.repDetails
: state.currentView.caseReference,
{
"representationCapacity": "lpa",
"onBehalfOfLPA":
props.props.props.accountDetails.accountDetails[
"pinswg_contact_associatedlpa@OData.Community.Display.V1.FormattedValue"
],
"firstname":
props.props.props.accountDetails.accountDetails.firstname,
"lastname":
props.props.props.accountDetails.accountDetails.lastname,
}
);
return {
search: state.search,
searchResultsObj: state.searchResultsObj,
formData: state.formData,
appealType: state.appealType,
currentView: state.currentView,
myRepresentations: state.myRepresentations,
watchedCases: state.watchedCases,
initialValues: initialValuesTemp,
};
};
export default connect(
mapStateToProps,
mapDispatchToProps
)(
reduxForm({
form: "representationForm",
enableReinitialize: true,
destroyOnUnmount: false,
})(RepLPA)
);
@@ -0,0 +1,88 @@
import useTranslation from "next-translate/useTranslation";
import { useRouter } from "next/router";
import { useDropzone } from "react-dropzone";
import RepLPADetails from "./representationLPADetails";
let RepLPACapacitySelection = (props) => {
let { t } = useTranslation();
const router = useRouter();
const { locale } = router;
const {
formObj,
capacityOptionsArr,
currentType,
casesObj,
detailsObj,
validate,
handleSubmit,
} = props;
const { acceptedFiles, getRootProps, getInputProps } = useDropzone();
const files = acceptedFiles.map((file) => (
<li key={file.path}>
{file.path} - {file.size} bytes
</li>
));
const required = (value) => (value ? undefined : "Required");
return (
<>
<RepLPADetails
formObj={formObj}
currentType={currentType}
casesObj={casesObj}
detailsObj={detailsObj}
caseReference={props.props.caseReference}
searchResultsObj={props.props.searchResultsObj}
props={props.props}
/>{" "}
<div id="rep-details" className="vo_hiddens">
<div className="govuk-grid-column-three-quarters">
<div className="govuk-grid-row">
{/* <h2 className="govuk-heading-m ">
Your details - {props.firstValue}
</h2> */}
{/* <div className="">
<label className="govuk-visually-hidden2">
<Field
name="representationCapacity"
datafieldname="representationCapacity"
label={t("myrepresentations:capacity-select-what-capacity-label")}
options={["LPA"]}
id="representationCapacity"
//className="govuk-radios__input "
errorMsg={t(
"myrepresentations:select-an-option-label"
)}
component="input"
validate={[required]}
value="LPA"
checked={"true"}
type="radio"
/>
LPA
</label>
</div> */}
</div>
</div>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<div className="govuk-button-group">
<button
type="submit"
className="govuk-button"
data-module="govuk-button"
>
{t("common:continue-button")}
</button>
</div>
</div>
</div>
</div>
</>
);
};
export default RepLPACapacitySelection;
@@ -0,0 +1,64 @@
import { connect } from "react-redux";
import { Field, formValueSelector, reduxForm } from "redux-form";
import { RenderMultiline } from "./representationElements";
let RepLPAQuestionnaire = (props) => {
return (
<>
<p className="govuk-body">
{t("myrepresentations:enter-comment-label")}
</p>
<fieldset
className="govuk-fieldset"
aria-describedby="commentBox-hint"
>
<div id="commentBox-hint" className="govuk-hint">
{t("myrepresentations:comments-set-out-label")}:
</div>
<div className="govuk-form-group">
<Field
name="representationComments"
id="representationComments"
component={RenderMultiline}
type="text"
rows="5"
className="govuk-textarea govuk-input--width-30"
aria-describedby={props.name + "-hint"}
/>
</div>
</fieldset>
</>
);
};
const selector = formValueSelector("representationForm"); // <-- same as form name
RepLPAQuestionnaire = connect((state) => {
const representationTypeValue = selector(state, "representationType");
const procedureTypeValue = selector(state, "procedureType");
return {
procedureTypeValue,
representationTypeValue,
};
})(RepLPAQuestionnaire);
const mapStateToProps = (state, props) => {
return {
search: state.search,
searchResultsObj: state.searchResultsObj,
formData: state.formData,
appealType: state.appealType,
currentView: state.currentView,
myRepresentations: state.myRepresentations,
initialValues: state.currentView.caseReference.repDetails,
};
};
export default connect(mapStateToProps)(
reduxForm({
form: "representationForm",
enableReinitialize: true,
destroyOnUnmount: false,
})(RepLPAQuestionnaire)
);
@@ -0,0 +1,97 @@
import { JSONPath as jsonpath } from "jsonpath-plus";
import useTranslation from "next-translate/useTranslation";
import { useRouter } from "next/router";
const RepLPADetails = (props) => {
let { t } = useTranslation();
const router = useRouter();
const { locale } = router;
const { currentType, casesObj, caseReference } = props;
let setCaseDetailsObj = router.query.hasOwnProperty("state")
? router.query.state == "edit"
? props.props.myRepresentations.myRepresentations
: props.searchResultsObj.searchDetailsObj
: props.currentType == "watchedCases"
? props.props.props.watchedCases.watchedCasesDetails
: props.props.searchResultsObj.searchDetailsObj;
var detailsObj = {};
detailsObj = jsonpath(
'$..[?(@.pinswg_name=="' + caseReference + '")]',
setCaseDetailsObj
);
detailsObj = detailsObj[0];
return (
<>
{" "}
<div className="govuk-grid-column-full">
<div id="rep-sumamry" className="govuk-grid-row">
<dl className="govuk-summary-list govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-applicant-label")}
</dt>
<dd className="govuk-summary-list__value">
{casesObj.appellantApplicant || ""}
{detailsObj[
"_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue"
] || "not entered"}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-site-address-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_siteaddressline1")
? detailsObj.pinswg_siteaddressline1
: ""}
{_.has(detailsObj, "pinswg_siteaddressline1") &&
detailsObj.pinswg_siteaddressline1 !=
null && <br />}
{_.has(detailsObj, "pinswg_siteaddressline2")
? detailsObj.pinswg_siteaddressline2
: ""}
{_.has(detailsObj, "pinswg_siteaddressline2") &&
detailsObj.pinswg_siteaddressline2 !=
null && <br />}
{_.has(detailsObj, "pinswg_siteaddresstown")
? detailsObj.pinswg_siteaddresstown
: ""}
{_.has(detailsObj, "pinswg_siteaddresstown") &&
detailsObj.pinswg_siteaddresstown !=
null && <br />}
{_.has(detailsObj, "pinswg_siteaddresscounty")
? detailsObj.pinswg_siteaddresscounty
: ""}
{_.has(
detailsObj,
"pinswg_siteaddresscounty"
) &&
detailsObj.pinswg_siteaddresscounty !=
null && <br />}
{_.has(detailsObj, "pinswg_siteaddresspostcode")
? detailsObj.pinswg_siteaddresspostcode
: ""}
</dd>
</div>
</dl>
</div>
<div className="govuk-grid-row">
<p className="govuk-body">
{t("myrepresentations:lpa-capacity-para-one")}
</p>
</div>
</div>
</>
);
};
export default RepLPADetails;
@@ -1,18 +1,12 @@
import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import { Field, reduxForm } from "redux-form";
import {
RenderPickList,
RenderTextfield,
RenderRadioList,
RenderMultiline,
} from "./representationElements";
import { useRouter } from "next/router";
import { useDropzone } from "react-dropzone";
import { Field } from "redux-form";
import {
setRepresentationCapacity,
setRepresentationSubmit,
} from "../../../store/currentView/action";
FileUploadField,
RenderPickList,
RenderRichMultiline,
} from "./representationElements";
const RepLandOwner = (props) => {
let { t } = useTranslation();
@@ -37,7 +31,7 @@ const RepLandOwner = (props) => {
<div className="govuk-grid-column-full">
<div className="govuk-grid-row">
<h2 className="govuk-heading-m ">
Representation - landowner
Representation for a Land owner
</h2>
<div className="govuk-form-group">
@@ -45,7 +39,10 @@ const RepLandOwner = (props) => {
className="govuk-label govuk-body-m"
htmlFor="representationType"
>
What kind of representation are you making?
{t(
"myrepresentations:representation-from-an-agent-heading"
)}
?
</label>
<Field
name="representationType"
@@ -55,173 +52,75 @@ const RepLandOwner = (props) => {
/>
</div>
</div>
<div className="govuk-grid-row">
<div className="govuk-form-group">
<Field
className="govuk-input govuk-!-width-three-quarters"
id="representationDescription"
name="representationDescription"
value="email"
data-aria-controls="representationDescription"
type="text"
component={RenderTextfield}
label="Description of representation"
/>
</div>
</div>
<div className="govuk-grid-row">
<div className="govuk-form-group">
<p className="govuk-body">
You can enter your comments in the space provided or
attach a separate document.
{t("myrepresentations:enter-comment-label")}
</p>
<fieldset
className="govuk-fieldset"
aria-describedby="commentBox-hint"
>
<div id="commentBox-hint" className="govuk-hint">
My comments are set out in:*
{t("myrepresentations:comments-set-out-label")}:
</div>
<div
className="govuk-checkboxes"
data-module="govuk-checkboxes"
>
<div className="govuk-checkboxes__item">
<Field
className="govuk-checkboxes__input"
id="commentBox"
name="commentBox"
value="email"
data-aria-controls="commentBox"
type="checkbox"
component={RenderTextfield}
/>
<label
className="govuk-label govuk-checkboxes__label"
htmlFor="commentBox"
>
the box below{" "}
</label>
</div>
<div
className={
_.isEmpty(formObj["representationForm"])
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden rr"
: _.isEmpty(
formObj["representationForm"]
.values
)
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden q11 "
: _.isEmpty(
formObj["representationForm"]
.values.commentBox
)
? formObj["representationForm"]
.values.commentBox == false
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden www"
: "govuk-checkboxes__conditional"
: "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden wwwaqqqq"
<div className="govuk-form-group">
<Field
name="representationComments"
id="representationComments"
component={RenderRichMultiline}
type="text"
rows="5"
className="govuk-textarea govuk-input--width-30"
aria-describedby={props.name + "-hint"}
/>
</div>
<div className="govuk-form-group govuk-!-margin-bottom-9">
<FileUploadField
name={"representationDocuments"}
id={"representationDocuments"}
label={t(
"myrepresentations:add-files-label"
)}
ticketnumber={props.props.caseReference}
hint={"sdsd"}
fileList={[]}
setFilesForRepresentation={[]}
containerID={
props.props.props.accountDetails
.containerID
}
id="conditional-commentBox"
>
<div className="govuk-form-group">
<Field
name="representationComments"
id="representationComments"
component={RenderMultiline}
type="text"
rows="5"
className="govuk-textarea govuk-input--width-30"
aria-describedby={
props.name + "-hint"
}
/>
</div>
</div>
<div className="govuk-checkboxes__item">
<Field
className="govuk-checkboxes__input"
id="documentBox"
name="documentBox"
value="email"
data-aria-controls="documentBox"
type="checkbox"
component={RenderTextfield}
/>
<label
className="govuk-label govuk-checkboxes__label"
htmlFor="documentBox"
>
separate documents
</label>
</div>
<div
className={
_.isEmpty(formObj["representationForm"])
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden rr"
: _.isEmpty(
formObj["representationForm"]
.values
)
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden www"
: _.isEmpty(
formObj["representationForm"]
.values.documentBox
)
? formObj["representationForm"]
.values.documentBox == false
? "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden www"
: "govuk-checkboxes__conditional"
: "govuk-checkboxes__conditional govuk-checkboxes__conditional--hidden"
}
id="conditional-documentBox"
>
<div className="govuk-form-group">
<section className="container">
<div
{...getRootProps({
className: "dropzone",
})}
>
<input {...getInputProps()} />
<p>
Drag and drop files here or
click to select files
</p>
</div>
<aside>
<h4>Files</h4>
<ul>{files}</ul>
</aside>
</section>
</div>
</div>
/>
</div>
</fieldset>
</div>
</div>{" "}
</div>
<div className="govuk-grid-row">
<div className="govuk-button-group">
<Link href="/representation">
<a
onClick={() => {
setRepresentationSubmit(true);
}}
{typeof formObj.representationForm.values.representationType !=
"undefined" && (
<div className="govuk-grid-row">
<div className="govuk-button-group">
<button
type="submit"
className="govuk-button"
data-module="govuk-button"
>
Continue
</a>
</Link>
<a
onClick={() => {
setRepresentationCapacity();
}}
className="govuk-link"
>
Back
</a>
{t("common:continue-button")}
</button>
{router.query.state != "edit" && (
<a
onClick={() => {
setRepresentationCapacity();
}}
className="govuk-link"
>
{t("common:back-link")}
</a>
)}
</div>
</div>
</div>
)}
</div>
</div>
);
@@ -0,0 +1,596 @@
import useTranslation from "next-translate/useTranslation";
import { useRouter } from "next/router";
const RepresentationProgress_enforcement = (props) => {
let { t } = useTranslation();
const router = useRouter();
const {
formObj,
appellantApplicantRepresentationArr,
setRepresentationCapacity,
setRepresentationSubmit,
currentView,
procedureTypeValue,
onBehalfOfLPA,
setShowQuestionnaireSection,
showQuestionnaireSection,
} = props;
return (
<nav role="navigation" aria-label="progress-list" className="at-nav">
<div
id="step-by-step-navigation"
data-module="gemstepnav"
className="app-step-nav app-step-nav--active"
data-id="e01e924b-9c7c-4c71-8241-66a575c2f61f"
data-show-text="show"
data-hide-text="hide"
data-show-all-text="Show all"
data-hide-all-text="Hide all"
>
<ol className="app-step-nav__steps">
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 1
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id={t("myrepresentations:enf-section-heading-one")
.replace(/\s+/g, "-")
.toLowerCase()}
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
1
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(1);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls={
"step-panel-" +
t(
"myrepresentations:enf-section-heading-one"
)
.replace(/\s+/g, "-")
.toLowerCase()
}
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:enf-section-heading-one"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 2
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id={t("myrepresentations:enf-section-heading-two")
.replace(/\s+/g, "-")
.toLowerCase()}
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
2
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(2);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls={
"step-panel-" +
t(
"myrepresentations:enf-section-heading-two"
)
.replace(/\s+/g, "-")
.toLowerCase()
}
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:enf-section-heading-two"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 3
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id={t("myrepresentations:enf-section-heading-three")
.replace(/\s+/g, "-")
.toLowerCase()}
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
3
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(3);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls={
"step-panel-" +
t(
"myrepresentations:enf-section-heading-three"
)
.replace(/\s+/g, "-")
.toLowerCase()
}
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:enf-section-heading-three"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 4
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id={t("myrepresentations:enf-section-heading-four")
.replace(/\s+/g, "-")
.toLowerCase()}
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
4
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(4);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls={
"step-panel-" +
t(
"myrepresentations:enf-section-heading-four"
)
.replace(/\s+/g, "-")
.toLowerCase()
}
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:enf-section-heading-four"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 5
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id={t("myrepresentations:enf-section-heading-five")
.replace(/\s+/g, "-")
.toLowerCase()}
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
5
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(5);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls={
"step-panel-" +
t(
"myrepresentations:enf-section-heading-five"
)
.replace(/\s+/g, "-")
.toLowerCase()
}
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:enf-section-heading-five"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 6
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id={t("myrepresentations:enf-section-heading-six")
.replace(/\s+/g, "-")
.toLowerCase()}
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
6
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(6);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls={
"step-panel-" +
t(
"myrepresentations:enf-section-heading-six"
)
.replace(/\s+/g, "-")
.toLowerCase()
}
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:enf-section-heading-six"
)}
</span>
</a>
</span>
</h3>
</div>
</li>{" "}
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 7
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id={t("myrepresentations:enf-section-heading-seven")
.replace(/\s+/g, "-")
.toLowerCase()}
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
7
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(7);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls={
"step-panel-" +
t(
"myrepresentations:enf-section-heading-seven"
)
.replace(/\s+/g, "-")
.toLowerCase()
}
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:enf-section-heading-seven"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 8
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id={t("myrepresentations:add-files-label")
.replace(/\s+/g, "-")
.toLowerCase()}
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
8
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(8);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls={
"step-panel-" +
t(
"myrepresentations:add-files-label"
)
.replace(/\s+/g, "-")
.toLowerCase()
}
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:add-files-label"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 9
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id={t("myrepresentations:enf-section-heading-eight")
.replace(/\s+/g, "-")
.toLowerCase()}
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
9
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(9);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls={
"step-panel-" +
t(
"myrepresentations:enf-section-heading-eight"
)
.replace(/\s+/g, "-")
.toLowerCase()
}
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:enf-section-heading-eight"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
</ol>
</div>
</nav>
);
};
export default RepresentationProgress_enforcement;
@@ -0,0 +1,473 @@
import useTranslation from "next-translate/useTranslation";
import { useRouter } from "next/router";
const RepresentationProgress_s78 = (props) => {
let { t } = useTranslation();
const router = useRouter();
const {
formObj,
appellantApplicantRepresentationArr,
setRepresentationCapacity,
setRepresentationSubmit,
currentView,
procedureTypeValue,
onBehalfOfLPA,
setShowQuestionnaireSection,
showQuestionnaireSection,
} = props;
return (
<nav role="navigation" aria-label="progress-list" className="at-nav">
<div
id="step-by-step-navigation"
data-module="gemstepnav"
className="app-step-nav app-step-nav--active"
data-id="e01e924b-9c7c-4c71-8241-66a575c2f61f"
data-show-text="show"
data-hide-text="hide"
data-show-all-text="Show all"
data-hide-all-text="Hide all"
>
<ol className="app-step-nav__steps">
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 1
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id={t("myrepresentations:s78-section-heading-one")
.replace(/\s+/g, "-")
.toLowerCase()}
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
1
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(1);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls={
"step-panel-" +
t(
"myrepresentations:s78-section-heading-one"
)
.replace(/\s+/g, "-")
.toLowerCase()
}
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:s78-section-heading-one"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 2
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id={t("myrepresentations:s78-section-heading-two")
.replace(/\s+/g, "-")
.toLowerCase()}
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
2
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(2);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls={
"step-panel-" +
t(
"myrepresentations:s78-section-heading-two"
)
.replace(/\s+/g, "-")
.toLowerCase()
}
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:s78-section-heading-two"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 3
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id={t("myrepresentations:s78-section-heading-three")
.replace(/\s+/g, "-")
.toLowerCase()}
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
3
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(3);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls={
"step-panel-" +
t(
"myrepresentations:s78-section-heading-three"
)
.replace(/\s+/g, "-")
.toLowerCase()
}
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:s78-section-heading-three"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 4
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id={t("myrepresentations:s78-section-heading-four")
.replace(/\s+/g, "-")
.toLowerCase()}
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
4
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(4);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls={
"step-panel-" +
t(
"myrepresentations:s78-section-heading-four"
)
.replace(/\s+/g, "-")
.toLowerCase()
}
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:s78-section-heading-four"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 5
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id={t("myrepresentations:s78-section-heading-five")
.replace(/\s+/g, "-")
.toLowerCase()}
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
5
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(5);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls={
"step-panel-" +
t(
"myrepresentations:s78-section-heading-five"
)
.replace(/\s+/g, "-")
.toLowerCase()
}
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:s78-section-heading-three"
)}
</span>
</a>
</span>
</h3>
</div>
</li>{" "}
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 6
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id={t("myrepresentations:s78-section-heading-six")
.replace(/\s+/g, "-")
.toLowerCase()}
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
6
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(6);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls={
"step-panel-" +
t(
"myrepresentations:add-files-label"
)
.replace(/\s+/g, "-")
.toLowerCase()
}
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:add-files-label"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
<li
className={
"app-step-nav__step js-step app-step-nav__step--active" +
(showQuestionnaireSection >= 7
? " sectionComplete"
: " sectionIncomplete")
}
aria-current="step"
data-show=""
id={t("myrepresentations:s78-section-heading-seven")
.replace(/\s+/g, "-")
.toLowerCase()}
>
<div
className="app-step-nav__header js-toggle-panel "
data-position="1"
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
7
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
setShowQuestionnaireSection(7);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls={
"step-panel-" +
t(
"myrepresentations:s78-section-heading-seven"
)
.replace(/\s+/g, "-")
.toLowerCase()
}
>
<span className="js-step-title-text govuk-!-font-size-16">
{t(
"myrepresentations:s78-section-heading-seven"
)}
</span>
</a>
</span>
</h3>
</div>
</li>
</ol>
</div>
</nav>
);
};
export default RepresentationProgress_s78;
+14 -37
View File
@@ -1,15 +1,14 @@
import Link from "next/link";
import { useRouter } from "next/router";
import { useState, useEffect, useRef } from "react";
import { useDispatch, useSelector, shallowEqual, connect } from "react-redux";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import { JSONPath as jsonpath } from "jsonpath-plus";
import _ from "lodash";
import useTranslation from "next-translate/useTranslation";
import { useRouter } from "next/router";
import { useEffect, useState } from "react";
import { connect } from "react-redux";
import transLookup from "../../data/lookuptranslations.json";
import LoadingOverlay from "react-loading-overlay";
import { getRepresentations } from "../../actions";
import { setRepresentations } from "../../store/searchOutput/action";
import PaginationControl from "./pagination";
import { formatDates } from "../utils";
const RepresentationList = (props) => {
const { incidentid, representationsObj, setRepresentations } = props;
@@ -17,7 +16,7 @@ const RepresentationList = (props) => {
const router = useRouter();
const { locale } = router;
// const [showSpinnerState, setShowSpinnerState] = useState(false);
//const [showSpinnerState, setShowSpinnerState] = useState(false);
// let spinnerState = () => {
// showSpinnerState == true
@@ -28,8 +27,6 @@ const RepresentationList = (props) => {
var representationsArr = representationsObj || [];
const RepresentationsView = (representationsArr) => {
//console.log(documentDetailsArr);
representationsArr = representationsArr.value;
return (
<>
@@ -60,11 +57,11 @@ const RepresentationList = (props) => {
</div>
{representationsArr.map((item, key) => {
let detailsObj = jsonpath.query(
item,
let detailsObj = jsonpath(
"$..[?(@.pinswg_representationsid=='" +
incidentid +
"')]"
"')]",
item
);
detailsObj = item;
@@ -90,13 +87,13 @@ const RepresentationList = (props) => {
</span>
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue"
@@ -129,12 +126,6 @@ const RepresentationList = (props) => {
);
})}
</dl>
{/* <PaginationControl
currentPage={currentPage}
searchResultsObj={documentDetailsObj}
// spinnerState={spinnerState}
getDocumentResults={getDocumentResults}
/> */}
</>
);
};
@@ -153,15 +144,6 @@ const RepresentationList = (props) => {
const representationResultsObj = representationDetailsObj();
}, [incidentid, setRepresentations]);
function formatDates(dateObj) {
var dateObj = new Date(dateObj);
var dd = String(dateObj.getDate()).padStart(2, "0");
var mm = String(dateObj.getMonth() + 1).padStart(2, "0"); //January is 0!
var yyyy = dateObj.getFullYear();
return dd + "/" + mm + "/" + yyyy;
}
const pagesCount = Math.ceil(representationsObj["@odata.count"] / 10);
let currentPage = 0;
@@ -224,11 +206,6 @@ const RepresentationList = (props) => {
</div>
</div>
</div>
{/* <LoadingOverlay
active={showSpinnerState}
spinner
text={t("common:spinner-searching")}
/> */}
</>
);
};
+649 -97
View File
@@ -1,20 +1,33 @@
import { JSONPath as jsonpath } from "jsonpath-plus";
import _ from "lodash";
import useTranslation from "next-translate/useTranslation";
import Link from "next/link";
import { useRouter } from "next/router";
import { useState, useEffect, useRef } from "react";
import { useDispatch, useSelector, shallowEqual, connect } from "react-redux";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import { useEffect } from "react";
import { connect } from "react-redux";
import transLookup from "../../data/lookuptranslations.json";
import LoadingOverlay from "react-loading-overlay";
import { getLinkedCases } from "../../actions";
import {
createWatchedCases,
deleteWatchedCases,
getLinkedCases,
getPortalModuleDetailsProxy,
getWatchedCasesProxy,
} from "../../actions";
import {
setCurrentLinkedCases,
setCurrentReference,
setCurrentView,
} from "../../store/currentView/action";
import { getFormCollectionByID } from "../utils";
import {
setWatchedCases,
setWatchedCasesDetails,
} from "../../store/watchedCases/action";
import { signIn, useSession } from "next-auth/react";
import { destroyCookie, parseCookies, setCookie } from "nookies";
import { getFormCollectionByID, getDetailsProxy } from "../utils";
import Pinswg_advertsid from "./summaryTypes/pinswg_advertsid";
import Pinswg_callinss77id from "./summaryTypes/pinswg_callinss77id";
@@ -41,7 +54,7 @@ import Pinswg_planningobligationappeals106id from "./summaryTypes/pinswg_plannin
import Pinswg_rowid from "./summaryTypes/pinswg_rowid";
import Pinswg_transportandworkactid from "./summaryTypes/pinswg_transportandworkactid";
import Pinswg_wayleaveid from "./summaryTypes/pinswg_wayleaveid";
import CaseNoticeBanner from "./caseNoticeBanner";
const CaseSummary = (props) => {
let { t } = useTranslation();
@@ -57,27 +70,112 @@ const CaseSummary = (props) => {
awaitingSubmission,
searchResultsObj,
searchDetailsObj,
directSearchResultsObj,
currentType,
setCurrentLinkedCases,
linkedCasesReference,
setCurrentReference,
setWatchedCases,
setWatchedCasesDetails,
showMap,
currentView,
messagesObj,
} = props;
const noRepresentationLink = ["/case", "/dnsdetails"];
const showLoginCheck =
currentType == "directResultsObj" ? "true" : currentView.showLogin;
const { data: session, status } = useSession();
let setCaseQueryObj = props[currentType];
let setCaseDetailsObj = props[currentType + "Details"];
const cookies = parseCookies();
const isLPA =
props.accountDetails.accountDetails[
"pinswg_typeofinvolvement@OData.Community.Display.V1.FormattedValue"
] == "LPA"
? true
: false;
const selectWatchedCase = (loggedInUser, incidentID, appealType) => {
let updateBody = {
"pinswg_WatchedCase@odata.bind": "/incidents(" + incidentID + ")",
"pinswg_Contact@odata.bind": "/contacts(" + loggedInUser + ")",
"pinswg_appealcasetype": +appealType,
};
createWatchedCases(updateBody)
.then((data) => data)
.then(() => {
getWatchedCasesProxy(loggedInUser).then((data) => {
setWatchedCases(data),
getDetailsProxy(data, "myWatchedCases").then((data) => {
setWatchedCasesDetails(data);
});
});
});
};
const isWatchedCase = (whichIncident) => {
let isWatched = jsonpath(
"$..value[?(@._pinswg_watchedcase_value=='" + whichIncident + "')]",
watchedCases
);
return isWatched;
};
const deleteItem = (caseID, topThreeType) => {
let cookies = parseCookies();
topThreeType == "watchedCases" &&
deleteWatchedCases(caseID)
.then((data) => data)
.then(() => {
getWatchedCasesProxy(cookies.pinsUser).then((data) => {
setWatchedCases(data),
getDetailsProxy(data, "myWatchedCases").then(
(data) => {
setWatchedCasesDetails(data);
}
);
});
});
};
const noRepresentationLink = ["/dnsdetails", "/dns/[developmentName]"];
let setCaseQueryObj =
currentType == "directResultsObj"
? props.searchResultsObj.searchResultsObj
: props[currentType];
let setCaseDetailsObj =
currentType == "directResultsObj"
? props.searchResultsObj.searchDetailsObj
: props[currentType + "Details"];
var casesObj = {};
currentType == "searchResultsObj"
? (casesObj = jsonpath.query(
searchResultsObj,
'$..[?(@.title=="' + caseReference + '")]'
? (casesObj = jsonpath(
'$..[?(@.title=="' + caseReference + '")]',
searchResultsObj
))
: (casesObj = jsonpath.query(
setCaseQueryObj,
'$..[?(@.reference=="' + caseReference + '")]'
: currentType == "watchedCases"
? (casesObj = jsonpath(
'$..[?(@.pinswg_title=="' + caseReference + '")]',
setCaseQueryObj
))
: currentType == "myCases"
? (casesObj = jsonpath(
'$..[?(@.pinswg_title=="' + caseReference + '")]',
setCaseQueryObj
))
: currentType == "directResultsObj"
? (casesObj = jsonpath(
'$..[?(@.ticketnumber=="' + caseReference + '")]',
setCaseQueryObj
))
: (casesObj = jsonpath(
'$..[?(@.reference=="' + caseReference + '")]',
setCaseQueryObj
));
casesObj = Object.assign({}, ...casesObj);
@@ -85,19 +183,33 @@ const CaseSummary = (props) => {
var detailsObj = {};
currentType == "searchResultsObj"
? (detailsObj = jsonpath.query(
searchDetailsObj,
'$..[?(@.pinswg_name=="' + caseReference + '")]'
? (detailsObj = jsonpath(
'$..[?(@.pinswg_name=="' + caseReference + '")]',
searchDetailsObj
))
: (detailsObj = jsonpath.query(
setCaseDetailsObj,
'$..[?(@.pinswg_name=="' + caseReference + '")]'
: currentType == "directResultsObj"
? (detailsObj = setCaseDetailsObj[0].value[0])
: (detailsObj = jsonpath(
'$..[?(@.pinswg_name=="' + caseReference + '")]',
setCaseDetailsObj
));
detailsObj = detailsObj[0];
detailsObj = typeof detailsObj == "object" ? detailsObj : detailsObj[0];
let showDetails = typeof detailsObj != "undefined" ? true : false;
var timestamp = showDetails
? detailsObj.hasOwnProperty("pinswg_representation_period_end_date")
? Date.parse(detailsObj.pinswg_representation_period_end_date)
: "n/a"
: "n/a";
if (isNaN(timestamp) == false) {
var d = new Date(timestamp);
}
let hasEndDate = typeof d != "undefined";
let showDetailsBlock =
showDetails == true ? (
<div>
@@ -107,13 +219,26 @@ const CaseSummary = (props) => {
{t("case:summary-reference-label")}:{" "}
{currentType == "searchResultsObj"
? detailsObj.pinswg_name
: currentType == "directResultsObj"
? casesObj.title
: currentType == "watchedCases"
? casesObj.pinswg_title
: casesObj.reference}
</h1>
{props.messagesObj["@odata.count"] > 0 && (
<CaseNoticeBanner messagesObj={props.messagesObj} />
)}
<dl className="govuk-summary-list govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-applicant-label")}
{getFormCollectionByID(appealTypeID)
.PrimaryIdAttribute == "pinswg_dnsid"
? t("case:summary-applicantonly-label")
: getFormCollectionByID(appealTypeID)
.PrimaryIdAttribute ==
"pinswg_nonvalidationid"
? t("case:summary-appellantonly-label")
: t("case:summary-applicant-label")}
</dt>
<dd className="govuk-summary-list__value">
{detailsObj[
@@ -121,7 +246,6 @@ const CaseSummary = (props) => {
] || "not entered"}
</dd>
</div>
{detailsObj.pinswg_agentcontactname != null &&
(_.has(
detailsObj,
@@ -148,6 +272,23 @@ const CaseSummary = (props) => {
{t("case:summary-site-address-label")}
</dt>
<dd className="govuk-summary-list__value">
{getFormCollectionByID(appealTypeID)
.PrimaryIdAttribute == "pinswg_dnsid"
? detailsObj.pinswg_projectlocation !=
null
? detailsObj.pinswg_projectlocation.indexOf(
";"
) < 0
? detailsObj.pinswg_projectlocation
: router.locale == "cy"
? detailsObj.pinswg_projectlocation.split(
";"
)[1]
: detailsObj.pinswg_projectlocation.split(
";"
)[0]
: ""
: ""}
{_.has(
detailsObj,
"pinswg_siteaddressline1"
@@ -201,37 +342,360 @@ const CaseSummary = (props) => {
: ""}
</dd>
</div>
{casesObj.description != null && (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-description-label")}
</dt>
<dd className="govuk-summary-list__value">
{casesObj.description.indexOf(";") < 0
? casesObj.description
: router.locale == "cy"
? casesObj.description.split(";")[1]
: casesObj.description.split(
";"
)[0]}
</dd>
</div>
)}
{detailsObj.pinswg_casestage != null && (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-stage-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_casestage@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_casestage@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
)}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-last-modified-label")}
</dt>
<dd className="govuk-summary-list__value">
{detailsObj.modifiedon > casesObj.modifiedon
? formatDates(detailsObj.modifiedon)
: formatDates(casesObj.modifiedon)}
</dd>
</div>
</dl>
</div>
</div>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<div className="govuk-button-group">
{noRepresentationLink.includes(router.pathname) ==
true ? (
""
) : (
<Link href="/myportal/representation">
<a className="govuk-button">
{t(
"case:summary-make-representation-label"
)}
</a>
</Link>
)}
{/* <a
onClick={() => {
//spinnerState();
router.back();
}}
className="govuk-button govuk-button--secondary"
>
{t("case:summary-back-button-label")}
</a> */}
{showLoginCheck == "true" && (
<>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<div className="govuk-button-group">
{(_.has(detailsObj, "pinswg_startdate") ||
_.has(
detailsObj,
"pinswg_applicationacceptedasvalid"
)) &&
showReps(
detailsObj.pinswg_startdate ||
detailsObj.pinswg_applicationacceptedasvalid,
detailsObj.pinswg_finalcommentsduedate ||
detailsObj.pinswg_endofrepresentationperiod
) && (
<>
{showRepButton(
props.currentView
.caseReference
.appealType
) ? (
<>
<Link
href={{
pathname:
"/myportal/representation",
query: {
case:
currentType ==
"searchResultsObj"
? detailsObj.pinswg_name
: currentType ==
"watchedCases"
? casesObj.pinswg_title
: currentType ==
"directResultsObj"
? detailsObj.pinswg_name
: casesObj.reference,
},
}}
className="govuk-button"
>
{t(
"case:summary-make-representation-label"
)}
</Link>
<a
onClick={() => {
//spinnerState();
router.back();
}}
className="govuk-button govuk-button--secondary"
>
{t(
"case:summary-back-button-label"
)}
</a>
</>
) : !isLPA &&
props.currentView
.caseReference
.appealType ==
846040004 ? (
""
) : (
<>
<div className="govuk-grid-column-full govuk-!-padding-left-0">
<div className="govuk-button-group">
<p className="govuk-body">
{t(
"case:representation-date-passed-label",
{
startDate:
formatDates(
detailsObj.pinswg_startdate
),
endDate:
props
.currentView
.caseReference
.appealType ==
846040019
? formatDates(
detailsObj.pinswg_statementduedate
)
: formatDates(
detailsObj.pinswg_finalcommentsduedate
),
}
)}
<br />{" "}
{t(
"case:representation-date-passed-additional-label"
)}{" "}
<Link
href={
"mailto:" +
t(
"home:login-contact-email"
)
}
>
{t(
"home:login-contact-email"
)}
</Link>
</p>
</div>
</div>
</>
)}
</>
)}
<div className="govuk-body">
{session &&
(isWatchedCase(
props.currentView.caseReference
.incidentid
).length >
0 ==
true ? (
<button
className="govuk-link watchCase"
onClick={() => {
confirm(
t(
"case:you-have-stopped-watching-label"
) +
props
.currentView
.caseReference
.currentReference +
"?"
) &&
deleteItem(
isWatchedCase(
props
.currentView
.caseReference
.incidentid
)[0]
.pinswg_watchlistid,
"watchedCases"
),
setCurrentView({
"viewName":
"Watched Cases",
"viewKey":
"watchedCases",
});
setCurrentReference({
"ticketnumber":
props
.currentView
.caseReference
.currentReference,
"currentReference":
props
.currentView
.caseReference
.currentReference,
"currentType":
"searchResultsObj",
"incidentid":
props
.currentView
.caseReference
.incidentid,
"appealType":
props
.currentView
.caseReference
.appealType,
"showMap": showMap,
});
}}
title={t(
"case:stop-watching-case-link"
)}
>
{t(
"case:stop-watching-case-link"
)}{" "}
</button>
) : (
<button
className="govuk-link watchCase"
onClick={() => {
confirm(
t(
"case:you-are-watching-label"
) +
" " +
props
.currentView
.caseReference
.currentReference +
"?"
) &&
selectWatchedCase(
props
.accountDetails
.loggedinUserId,
props
.currentView
.caseReference
.incidentid,
props
.currentView
.caseReference
.appealType
);
}}
>
{t(
"case:watch-this-case-link"
)}
</button>
))}
{!session && (
<button
className="govuk-link watchCase"
onClick={() => {
confirm(
"Trying to watch case " +
props.currentView
.caseReference
.currentReference +
"\n\nYou will now be prompted to sign in"
) &&
// signIn("email", {
// callbackUrl:
// "/myportal/case/" +
// props
// .currentView
// .caseReference
// .ticketnumber,
// });
setCookie(
null,
"pedwWatchCase",
currentType ==
"searchResultsObj"
? detailsObj.pinswg_name
: currentType ==
"directResultsObj"
? casesObj.title
: casesObj.reference,
{
path: "/",
expires:
expDate,
}
),
signIn();
}}
title={t(
"case:watch-this-case-link"
)}
>
{t("case:watch-this-case-link")}
</button>
)}
</div>
</div>
</div>
</div>
</div>
</div>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
{_.has(detailsObj, "pinswg_startdate") &&
(detailsObj.pinswg_startdate != null ||
detailsObj.pinswg_finalcommentsduedate !=
null) &&
showRepsEnded(
detailsObj.pinswg_startdate,
detailsObj.pinswg_finalcommentsduedate
) && (
<div className="govuk-body">
{t(
"case:representation-period-ended-on-label"
)}
{props.currentView.caseReference
.appealType == 846040019
? formatDates(
detailsObj.pinswg_statementduedate
)
: formatDates(
detailsObj.pinswg_finalcommentsduedate
)}
</div>
)}
</div>
</div>
</>
)}
{showSummary(casesObj, detailsObj)}
</div>
@@ -244,34 +708,38 @@ const CaseSummary = (props) => {
</div>
</div>
</div>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<div className="govuk-button-group">
{noRepresentationLink.includes(router.pathname) ==
true ? (
""
) : (
<Link href="/representation">
<a className="govuk-button">
{showLoginCheck == "true" && (
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<div className="govuk-button-group">
{noRepresentationLink.includes(
router.pathname
) == true ? (
""
) : (
<Link
href="/representation"
className="govuk-button"
>
{t(
"case:summary-make-representation-label"
)}
</a>
</Link>
)}
</Link>
)}
<a
onClick={() => {
// spinnerState();
router.back();
}}
className="govuk-button govuk-button--secondary"
>
{t("case:summary-back-button-label")}
</a>
<a
onClick={() => {
// spinnerState();
router.back();
}}
className="govuk-button govuk-button--secondary"
>
{t("case:summary-back-button-label")}
</a>
</div>
</div>
</div>
</div>
)}
</>
);
@@ -344,6 +812,7 @@ const CaseSummary = (props) => {
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
showMap={showMap}
/>
);
break;
@@ -380,7 +849,7 @@ const CaseSummary = (props) => {
/>
);
break;
case "pinswg_environmentalpermittingid":
case "pinswg_enforcementpermittingid":
return (
<Pinswg_environmentalpermittingid
casesObj={casesObj}
@@ -575,21 +1044,27 @@ const CaseSummary = (props) => {
const linkedCases = linkCaseObj();
}, [incidentid, setCurrentLinkedCases]);
// const [showSpinnerState, setShowSpinnerState] = useState(false);
let now = new Date();
let expDate = new Date(now);
// let spinnerState = () => {
// showSpinnerState == true
// ? setShowSpinnerState(false)
// : setShowSpinnerState(true);
// };
expDate.setDate(now.getDate() + 365);
function formatDates(dateObj) {
function formatDates(dateObj, showTime) {
var dateObj = new Date(dateObj);
var dd = String(dateObj.getDate()).padStart(2, "0");
var mm = String(dateObj.getMonth() + 1).padStart(2, "0"); //January is 0!
var yyyy = dateObj.getFullYear();
var hh = dateObj.getHours();
hh = ("0" + hh).slice(-2);
var mins = dateObj.getMinutes();
mins = ("0" + mins).slice(-2);
return dd + "/" + mm + "/" + yyyy;
const dateStr = showTime
? hh == 0 && mins == 0
? ""
: hh + ":" + mins
: dd + "/" + mm + "/" + yyyy + " ";
return dateStr;
}
function linkedCasesList(linkedCasesReference) {
@@ -613,28 +1088,96 @@ const CaseSummary = (props) => {
item.title +
"&lk=1"
}
className=""
>
<a className="">{item.title}</a>
{item.title}
</Link>
</li>
);
// console.log(item.incidentid, item.title);
//console.log(item.incidentid, item.title);
})}
</ul>
</>
);
}
return (
<>
{showDetailsBlock}
{/* <LoadingOverlay
active={showSpinnerState}
spinner
text={t("common:spinner-searching")}
/> */}
</>
);
function showReps(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;
}
function showRepButton(appealType) {
switch (appealType) {
case 846040012:
case 846040013:
case 846040014:
//for ROW case 846040015:
case 846040020:
case 846040021:
case 846040023:
case 846040024:
return false;
case 846040004:
return isLPA ? true : false;
case 846040015:
return props.searchResultsObj.searchDetailsObj[0].value[0]
.pinswg_specialistcaseprocess == 846040001
? showReps(
props.searchResultsObj.searchDetailsObj[0].value[0]
.pinswg_startdate,
props.searchResultsObj.searchDetailsObj[0].value[0]
.pinswg_finalcommentsduedate
)
: true;
case 846040018:
let shouldShow =
props.searchResultsObj.searchDetailsObj[0].value[0]
.pinswg_speacialistcaseprocess == 846040000 && isLPA
? true
: props.searchResultsObj.searchDetailsObj[0].value[0]
.pinswg_speacialistcaseprocess == 846040001
? true
: false;
return shouldShow;
case 846040019:
return showReps(
props.searchResultsObj.searchDetailsObj[0].value[0]
.pinswg_startdate,
props.searchResultsObj.searchDetailsObj[0].value[0]
.pinswg_statementduedate
);
default:
return true;
}
}
function showRepsEnded(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;
}
if (status == "authenticated" && cookies.pedwWatchCase != null) {
selectWatchedCase(
props.accountDetails.accountDetails.contactid,
incidentid,
appealTypeID
);
destroyCookie({}, "pedwWatchCase", { path: "/" });
}
return <>{showDetailsBlock}</>;
};
const mapStateToProps = (state) => {
@@ -651,6 +1194,15 @@ const mapDispatchToProps = (dispatch) => {
setCurrentReference: (currentReference) => {
dispatch(setCurrentReference(currentReference));
},
setWatchedCases: (watchedCases) => {
dispatch(setWatchedCases(watchedCases));
},
setWatchedCasesDetails: (watchedCasesDetails) => {
dispatch(setWatchedCasesDetails(watchedCasesDetails));
},
setCurrentView: (currentView) => {
dispatch(setCurrentView(currentView));
},
};
};
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_advertsid = (props) => {
@@ -13,7 +13,7 @@ const Pinswg_advertsid = (props) => {
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -27,13 +27,13 @@ const Pinswg_advertsid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -43,19 +43,40 @@ const Pinswg_advertsid = (props) => {
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
Specialist Case Process
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_speacialistcaseprocess@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_speacialistcaseprocess@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -83,32 +104,51 @@ const Pinswg_advertsid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-type-of-event-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -118,25 +158,26 @@ const Pinswg_advertsid = (props) => {
)}
</dd>
</div>
<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.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -194,7 +235,7 @@ const Pinswg_advertsid = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -324,6 +365,31 @@ const Pinswg_advertsid = (props) => {
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-event-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_startdateoftheevent"
)
? !_.isEmpty(
detailsObj.pinswg_startdateoftheevent
)
? formatDates(
detailsObj.pinswg_startdateoftheevent
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_callinss77id = (props) => {
@@ -13,7 +13,7 @@ const Pinswg_callinss77id = (props) => {
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -27,13 +27,13 @@ const Pinswg_callinss77id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -49,13 +49,13 @@ const Pinswg_callinss77id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -83,32 +83,51 @@ const Pinswg_callinss77id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-type-of-event-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -124,19 +143,19 @@ const Pinswg_callinss77id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -194,7 +213,7 @@ const Pinswg_callinss77id = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -259,6 +278,32 @@ const Pinswg_callinss77id = (props) => {
)}
</dd>
</div>
{/* <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> */}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
@@ -395,6 +440,31 @@ const Pinswg_callinss77id = (props) => {
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-event-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_startdateofevent"
)
? !_.isEmpty(
detailsObj.pinswg_startdateofevent
)
? formatDates(
detailsObj.pinswg_startdateofevent
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_commonlandid = (props) => {
@@ -13,7 +13,7 @@ const Pinswg_commonlandid = (props) => {
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -27,13 +27,13 @@ const Pinswg_commonlandid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -49,13 +49,13 @@ const Pinswg_commonlandid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -83,32 +83,51 @@ const Pinswg_commonlandid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-type-of-event-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -124,19 +143,19 @@ const Pinswg_commonlandid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -198,13 +217,18 @@ const Pinswg_commonlandid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
? jsonpath(
'$..[?(@.pinswg_lpa=="' +
detailsObj.pinswg_relevantauthorityname +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj.pinswg_relevantauthorityname ||
: jsonpath(
'$..[?(@.pinswg_lpa=="' +
detailsObj.pinswg_relevantauthorityname +
'")].value',
transLookup
) ||
t(
"case:summary-no-date-entered-label"
)}
@@ -214,7 +238,7 @@ const Pinswg_commonlandid = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -290,13 +314,13 @@ const Pinswg_commonlandid = (props) => {
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_statementduedate"
"pinswg_statementsduedate"
)
? !_.isEmpty(
detailsObj.pinswg_statementduedate
detailsObj.pinswg_statementsduedate
)
? formatDates(
detailsObj.pinswg_statementduedate
detailsObj.pinswg_statementsduedate
)
: t(
"case:summary-no-date-entered-label"
@@ -420,6 +444,31 @@ const Pinswg_commonlandid = (props) => {
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-event-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_starttimeoftheevent"
)
? !_.isEmpty(
detailsObj.pinswg_starttimeoftheevent
)
? formatDates(
detailsObj.pinswg_starttimeoftheevent
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_communityinfrastructurelevyid = (props) => {
@@ -13,7 +13,7 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -27,13 +27,13 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -49,13 +49,13 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -83,32 +83,51 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-type-of-event-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -124,19 +143,19 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -194,7 +213,7 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -323,6 +342,31 @@ const Pinswg_communityinfrastructurelevyid = (props) => {
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-event-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_startdateoftheevent"
)
? !_.isEmpty(
detailsObj.pinswg_startdateoftheevent
)
? formatDates(
detailsObj.pinswg_startdateoftheevent
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_compulsorypurchaseordersid = (props) => {
@@ -13,7 +13,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -27,13 +27,13 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -65,32 +65,51 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-type-of-event-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -106,19 +125,19 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -180,13 +199,18 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
? jsonpath(
'$..[?(@.pinswg_lpa=="' +
detailsObj.pinswg_relevantauthorityname +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj.pinswg_relevantauthorityname ||
: jsonpath(
'$..[?(@.pinswg_lpa=="' +
detailsObj.pinswg_relevantauthorityname +
'")].value',
transLookup
) ||
t(
"case:summary-no-date-entered-label"
)}
@@ -196,7 +220,7 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -402,6 +426,31 @@ const Pinswg_compulsorypurchaseordersid = (props) => {
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-event-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_startdateofevent"
)
? !_.isEmpty(
detailsObj.pinswg_startdateofevent
)
? formatDates(
detailsObj.pinswg_startdateofevent
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
File diff suppressed because it is too large Load Diff
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_electricityactid = (props) => {
@@ -51,7 +51,7 @@ const Pinswg_electricityactid = (props) => {
)}
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -65,13 +65,13 @@ const Pinswg_electricityactid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -87,13 +87,13 @@ const Pinswg_electricityactid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -123,32 +123,53 @@ const Pinswg_electricityactid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-type-of-event-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -164,13 +185,13 @@ const Pinswg_electricityactid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
@@ -238,11 +259,11 @@ const Pinswg_electricityactid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj.pinswg_recommendation +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj.pinswg_recommendation ||
t(
@@ -259,11 +280,11 @@ const Pinswg_electricityactid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj.pinswg_webaddress +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj.pinswg_webaddress ||
t(
@@ -276,7 +297,7 @@ const Pinswg_electricityactid = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_enforcementlistedbuildingconseid = (props) => {
@@ -13,7 +13,7 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -27,13 +27,13 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -49,13 +49,13 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -83,32 +83,51 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-type-of-event-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -124,19 +143,19 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -194,7 +213,7 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -400,6 +419,31 @@ const Pinswg_enforcementlistedbuildingconseid = (props) => {
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-event-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_startdateofevent"
)
? !_.isEmpty(
detailsObj.pinswg_startdateofevent
)
? formatDates(
detailsObj.pinswg_startdateofevent
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_enforcementnoticeappeals174id = (props) => {
@@ -13,7 +13,7 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -27,13 +27,13 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -49,13 +49,13 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -83,32 +83,51 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-type-of-event-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -124,19 +143,19 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -194,7 +213,7 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -400,6 +419,31 @@ const Pinswg_enforcementnoticeappeals174id = (props) => {
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-event-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_startdateoftheevent"
)
? !_.isEmpty(
detailsObj.pinswg_startdateoftheevent
)
? formatDates(
detailsObj.pinswg_startdateoftheevent
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_environmentalpermittingid = (props) => {
@@ -13,7 +13,7 @@ const Pinswg_environmentalpermittingid = (props) => {
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -27,13 +27,13 @@ const Pinswg_environmentalpermittingid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -49,13 +49,13 @@ const Pinswg_environmentalpermittingid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -83,32 +83,51 @@ const Pinswg_environmentalpermittingid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-type-of-event-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -124,19 +143,19 @@ const Pinswg_environmentalpermittingid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -198,13 +217,18 @@ const Pinswg_environmentalpermittingid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
? jsonpath(
'$..[?(@.pinswg_lpa=="' +
detailsObj.pinswg_relevantauthorityname +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj.pinswg_relevantauthorityname ||
: jsonpath(
'$..[?(@.pinswg_lpa=="' +
detailsObj.pinswg_relevantauthorityname +
'")].value',
transLookup
) ||
t(
"case:summary-no-date-entered-label"
)}
@@ -214,7 +238,7 @@ const Pinswg_environmentalpermittingid = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -420,6 +444,31 @@ const Pinswg_environmentalpermittingid = (props) => {
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-event-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_startdateofevent"
)
? !_.isEmpty(
detailsObj.pinswg_startdateofevent
)
? formatDates(
detailsObj.pinswg_startdateofevent
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_harbourrevisionorderid = (props) => {
@@ -51,7 +51,7 @@ const Pinswg_harbourrevisionorderid = (props) => {
)}
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -65,13 +65,13 @@ const Pinswg_harbourrevisionorderid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -87,13 +87,13 @@ const Pinswg_harbourrevisionorderid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -123,13 +123,13 @@ const Pinswg_harbourrevisionorderid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
@@ -142,13 +142,13 @@ const Pinswg_harbourrevisionorderid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -164,19 +164,19 @@ const Pinswg_harbourrevisionorderid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -238,11 +238,11 @@ const Pinswg_harbourrevisionorderid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj.pinswg_recommendation +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj.pinswg_recommendation ||
t(
@@ -259,11 +259,11 @@ const Pinswg_harbourrevisionorderid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj.pinswg_webaddress +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj.pinswg_webaddress ||
t(
@@ -276,7 +276,7 @@ const Pinswg_harbourrevisionorderid = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
@@ -13,7 +13,7 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -27,13 +27,13 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -43,19 +43,40 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
Specialist Case Process
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_specialistcaseprocess@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_specialistcaseprocess@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -83,32 +104,51 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-type-of-event-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -124,19 +164,19 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -198,13 +238,18 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
? jsonpath(
'$..[?(@.pinswg_lpa=="' +
detailsObj.pinswg_relevantauthorityname +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj.pinswg_relevantauthorityname ||
: jsonpath(
'$..[?(@.pinswg_lpa=="' +
detailsObj.pinswg_relevantauthorityname +
'")].value',
transLookup
) ||
t(
"case:summary-no-date-entered-label"
)}
@@ -214,7 +259,7 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -420,6 +465,31 @@ const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-event-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_startdateoftheevent"
)
? !_.isEmpty(
detailsObj.pinswg_startdateoftheevent
)
? formatDates(
detailsObj.pinswg_startdateoftheevent
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_householderappealhasid = (props) => {
@@ -13,7 +13,7 @@ const Pinswg_householderappealhasid = (props) => {
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -27,13 +27,13 @@ const Pinswg_householderappealhasid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -49,13 +49,13 @@ const Pinswg_householderappealhasid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -83,13 +83,13 @@ const Pinswg_householderappealhasid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
@@ -102,13 +102,13 @@ const Pinswg_householderappealhasid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -124,19 +124,19 @@ const Pinswg_householderappealhasid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -194,7 +194,7 @@ const Pinswg_householderappealhasid = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -296,26 +296,26 @@ const Pinswg_householderappealhasid = (props) => {
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement"
"pinswg_otherpartiesstmt"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatement
detailsObj.pinswg_otherpartiesstmt
)
? formatDates(
detailsObj.pinswg_otherpartiesstatement
detailsObj.pinswg_otherpartiesstmt
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_otherpartiesstatements"
"pinswg_otherpartiesstmt"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatements
detailsObj.pinswg_otherpartiesstmt
)
? formatDates(
detailsObj.pinswg_otherpartiesstatements
detailsObj.pinswg_otherpartiesstmt
)
: t(
"case:summary-no-date-entered-label"
@@ -349,6 +349,31 @@ const Pinswg_householderappealhasid = (props) => {
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-event-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_startdateofevent"
)
? !_.isEmpty(
detailsObj.pinswg_startdateofevent
)
? formatDates(
detailsObj.pinswg_startdateofevent
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
@@ -13,7 +13,7 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -27,13 +27,13 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -49,13 +49,13 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -83,32 +83,51 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-type-of-event-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -124,19 +143,19 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -194,7 +213,7 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -400,6 +419,31 @@ const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-event-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_startdateoftheevent"
)
? !_.isEmpty(
detailsObj.pinswg_startdateoftheevent
)
? formatDates(
detailsObj.pinswg_startdateoftheevent
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
+65 -21
View File
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_ldpid = (props) => {
@@ -13,7 +13,7 @@ const Pinswg_ldpid = (props) => {
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -27,13 +27,13 @@ const Pinswg_ldpid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -49,13 +49,13 @@ const Pinswg_ldpid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -83,32 +83,51 @@ const Pinswg_ldpid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-type-of-event-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -124,19 +143,19 @@ const Pinswg_ldpid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -194,7 +213,7 @@ const Pinswg_ldpid = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -400,6 +419,31 @@ const Pinswg_ldpid = (props) => {
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-event-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_startdateofevent"
)
? !_.isEmpty(
detailsObj.pinswg_startdateofevent
)
? formatDates(
detailsObj.pinswg_startdateofevent
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_listedbuildingandconservationrid = (props) => {
@@ -13,7 +13,7 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -27,13 +27,13 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -49,13 +49,13 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -83,32 +83,51 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-type-of-event-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -124,19 +143,19 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -194,7 +213,7 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -400,6 +419,31 @@ const Pinswg_listedbuildingandconservationrid = (props) => {
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-event-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_starttimeofevent"
)
? !_.isEmpty(
detailsObj.pinswg_starttimeofevent
)
? formatDates(
detailsObj.pinswg_starttimeofevent
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_maintenanceoflands217id = (props) => {
@@ -13,7 +13,7 @@ const Pinswg_maintenanceoflands217id = (props) => {
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -27,13 +27,13 @@ const Pinswg_maintenanceoflands217id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -49,13 +49,13 @@ const Pinswg_maintenanceoflands217id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -83,32 +83,51 @@ const Pinswg_maintenanceoflands217id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-type-of-event-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -124,19 +143,19 @@ const Pinswg_maintenanceoflands217id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -194,7 +213,7 @@ const Pinswg_maintenanceoflands217id = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -400,6 +419,31 @@ const Pinswg_maintenanceoflands217id = (props) => {
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-event-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_startdateofevent"
)
? !_.isEmpty(
detailsObj.pinswg_startdateofevent
)
? formatDates(
detailsObj.pinswg_startdateofevent
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_miscellaneouscasewordid = (props) => {
@@ -13,7 +13,7 @@ const Pinswg_miscellaneouscasewordid = (props) => {
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -27,13 +27,13 @@ const Pinswg_miscellaneouscasewordid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -49,13 +49,13 @@ const Pinswg_miscellaneouscasewordid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -83,32 +83,51 @@ const Pinswg_miscellaneouscasewordid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-type-of-event-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -124,19 +143,19 @@ const Pinswg_miscellaneouscasewordid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -198,13 +217,18 @@ const Pinswg_miscellaneouscasewordid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
? jsonpath(
'$..[?(@.pinswg_lpa=="' +
detailsObj.pinswg_relevantauthorityname +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj.pinswg_relevantauthorityname ||
: jsonpath(
'$..[?(@.pinswg_lpa=="' +
detailsObj.pinswg_relevantauthorityname +
'")].value',
transLookup
) ||
t(
"case:summary-no-date-entered-label"
)}
@@ -214,7 +238,7 @@ const Pinswg_miscellaneouscasewordid = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -420,6 +444,31 @@ const Pinswg_miscellaneouscasewordid = (props) => {
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-event-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_startdateofevent"
)
? !_.isEmpty(
detailsObj.pinswg_startdateofevent
)
? formatDates(
detailsObj.pinswg_startdateofevent
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_nonvalidationid = (props) => {
@@ -13,7 +13,7 @@ const Pinswg_nonvalidationid = (props) => {
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -27,13 +27,13 @@ const Pinswg_nonvalidationid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -49,13 +49,13 @@ const Pinswg_nonvalidationid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -77,38 +77,38 @@ const Pinswg_nonvalidationid = (props) => {
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
{/* <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
</div> */}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -124,19 +124,19 @@ const Pinswg_nonvalidationid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
"pinswg_decisionissued@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
"pinswg_decisionissued@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -152,7 +152,7 @@ const Pinswg_nonvalidationid = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -164,12 +164,12 @@ const Pinswg_nonvalidationid = (props) => {
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
{_.has(detailsObj, "pinswg_validdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
detailsObj.pinswg_validdate
)
? formatDates(
detailsObj.pinswg_startdate
detailsObj.pinswg_validdate
)
: t(
"case:summary-no-date-entered-label"
@@ -200,13 +200,13 @@ const Pinswg_nonvalidationid = (props) => {
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
"pinswg_decisionissueddate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
detailsObj.pinswg_decisionissueddate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
detailsObj.pinswg_decisionissueddate
)
: t(
"case:summary-no-date-entered-label"
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_planningappeals78id = (props) => {
@@ -13,7 +13,7 @@ const Pinswg_planningappeals78id = (props) => {
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -27,13 +27,13 @@ const Pinswg_planningappeals78id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -49,13 +49,13 @@ const Pinswg_planningappeals78id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -83,32 +83,54 @@ const Pinswg_planningappeals78id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-type-of-event-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-information-to-date-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -124,19 +146,19 @@ const Pinswg_planningappeals78id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
"pinswg_dicision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
"pinswg_dicision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -148,6 +170,29 @@ const Pinswg_planningappeals78id = (props) => {
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 && (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
@@ -194,7 +239,7 @@ const Pinswg_planningappeals78id = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -264,7 +309,7 @@ const Pinswg_planningappeals78id = (props) => {
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
"case:summary-statement-interested-party-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
@@ -287,7 +332,7 @@ const Pinswg_planningappeals78id = (props) => {
</dd>
</div>
<div className="govuk-summary-list__row">
{/* <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
@@ -324,12 +369,12 @@ const Pinswg_planningappeals78id = (props) => {
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</div> */}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
"case:summary-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
@@ -376,7 +421,7 @@ const Pinswg_planningappeals78id = (props) => {
)}
</dd>
</div> */}
<div className="govuk-summary-list__row">
{/* <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
@@ -398,22 +443,22 @@ const Pinswg_planningappeals78id = (props) => {
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</div> */}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
"pinswg_startdatetimeiftheevent"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
detailsObj.pinswg_startdatetimeiftheevent
)
? formatDates(
detailsObj.pinswg_casedecisiondate
detailsObj.pinswg_startdatetimeiftheevent
)
: t(
"case:summary-no-date-entered-label"
@@ -423,6 +468,40 @@ const Pinswg_planningappeals78id = (props) => {
)}
</dd>
</div>
{detailsObj.pinswg_typeofevent == 846040002 ||
detailsObj.pinswg_typeofevent == 846040007 ||
detailsObj.pinswg_typeofevent == 846040012 ||
detailsObj.pinswg_typeofevent == 846040009 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-event-time-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_startdatetimeiftheevent"
)
? !_.isEmpty(
detailsObj.pinswg_startdatetimeiftheevent
)
? formatDates(
detailsObj.pinswg_startdatetimeiftheevent,
true
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
) : (
""
)}
</dl>
</div>
</div>
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_planningconditionss73s79id = (props) => {
@@ -13,7 +13,7 @@ const Pinswg_planningconditionss73s79id = (props) => {
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -27,13 +27,13 @@ const Pinswg_planningconditionss73s79id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -49,13 +49,13 @@ const Pinswg_planningconditionss73s79id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -83,32 +83,51 @@ const Pinswg_planningconditionss73s79id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-type-of-event-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -124,19 +143,19 @@ const Pinswg_planningconditionss73s79id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -194,7 +213,7 @@ const Pinswg_planningconditionss73s79id = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -400,6 +419,31 @@ const Pinswg_planningconditionss73s79id = (props) => {
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-event-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_startdateofevent"
)
? !_.isEmpty(
detailsObj.pinswg_startdateofevent
)
? formatDates(
detailsObj.pinswg_startdateofevent
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_planningobligationappeals106id = (props) => {
@@ -13,7 +13,7 @@ const Pinswg_planningobligationappeals106id = (props) => {
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -27,13 +27,13 @@ const Pinswg_planningobligationappeals106id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -49,13 +49,13 @@ const Pinswg_planningobligationappeals106id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -83,32 +83,51 @@ const Pinswg_planningobligationappeals106id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-type-of-event-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -124,19 +143,19 @@ const Pinswg_planningobligationappeals106id = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -194,7 +213,7 @@ const Pinswg_planningobligationappeals106id = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -400,6 +419,31 @@ const Pinswg_planningobligationappeals106id = (props) => {
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-event-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_startdateoftheevent"
)
? !_.isEmpty(
detailsObj.pinswg_startdateoftheevent
)
? formatDates(
detailsObj.pinswg_startdateoftheevent
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
+96 -26
View File
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_rowid = (props) => {
@@ -13,7 +13,7 @@ const Pinswg_rowid = (props) => {
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -27,13 +27,13 @@ const Pinswg_rowid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -43,19 +43,40 @@ const Pinswg_rowid = (props) => {
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
Specialist Case Process
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_specialistcaseprocess@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_specialistcaseprocess@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -83,32 +104,51 @@ const Pinswg_rowid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-type-of-event-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -124,19 +164,19 @@ const Pinswg_rowid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -198,13 +238,18 @@ const Pinswg_rowid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
? jsonpath(
'$..[?(@.pinswg_lpa=="' +
detailsObj.pinswg_relevantauthorityname +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj.pinswg_relevantauthorityname ||
: jsonpath(
'$..[?(@.pinswg_lpa=="' +
detailsObj.pinswg_relevantauthorityname +
'")].value',
transLookup
) ||
t(
"case:summary-no-date-entered-label"
)}
@@ -214,7 +259,7 @@ const Pinswg_rowid = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -420,6 +465,31 @@ const Pinswg_rowid = (props) => {
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-event-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_startdateoftheevent"
)
? !_.isEmpty(
detailsObj.pinswg_startdateoftheevent
)
? formatDates(
detailsObj.pinswg_startdateoftheevent
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_transportandworkactid = (props) => {
@@ -51,7 +51,7 @@ const Pinswg_transportandworkactid = (props) => {
)}
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -65,13 +65,13 @@ const Pinswg_transportandworkactid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -90,11 +90,11 @@ const Pinswg_transportandworkactid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj.pinswg_recommendation +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj.pinswg_recommendation ||
t(
@@ -111,11 +111,11 @@ const Pinswg_transportandworkactid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj.pinswg_webaddress +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj.pinswg_webaddress ||
t(
@@ -128,7 +128,7 @@ const Pinswg_transportandworkactid = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -1,7 +1,7 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
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";
const Pinswg_wayleaveid = (props) => {
@@ -13,7 +13,7 @@ const Pinswg_wayleaveid = (props) => {
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card" id="case-details-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -27,13 +27,13 @@ const Pinswg_wayleaveid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
@@ -49,13 +49,13 @@ const Pinswg_wayleaveid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
@@ -83,32 +83,51 @@ const Pinswg_wayleaveid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-type-of-event-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
@@ -124,19 +143,19 @@ const Pinswg_wayleaveid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
"case:summary-no-information-to-date-label"
)}
<br />
@@ -198,13 +217,18 @@ const Pinswg_wayleaveid = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
? jsonpath(
'$..[?(@.pinswg_lpa=="' +
detailsObj.pinswg_relevantauthorityname +
'")].value_cy'
'")].value_cy',
transLookup
)
: detailsObj.pinswg_relevantauthorityname ||
: jsonpath(
'$..[?(@.pinswg_lpa=="' +
detailsObj.pinswg_relevantauthorityname +
'")].value',
transLookup
) ||
t(
"case:summary-no-date-entered-label"
)}
@@ -214,7 +238,7 @@ const Pinswg_wayleaveid = (props) => {
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card" id="key-dates-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
@@ -420,6 +444,31 @@ const Pinswg_wayleaveid = (props) => {
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-start-event-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_startdateofevent"
)
? !_.isEmpty(
detailsObj.pinswg_startdateofevent
)
? formatDates(
detailsObj.pinswg_startdateofevent
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
+8 -13
View File
@@ -1,8 +1,6 @@
import useTranslation from "next-translate/useTranslation";
import Link from "next/link";
import { useRouter } from "next/router";
import { useContext } from "react";
import useTranslation from "next-translate/useTranslation";
import SearchForCase from "./search/searchforcase";
import SearchResults from "./search/searchresults";
export default function Search({ children, pages }) {
@@ -25,17 +23,14 @@ export default function Search({ children, pages }) {
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<div className="govuk-button-group">
<Link href="/advancedsearch">
<a className="govuk-button">
{t("search:searchresults-search-button-label")}
</a>
<Link href="/advancedsearch" className="govuk-button">
{t("search:searchresults-search-button-label")}
</Link>
<Link href="/advancedsearch">
<a className="govuk-button govuk-button--secondary">
{t(
"search:searchresults-new-search-button-label"
)}
</a>
<Link
href="/advancedsearch"
className="govuk-button govuk-button--secondary"
>
{t("search:searchresults-new-search-button-label")}
</Link>
</div>
</div>
+1 -4
View File
@@ -1,7 +1,5 @@
import Link from "next/link";
import { useRouter } from "next/router";
import { useContext } from "react";
import useTranslation from "next-translate/useTranslation";
import { useRouter } from "next/router";
import BuildCheckSection from "./newappeal/buildchecksection";
const CheckAnswers = (props) => {
@@ -19,7 +17,6 @@ const CheckAnswers = (props) => {
id="main-content"
role="main"
>
sss
<BuildCheckSection
formXML={formXML}
sectionCount={sectionCount}
+12 -12
View File
@@ -1,9 +1,9 @@
import CookieConsent from "react-cookie-consent";
import cookie from "cookie-cutter";
import useTranslation from "next-translate/useTranslation";
import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import cookie from "cookie-cutter";
import { useState, useEffect } from "react";
import { useState } from "react";
import { CookieConsent } from "react-cookie-consent";
const CookieBanner = () => {
let { t, lang } = useTranslation();
@@ -26,6 +26,7 @@ const CookieBanner = () => {
"usage": "accepted",
"communications": "accepted",
"settings": "accepted",
"analytics_storage": "granted",
};
cookie.set("CookiePolicy", JSON.stringify(cookieStr).toString(), {
@@ -117,14 +118,13 @@ const CookieBanner = () => {
{t("common:cookie-banner-accept")}
</button>
<Link href="/help/cookies">
<a
className="cookies-banner__button govuk-link--no-underline"
id="rcc-decline-button"
aria-label="Decline cookies"
>
{t("common:cookie-banner-change-settings")}
</a>
<Link
href="/help/cookies"
className="cookies-banner__button govuk-link--no-underline"
id="rcc-decline-button"
aria-label="Decline cookies"
>
{t("common:cookie-banner-change-settings")}
</Link>
</div>
</div>
+1 -2
View File
@@ -1,6 +1,5 @@
import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import { useRouter } from "next/router";
const CookiePolicy = (props) => {
let { t } = useTranslation();
+11 -14
View File
@@ -1,10 +1,10 @@
import useTranslation from "next-translate/useTranslation";
import Link from "next/link";
import { useRouter } from "next/router";
import { useContext, useEffect, useState } from "react";
import useTranslation from "next-translate/useTranslation";
import { Field, reduxForm } from "redux-form";
import { parseCookies, setCookie, destroyCookie } from "nookies";
import { parseCookies } from "nookies";
import { useState } from "react";
import { connect } from "react-redux";
import { reduxForm } from "redux-form";
import cookie from "cookie-cutter";
@@ -20,6 +20,8 @@ const CookieManagementMain = (props) => {
Object.assign(values, {
"essential": "accepted",
"usage": usageState,
"analytics_storage":
usageState == "accepted" ? "granted" : "denied",
// "communications": communicationsState,
"settings": settingsState,
});
@@ -65,7 +67,7 @@ const CookieManagementMain = (props) => {
const [usageState, setUsageState] = useState(
typeof cookieCheck.CookiePolicy == "undefined" ? null : cookieObj.usage
);
// const [communicationsState, setCommunicationsState] = useState(
//const [communicationsState, setCommunicationsState] = useState(
// typeof cookieCheck.CookiePolicy == "undefined"
// ? null
// : cookieObj.communications
@@ -205,7 +207,6 @@ const CookieManagementMain = (props) => {
name="usage"
className="govuk-radios__input"
id="usage-1"
component="input"
type="radio"
value="revoked"
checked={
@@ -234,7 +235,6 @@ const CookieManagementMain = (props) => {
name="usage"
type="radio"
value="accepted"
component="input"
checked={
usageState ===
"accepted"
@@ -352,7 +352,6 @@ const CookieManagementMain = (props) => {
name="settings"
type="radio"
value="revoked"
component="input"
checked={
settingsState === "revoked"
}
@@ -379,7 +378,6 @@ const CookieManagementMain = (props) => {
name="settings"
type="radio"
value="accepted"
component="input"
checked={
settingsState === "accepted"
}
@@ -435,12 +433,11 @@ const CookieManagementMain = (props) => {
href={t(
"cookies:cookie-settings-essential-link"
)}
className="govuk-link govuk-link--no-underline govuk-!-font-weight-bold"
>
<a className="govuk-link govuk-link--no-underline govuk-!-font-weight-bold">
{t(
"cookies:cookie-settings-essential-link-label"
)}
</a>
{t(
"cookies:cookie-settings-essential-link-label"
)}
</Link>
</p>
</legend>
+1 -3
View File
@@ -1,7 +1,5 @@
import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import { DiagConsoleLogger } from "@opentelemetry/api";
import { useRouter } from "next/router";
const CRMError = (props) => {
let { t } = useTranslation();
@@ -1,7 +1,5 @@
import Link from "next/link";
import { useRouter } from "next/router";
import { useContext } from "react";
import useTranslation from "next-translate/useTranslation";
import { useRouter } from "next/router";
const ApplicationSideBar = (props) => {
let { t } = useTranslation();
@@ -1,7 +1,5 @@
import Link from "next/link";
import { useRouter } from "next/router";
import { useContext } from "react";
import useTranslation from "next-translate/useTranslation";
import { useRouter } from "next/router";
const ApplicationSummary = (props) => {
let { t } = useTranslation();
@@ -1,13 +1,11 @@
import Link from "next/link";
import { useRouter } from "next/router";
import { useContext } from "react";
import { useState } from "react";
import useTranslation from "next-translate/useTranslation";
import ApplicationTabsTimeLine from "./applicationTabsTimeline";
import { useRouter } from "next/router";
import { useState } from "react";
import ApplicationSideBar from "./applicationSideBar";
import ApplicationTabsDocuments from "./applicationTabsDocuments";
import ApplicationTabsComments from "./applicationTabsComments";
import ApplicationTabsDocuments from "./applicationTabsDocuments";
import ApplicationTabsRegistrationForm from "./applicationTabsRegistrationForm";
import ApplicationTabsTimeLine from "./applicationTabsTimeline";
const ApplicationTabs = (props) => {
let { t } = useTranslation();
@@ -1,7 +1,5 @@
import Link from "next/link";
import { useRouter } from "next/router";
import { useContext } from "react";
import useTranslation from "next-translate/useTranslation";
import { useRouter } from "next/router";
const ApplicationTabsComments = (props) => {
let { t } = useTranslation();
@@ -1,12 +1,11 @@
import useTranslation from "next-translate/useTranslation";
import Link from "next/link";
import { useRouter } from "next/router";
import { useContext } from "react";
import useTranslation from "next-translate/useTranslation";
import {
Accordion,
AccordionItem,
AccordionItemHeading,
AccordionItemButton,
AccordionItemHeading,
AccordionItemPanel,
} from "react-accessible-accordion";
// import "react-accessible-accordion/dist/fancy-example.css";
@@ -133,7 +132,7 @@ const ApplicationTabsDocuments = (props) => {
</div>
<div className=" govuk-grid-column-two-thirds govuk-form-group">
<label className="govuk-label-xs " htmlFor="sort">
<label className="govuk-label-xs " htmlFor="showNo">
Show{" "}
<select
className="govuk-select govuk-select-s"
@@ -1,7 +1,5 @@
import Link from "next/link";
import { useRouter } from "next/router";
import { useContext } from "react";
import useTranslation from "next-translate/useTranslation";
import { useRouter } from "next/router";
const ApplicationTabsRegistrationForm = (props) => {
let { t } = useTranslation();
@@ -1,7 +1,5 @@
import Link from "next/link";
import { useRouter } from "next/router";
import { useContext } from "react";
import useTranslation from "next-translate/useTranslation";
import { useRouter } from "next/router";
const ApplicationTabsTimeLine = (props) => {
let { t } = useTranslation();
@@ -1,7 +1,6 @@
import useTranslation from "next-translate/useTranslation";
import Link from "next/link";
import { useRouter } from "next/router";
import { useContext } from "react";
import useTranslation from "next-translate/useTranslation";
const ApplicationIntro = (props) => {
let { t } = useTranslation();
@@ -27,10 +26,8 @@ const ApplicationIntro = (props) => {
</ul>
<p className="govuk-body">
{t("dnsApplications:page-intro-paragraph-2")}{" "}
<Link href="/dns/calendar">
<a className="govuk-link">
{t("dnsApplications:page-intro-paragraph-2-link")}
</a>
<Link href="/dns/calendar" className="govuk-link">
{t("dnsApplications:page-intro-paragraph-2-link")}
</Link>
.
</p>
+59 -76
View File
@@ -1,7 +1,6 @@
import useTranslation from "next-translate/useTranslation";
import Link from "next/link";
import { useRouter } from "next/router";
import { useContext } from "react";
import useTranslation from "next-translate/useTranslation";
const ApplicationList = (props) => {
let { t } = useTranslation();
@@ -14,7 +13,7 @@ const ApplicationList = (props) => {
<div className="govuk-grid-row govuk-!-margin-top-9">
<div className="govuk-grid-column-full">
<div className="govuk-form-group">
<label className="govuk-label-s " htmlFor="sort">
<label className="govuk-label-s " htmlFor="showNo">
{t("dnsCommon:result-list-show-label")}{" "}
<select
className="govuk-select"
@@ -84,15 +83,13 @@ const ApplicationList = (props) => {
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-16">
<Link href="/dns/application-view">
<a>
<span className="results-visually-hidden">
{t(
"dnsApplications:result-list-heading-label-application"
)}
:{" "}
</span>
TWA - Morlais Demonstration Zone
</a>
<span className="results-visually-hidden">
{t(
"dnsApplications:result-list-heading-label-application"
)}
:{" "}
</span>
TWA - Morlais Demonstration Zone
</Link>
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-16">
@@ -135,15 +132,13 @@ const ApplicationList = (props) => {
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-16">
<Link href="/dns/application-view">
<a>
<span className="results-visually-hidden">
{t(
"dnsApplications:result-list-heading-label-application"
)}
:{" "}
</span>
TWA - Morlais Demonstration Zone
</a>
<span className="results-visually-hidden">
{t(
"dnsApplications:result-list-heading-label-application"
)}
:{" "}
</span>
TWA - Morlais Demonstration Zone
</Link>
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-16">
@@ -186,15 +181,13 @@ const ApplicationList = (props) => {
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-16">
<Link href="/dns/application-view">
<a>
<span className="results-visually-hidden">
{t(
"dnsApplications:result-list-heading-label-application"
)}
:{" "}
</span>
TWA - Morlais Demonstration Zone
</a>
<span className="results-visually-hidden">
{t(
"dnsApplications:result-list-heading-label-application"
)}
:{" "}
</span>
TWA - Morlais Demonstration Zone
</Link>
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-16">
@@ -237,15 +230,13 @@ const ApplicationList = (props) => {
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-16">
<Link href="/dns/application-view">
<a>
<span className="results-visually-hidden">
{t(
"dnsApplications:result-list-heading-label-application"
)}
:{" "}
</span>
TWA - Morlais Demonstration Zone
</a>
<span className="results-visually-hidden">
{t(
"dnsApplications:result-list-heading-label-application"
)}
:{" "}
</span>
TWA - Morlais Demonstration Zone
</Link>
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-16">
@@ -288,15 +279,13 @@ const ApplicationList = (props) => {
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-16">
<Link href="/dns/application-view">
<a>
<span className="results-visually-hidden">
{t(
"dnsApplications:result-list-heading-label-application"
)}
:{" "}
</span>
TWA - Morlais Demonstration Zone
</a>
<span className="results-visually-hidden">
{t(
"dnsApplications:result-list-heading-label-application"
)}
:{" "}
</span>
TWA - Morlais Demonstration Zone
</Link>
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-16">
@@ -339,15 +328,13 @@ const ApplicationList = (props) => {
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-16">
<Link href="/dns/application-view">
<a>
<span className="results-visually-hidden">
{t(
"dnsApplications:result-list-heading-label-application"
)}
:{" "}
</span>
TWA - Morlais Demonstration Zone
</a>
<span className="results-visually-hidden">
{t(
"dnsApplications:result-list-heading-label-application"
)}
:{" "}
</span>
TWA - Morlais Demonstration Zone
</Link>
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-16">
@@ -390,15 +377,13 @@ const ApplicationList = (props) => {
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-16">
<Link href="/dns/application-view">
<a>
<span className="results-visually-hidden">
{t(
"dnsApplications:result-list-heading-label-application"
)}
:{" "}
</span>
TWA - Morlais Demonstration Zone
</a>
<span className="results-visually-hidden">
{t(
"dnsApplications:result-list-heading-label-application"
)}
:{" "}
</span>
TWA - Morlais Demonstration Zone
</Link>
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-16">
@@ -441,15 +426,13 @@ const ApplicationList = (props) => {
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-16">
<Link href="/dns/application-view">
<a>
<span className="results-visually-hidden">
{t(
"dnsApplications:result-list-heading-label-application"
)}
:{" "}
</span>
TWA - Morlais Demonstration Zone
</a>
<span className="results-visually-hidden">
{t(
"dnsApplications:result-list-heading-label-application"
)}
:{" "}
</span>
TWA - Morlais Demonstration Zone
</Link>
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-16">
@@ -500,7 +483,7 @@ const ApplicationList = (props) => {
<span>
<Link href="#">5</Link>
</span>{" "}
<Link href="#">
<Link href="#" legacyBehavior>
{t("dnsCommon:result-list-next-label")}
</Link>
</p>
@@ -1,6 +1,6 @@
import useTranslation from "next-translate/useTranslation";
import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
const ApplicationsForComment = (props) => {
let { t } = useTranslation();
@@ -15,10 +15,11 @@ const ApplicationsForComment = (props) => {
<div className="govuk-panel__body">
<ul className="govuk-list">
<li>
<Link href="/dns/application-view">
<a className="govuk-body-s ">
Holyhead Harbour Revision Order
</a>
<Link
href="/dns/application-view"
className="govuk-body-s "
>
Holyhead Harbour Revision Order
</Link>
</li>
</ul>
+15 -13
View File
@@ -1,6 +1,6 @@
import useTranslation from "next-translate/useTranslation";
import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
const DNSLinks = (props) => {
let { t } = useTranslation();
@@ -13,10 +13,11 @@ const DNSLinks = (props) => {
<ul className="govuk-list">
<li>
<h3 className="govuk-heading-l govuk-!-font-size-27">
<Link href="/dns/applications">
<a className="govuk-link govuk-link--no-underline">
{t("dnsHome:links-applications-title")}
</a>
<Link
href="/dnsapplications"
className="govuk-link govuk-link--no-underline"
>
{t("dnsHome:links-applications-title")}
</Link>
<p className="govuk-body-s govuk-!-padding-top-2">
{t(
@@ -25,7 +26,7 @@ const DNSLinks = (props) => {
</p>
</h3>
</li>
<li>
{/* <li>
<h3 className="govuk-heading-l govuk-!-font-size-27">
<Link href="/dns/help">
<a className="govuk-link govuk-link--no-underline">
@@ -36,24 +37,25 @@ const DNSLinks = (props) => {
{t("dnsHome:links-help-intro-paragraph")}
</p>
</h3>
</li>
</li> */}
</ul>
</div>
<div className="govuk-grid-column-one-half">
<ul className="govuk-list">
<li>
<h3 className="govuk-heading-l govuk-!-font-size-27">
<Link href="/dns/application-process">
<a className="govuk-link govuk-link--no-underline ">
{t("dnsHome:links-help-title")}
</a>
<Link
href="https://gov.wales/developments-national-significance-dns-guidance"
className="govuk-link govuk-link--no-underline "
>
{t("dnsHome:links-help-title")}
</Link>
<p className="govuk-body-s govuk-!-padding-top-2">
{t("dnsHome:links-guidance-intro-paragraph")}
</p>
</h3>
</li>
<li>
{/* <li>
<h3 className="govuk-heading-l govuk-!-font-size-27">
<Link href="/dns/contact-us">
<a className="govuk-link govuk-link--no-underline">
@@ -65,7 +67,7 @@ const DNSLinks = (props) => {
{t("dnsHome:links-contactus-intro-paragraph")}
</p>
</h3>
</li>
</li> */}
</ul>
</div>
</div>
+24 -27
View File
@@ -1,12 +1,16 @@
import useTranslation from "next-translate/useTranslation";
import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
const LatestApplications = (props) => {
let { t } = useTranslation();
let { dnsList } = props;
dnsList = dnsList.value;
let dnsListArr = dnsList.slice(0, 3);
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-panel govuk-grid-column-one-third govuk-panel--latest">
<h2 className="govuk-heading-m">
@@ -15,32 +19,25 @@ const LatestApplications = (props) => {
</h2>
<div className="govuk-panel__body">
<ul className="govuk-list">
<li className="govuk-body-s ">
{" "}
<Link href="/dns/application-view">
<a href="">Brynrhyd Solar Farm</a>
</Link>
</li>
<li className="govuk-body-s ">
{" "}
<Link href="/dns/application-view">
<a href="">Brynrhyd Solar Farm</a>
</Link>
</li>
<li className="govuk-body-s ">
{" "}
<Link href="/dns/application-view">
<a href="">Brynrhyd Solar Farm</a>
</Link>
</li>
<li className="govuk-body-s ">
{" "}
<Link href="/dns/application-view">
<a href="">Brynrhyd Solar Farm</a>
</Link>
</li>
{Object.keys(dnsListArr).map((key, index) => {
return (
<li className="govuk-body-s " key={key}>
<Link
href={
"/dns/" +
(dnsList[key].title.indexOf(" - ") < 0
? dnsList[key].title
: dnsList[key].title
.split(" - ")[1]
.split(" ")
.join("-"))
}
>
{dnsList[key].title}
</Link>
</li>
);
})}
</ul>
</div>
</div>
+25 -74
View File
@@ -1,75 +1,21 @@
import Link from "next/link";
import { useState } from "react";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import Link from "next/link";
import { useRouter } from "next/router";
import { useState } from "react";
import AutoSuggest from "react-autosuggest";
const dnsSites = [
{ id: 1, name: "30MW Energy Plant - Wrexham" },
{ id: 1, name: "Abertillery Wind Farm" },
{ id: 1, name: "Alaw Mon Solar Farm" },
{ id: 1, name: "Alwen Forest - Wind" },
{ id: 1, name: "Blackberry Lane Solar Park" },
{ id: 1, name: "Bretton Hall Solar Farm" },
{ id: 1, name: "Brynllewelyn Farm - Renewable Energy Project" },
{ id: 1, name: "Brynrhyd Solar Farm" },
{ id: 1, name: "Brynwell Farm Renewable Energy Hub" },
{ id: 1, name: "Buttington Quarry - ERF" },
{ id: 1, name: "Coed Darcy - STOR" },
{ id: 1, name: "Coity Road - STOR" },
{ id: 1, name: "Craig Y Perchyll Solar" },
{ id: 1, name: "Egnedol - Sustainable Energy" },
{ id: 1, name: "Elwy Solar Energy" },
{ id: 1, name: "Erebus - Floating Offshore Wind Demonstration Project" },
{ id: 1, name: "Felindre Road - STOR" },
{ id: 1, name: "Gaerwen Wind Farm" },
{ id: 1, name: "Garn Fach Wind Farm" },
{ id: 1, name: "Holyhead Harbour Revision Order" },
{ id: 1, name: "Holyhead Marina Harbour Revision Order" },
{ id: 1, name: "Holyhead Waterfront Regeneration Scheme HRO" },
{ id: 1, name: "Legacy Substation Gas Peaking Plant" },
{ id: 1, name: "Llantarnam - SToR" },
{ id: 1, name: "Llanwern - Solar" },
{ id: 1, name: "Lluest y Gwynt Wind Farm" },
{ id: 1, name: "Llynfi Energy Recovery Facility" },
{ id: 1, name: "Manmoel Wind Farm" },
{ id: 1, name: "Môn Solar Farm" },
{ id: 1, name: "Mor Hafren: Energy Recovery Facility" },
{ id: 1, name: "Mynydd Carn-y-Cefn Wind Farm" },
{ id: 1, name: "Mynydd Llanhilleth Wind Farm" },
{ id: 1, name: "Pancross &amp; Oaklands Solar Farm" },
{ id: 1, name: "Parc Dyffryn Solar Park" },
{ id: 1, name: "Parc Solar Traffwll" },
{ id: 1, name: "Pen March Wind Farm" },
{ id: 1, name: "Pen-y-Fan - Power Plant" },
{ id: 1, name: "Pencaerlan Solar Farm" },
{ id: 1, name: "Penderi Solar Farm" },
{ id: 1, name: "Penpergwm Solar Farm" },
{ id: 1, name: "Pentre Bach Solar Farm" },
{ id: 1, name: "Plas Power Estate Solar Farm" },
{ id: 1, name: "Project Valorous" },
{ id: 1, name: "Rhoscrowther Wind Farm" },
{ id: 1, name: "Rush Wall Solar Park Ltd" },
{ id: 1, name: "Sudbrook - Peaking Gas" },
{ id: 1, name: "TWA - Morlais Demonstration Zone" },
{ id: 1, name: "Twyn Hywel Energy Park" },
{ id: 1, name: "Tycroes Solar" },
{ id: 1, name: "Upper Ogmore - Wind Turbines" },
{ id: 1, name: "Valero - Cogeneration Facility" },
{ id: 1, name: "Vattenfall - Renewable Energy" },
{ id: 1, name: "Wauntysswg - Solar" },
{ id: 1, name: "Wentlooge - renewable energy hub" },
{ id: 1, name: "Y Bryn Wind Farm" },
];
const lowerCasedCompanies = dnsSites.map((company) => {
return {
id: company.id,
name: company.name,
};
});
const TitleContent = (props) => {
const { dnsList } = props;
const dnsSites = dnsList.value;
const lowerCasedCompanies = dnsSites.map((company) => {
return {
id: company.ticketnumber,
name: company.title,
};
});
let { t } = useTranslation();
const router = useRouter();
@@ -92,12 +38,11 @@ const TitleContent = (props) => {
<div className="govuk-panel__body">
<p className="govuk-body-s">{t("dnsHome:title-paragraph")}</p>
</div>
<div className="govuk-form-group govuk-!-margin-bottom-0 flex-container">
<div className="govuk-form-group govuk-!-margin-bottom-0 flex-container react-autosuggest">
<AutoSuggest
suggestions={suggestions}
onSuggestionsClearRequested={() => setSuggestions([])}
onSuggestionsFetchRequested={({ value }) => {
console.log(value);
setValue(value);
setSuggestions(getSuggestions(value));
}}
@@ -120,10 +65,16 @@ const TitleContent = (props) => {
}}
highlightFirstSuggestion={true}
/>
<Link href="/dns/application-view">
<a className="govuk-button govuk-!-margin-bottom-0 govuk-!-margin-left-2">
{t("dnsHome:title-application-search-button")}
</a>
<Link
href={
"/dns/" +
(value.indexOf(" - ") > 0
? value.split(" - ")[1].split(" ").join("-")
: value)
}
className="govuk-button govuk-!-margin-bottom-0 "
>
{t("dnsHome:title-application-search-button")}
</Link>
</div>
</div>
+11 -10
View File
@@ -1,13 +1,10 @@
import Link from "next/link";
import { useRouter } from "next/router";
import { useContext } from "react";
import useTranslation from "next-translate/useTranslation";
import TitleContent from "./homepage/titleContent";
import LatestApplications from "./homepage/latestApplications";
import { useRouter } from "next/router";
import DNSLinks from "./homepage/dnsLinks";
import ApplicationsForComment from "./homepage/applicationsForComment";
import LatestApplications from "./homepage/latestApplications";
import TitleContent from "./homepage/titleContent";
export default function Main({ children, pages }) {
export default function Main({ children, pages, props }) {
let { t } = useTranslation();
const router = useRouter();
@@ -22,8 +19,12 @@ export default function Main({ children, pages }) {
<div className="govuk-grid-row govuk-!-margin-bottom-0">
<div className="govuk-grid-column-full govuk-!-padding-bottom-0">
<div className="flex-container grid-row govuk-body govuk-!-margin-bottom-0 ">
<TitleContent />
<LatestApplications />
<TitleContent
dnsList={props.searchResultsObj.searchResultsObj}
/>
<LatestApplications
dnsList={props.searchResultsObj.searchResultsObj}
/>
</div>
</div>
</div>
@@ -31,7 +32,7 @@ export default function Main({ children, pages }) {
<div className="govuk-grid-column-full">
<div className="flex-container grid-row govuk-body ">
<DNSLinks />
<ApplicationsForComment />
{/* <ApplicationsForComment /> */}
</div>
</div>
</div>
+8 -6
View File
@@ -1,13 +1,11 @@
import Link from "next/link";
import { useRouter } from "next/router";
import { useContext } from "react";
import useTranslation from "next-translate/useTranslation";
import SearchForCase from "./search/searchforcase";
import DNSSearchResults from "./search/dnssearchresults";
import { useRouter } from "next/router";
import CRMError from "./crmError";
import DNSSearchResults from "./search/dnssearchresults";
export default function Search(props) {
const { searchString, searchResultsObj } = props;
const { searchString, searchResultsObj, myportal, watchedCases, showMap } =
props;
let { t } = useTranslation();
const router = useRouter();
@@ -39,6 +37,10 @@ export default function Search(props) {
searchDetailsObj={
searchResultsObj.searchDetailsObj
}
dnsCoords={searchResultsObj.dnsCoordsObj.value}
myportal={myportal}
watchedCases={watchedCases}
showMap={showMap}
/>
</div>
</div>
+1557 -184
View File
File diff suppressed because it is too large Load Diff
+49 -48
View File
@@ -1,58 +1,59 @@
import Link from "next/link";
import Header from "./header";
import Banner from "./breadcrumbs";
import Breadcrumbs from "./banner";
import Footer from "./footer";
import Header from "./header";
const Errorpage = () => {
var m = new Date();
var dateString =
m.getUTCDate() +
"/" +
(m.getUTCMonth() + 1) +
"/" +
m.getUTCFullYear() +
" " +
m.getUTCHours() +
":" +
m.getUTCMinutes() +
":" +
m.getUTCSeconds();
var m = new Date();
var dateString =
m.getUTCDate() +
"/" +
(m.getUTCMonth() + 1) +
"/" +
m.getUTCFullYear() +
" " +
m.getUTCHours() +
":" +
m.getUTCMinutes() +
":" +
m.getUTCSeconds();
return (
<div className="">
<Header courseName="An error has occured" />
<div className="govuk-width-container">
<main
className="govuk-main-wrapper govuk-main-wrapper--auto-spacing"
id="main-content"
role="main"
>
<div className="govuk-grid-row">
<div className="govuk-grid-column-two-thirds">
<h1 className="govuk-heading-xl">There has been a problem</h1>
<p className="govuk-body">
Unfortunately something has gone wrong!
</p>
<p className="govuk-body govuk-!-margin-top-9">{dateString}</p>
<Link href="/">
<a
role="button"
draggable="false"
className="govuk-button govuk-button--start govuk-!-margin-top-2 govuk-!-margin-bottom-8"
data-module="govuk-button"
return (
<div className="">
<Header courseName="An error has occured" />
<div className="govuk-width-container">
<main
className="govuk-main-wrapper govuk-main-wrapper--auto-spacing"
id="main-content"
role="main"
>
Try again
</a>
</Link>
<br />
<div className="govuk-grid-row">
<div className="govuk-grid-column-two-thirds">
<h1 className="govuk-heading-xl">
There has been a problem
</h1>
<p className="govuk-body">
Unfortunately something has gone wrong!
</p>
<p className="govuk-body govuk-!-margin-top-9">
{dateString}
</p>
<Link
href="/"
role="button"
draggable="false"
className="govuk-button govuk-button--start govuk-!-margin-top-2 govuk-!-margin-bottom-8"
data-module="govuk-button"
>
Try again
</Link>
<br />
</div>
</div>
</main>
</div>
</div>
</main>
</div>
<Footer footerLinks="" />
</div>
);
<Footer footerLinks="" />
</div>
);
};
export default Errorpage;

Some files were not shown because too many files have changed in this diff Show More