diff --git a/actions/index.js b/actions/index.js index e470de66..707d41d7 100644 --- a/actions/index.js +++ b/actions/index.js @@ -425,22 +425,19 @@ export const updateCase = async ( }); }; -export const getMyCases = () => { - return ( - axios - // .get(BASE_URL + "/api/lookups/myCases", { - // httpsAgent: new https.Agent({ rejectUnauthorized: false }), - // }) - .get( - WEBAPI_URL + - "incidents?$select=_accountid_value,_customerid_value,pinswg_appealcasetype,statuscode,ticketnumber,title, _primarycontactid_value&$expand=primarycontactid($select=fullname)&$filter=pinswg_appealcasetype ne null &$count=true", - azureHeaders - ) - .then((res) => res.data) - .catch((error) => { - console.log("thi serror", error); - }) - ); +export const getMyCases = (loggedInUserId) => { + return axios + .get( + WEBAPI_URL + + "incidents?$select=ticketnumber,casetypecode,createdon,_customerid_value,description,incidentid,pinswg_appealcasetype,_pinswg_assignedinspectrids_value,statecode,statuscode,title&$filter=_customerid_value eq " + + loggedInUserId + + " and pinswg_appealcasetype ne null&$orderby=createdon desc&$count=true&$top=3", + azureHeaders + ) + .then((res) => res.data) + .catch((error) => { + console.log("thi serror", error); + }); }; export const getMyRepresentations = () => { @@ -451,7 +448,7 @@ export const getMyRepresentations = () => { // }) .get( WEBAPI_URL + - "incidents?$select=_accountid_value,_customerid_value,pinswg_appealcasetype,statuscode,ticketnumber,title, _primarycontactid_value&$expand=primarycontactid($select=fullname)&$filter=pinswg_appealcasetype ne null &$count=true", + "incidents?$select=_accountid_value,_customerid_value,pinswg_appealcasetype,statuscode,ticketnumber,title, _primarycontactid_value&$expand=primarycontactid($select=fullname)&$filter=pinswg_appealcasetype ne null &$count=true&$top=3", azureHeaders ) .then((res) => res.data) @@ -470,7 +467,7 @@ export const getWatchedCases = () => { // }) .get( WEBAPI_URL + - "incidents?$select=_accountid_value,_customerid_value,pinswg_appealcasetype,statuscode,ticketnumber,title, _primarycontactid_value&$expand=primarycontactid($select=fullname)&$filter=pinswg_appealcasetype ne null &$count=true", + "incidents?$select=_accountid_value,_customerid_value,pinswg_appealcasetype,statuscode,ticketnumber,title, _primarycontactid_value&$expand=primarycontactid($select=fullname)&$filter=pinswg_appealcasetype ne null &$count=true&$top=3", azureHeaders ) .then((res) => res.data) @@ -490,3 +487,19 @@ export const getAwaitingSubmission = () => { console.log("thi serror", error); }); }; + +export const getPortalModuelDetails = (appealType, caseReference) => { + return axios + .get( + WEBAPI_URL + + appealType + + "?$filter=pinswg_name eq '" + + caseReference + + "'&$count=true", + azureHeaders + ) + .then((res) => res.data) + .catch((error) => { + console.log("thiserror", error); + }); +}; diff --git a/components/case.js b/components/case.js index 2c06f59c..3f82e98c 100644 --- a/components/case.js +++ b/components/case.js @@ -21,6 +21,7 @@ const CaseSummary = (props) => {
{ } = props; let setCaseQueryObj = props[currentType]; + let setCaseDetailsObj = props[currentType][currentType + "Details"]; var casesObj = {}; @@ -38,10 +39,15 @@ const CaseSummary = (props) => { var detailsObj = {}; - detailsObj = jsonpath.query( - searchDetailsObj, - '$..[?(@.pinswg_name=="' + caseReference + '")]' - ); + currentType == "searchResultsObj" + ? (detailsObj = jsonpath.query( + searchDetailsObj, + '$..[?(@.pinswg_name=="' + caseReference + '")]' + )) + : (detailsObj = jsonpath.query( + setCaseDetailsObj, + '$..[?(@.pinswg_name=="' + caseReference + '")]' + )); detailsObj = detailsObj[0]; return ( @@ -61,11 +67,9 @@ const CaseSummary = (props) => { {t("case:summary-applicant-label")}
- { - detailsObj[ - "_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue" - ] - } + {detailsObj[ + "_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue" + ] || "not entered"}
diff --git a/components/myportal/mycases.js b/components/myportal/mycases.js index 5d0b55aa..1726e8a7 100644 --- a/components/myportal/mycases.js +++ b/components/myportal/mycases.js @@ -20,6 +20,7 @@ const MyCases = (props) => {
diff --git a/components/myportal/topthree.js b/components/myportal/topthree.js index de81f1ee..108fdf51 100644 --- a/components/myportal/topthree.js +++ b/components/myportal/topthree.js @@ -1,4 +1,5 @@ import Link from "next/link"; +import _ from "lodash"; import { useRouter } from "next/router"; import useTranslation from "next-translate/useTranslation"; import { setCurrentReference } from "../../store/currentView/action"; @@ -6,65 +7,134 @@ import { connect } from "react-redux"; const TopThree = (props) => { let { t } = useTranslation(); - const { showTopThree, setCurrentReference, topThreeType } = props; + const { showTopThree, showDetails, setCurrentReference, topThreeType } = + props; const router = useRouter(); const { locale } = router; let topthreeRow = []; - for (var i = 0; i < 3; i++) { - (function (i) { - topthreeRow.push( -
-
-
- Case reference:{" "} - - { - setCurrentReference({ - "currentReference": - showTopThree.value[i] - .ticketnumber, - "currentType": topThreeType, - }); - }} - > - {showTopThree.value[i].ticketnumber} - - -
- {topThreeType != "awaitingSubmission" ? ( -
- Address: - {showTopThree.value[i].address1} -
- ) : ( - "" - )} + // for (var i = 0; i < 3; i++) { + // (function (i) { + // topthreeRow.push( + //
+ //
+ // + // {topThreeType != "awaitingSubmission" ? ( + //
+ // Addressaa: + // {showDetails[i].value[0] + // .pinswg_siteaddressline1 == null + // ? "not entered" + // : showDetails[i].value[0] + // .pinswg_siteaddressline1} + //
+ // ) : ( + // "" + // )} - {topThreeType == "awaitingSubmission" ? ( -
- Make Representation on Case Incomplete, not - submitted -
- ) : ( - "" - )} + // {topThreeType == "awaitingSubmission" ? ( + //
+ // Make Representation on Case Incomplete, not + // submitted + //
+ // ) : ( + // "" + // )} + //
+ //
+ //
+ // ); + // })(i); + // } + + let showTopThreeArr = showTopThree.value; + + Object.keys(showTopThreeArr).map((key, index) => { + topthreeRow.push( +
+
+ -
+ {topThreeType != "awaitingSubmission" ? ( +
+ Addressa:{" "} + {_.isEmpty(showDetails) + ? "not entered" + : _.isEmpty(showDetails[index]) + ? "not entered" + : _.isEmpty(showDetails[index].value[0]) + ? "not entered" + : _.isEmpty( + showDetails[index].value[0] + .pinswg_siteaddressline1 + ) + ? "not entered" + : showDetails[index].value[0] + .pinswg_siteaddressline1} +
+ ) : ( + "" + )} + + {topThreeType == "awaitingSubmission" ? ( +
+ Make Representation on Case Incomplete, not + submitted +
+ ) : ( + "" + )}
- ); - })(i); - } +
+
+ ); + }); return <>{topthreeRow}; }; diff --git a/components/newappeal/complete.js b/components/newappeal/complete.js index dfdb09b5..9a713a68 100644 --- a/components/newappeal/complete.js +++ b/components/newappeal/complete.js @@ -26,6 +26,10 @@ let CompleteAppeal = (props) => { "Ids"; Object.assign(updateBody, { + "pinswg_Appellant@odata.bind": + "/contacts(" + props.props.accountDetails.loggedinUserId + ")", + "pinswg_AssociatedLPA@odata.bind": + "/accounts(" + props.appealType.appealLPA + ")", "pinswg_name": props.appealType.caseReference.ticketnumber, [updateBindAppealTypeToIncident + "@odata.bind"]: "/incidents(" + incidentId + ")", diff --git a/components/newappeal/createCase.js b/components/newappeal/createCase.js index a10bd7f9..952cd50b 100644 --- a/components/newappeal/createCase.js +++ b/components/newappeal/createCase.js @@ -7,6 +7,8 @@ import BuildRow from "./buildrow"; import { reduxForm, formValueSelector, Field } from "redux-form"; import { useDispatch, useSelector, shallowEqual, connect } from "react-redux"; import jsonpath from "jsonpath"; + +import data from "../../data/collections.json"; import { setAppealType, setAppealTypeTitle, @@ -174,7 +176,7 @@ let CreateCase = (props) => { "," + optionsObj[key].value .replace( - /[\s\-\+\(\)\,]/g, + /(\band|[\s\-\+\(\)\,\&])/g, "" ) .toLowerCase() @@ -201,11 +203,33 @@ let CreateCase = (props) => { const required = (value) => (value ? undefined : "Required"); + const getFormCollection = (formtype) => { + formtype = + "pinswg_" + + (formtype.length > 39 ? formtype.slice(0, 39) : formtype); + + const collectionName = jsonpath.query( + data, + "$..[?(@.LogicalName=='" + formtype + "')].UrlName" + ); + //console.log(collectionName[0]); + return collectionName[0]; + }; + const onHandleSubmit = (values) => { event.preventDefault(); + + var appTypeCollection = values.appealTypes.split(",")[1]; + + appTypeCollection = getFormCollection( + appTypeCollection.length > 39 + ? appTypeCollection.slice(0, 39) + : appTypeCollection + ); + router.replace( "/newappeal/" + - values.appealTypes.split(",")[1] + + appTypeCollection + "?lpa=" + values.lpaTypes + "&apt=" + diff --git a/data/collections.json b/data/collections.json index 2b8f258f..16d57a78 100644 --- a/data/collections.json +++ b/data/collections.json @@ -4,366 +4,455 @@ "LogicalCollectionName": "pinswg_planningobligationss106flows", "LogicalName": "pinswg_planningobligationss106flow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "efb4c590-19be-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_dnsflows", "LogicalName": "pinswg_dnsflow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "328e015f-dabe-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_harbourrevisionorderflows", "LogicalName": "pinswg_harbourrevisionorderflow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "98bbb26e-e7be-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_transportandworkactflows", "LogicalName": "pinswg_transportandworkactflow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "ad4bfc8c-e1be-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_maintenanceoflands127flows", "LogicalName": "pinswg_maintenanceoflands127flow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "2b26362c-d3be-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_environmentalpermittingflows", "LogicalName": "pinswg_environmentalpermittingflow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "74dd4767-f2be-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_dnses", "LogicalName": "pinswg_dns", "PrimaryIdAttribute": "pinswg_dnsid", + "UrlName": "dns", "MetadataId": "36f07225-4a82-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_planningobligationappeals106s", "LogicalName": "pinswg_planningobligationappeals106", "PrimaryIdAttribute": "pinswg_planningobligationappeals106id", + "UrlName": "planningobligationappeals106", "MetadataId": "cb8beeae-8f81-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_planningconditionss73s79s", "LogicalName": "pinswg_planningconditionss73s79", "PrimaryIdAttribute": "pinswg_planningconditionss73s79id", + "UrlName": "planningconditionss73s79", "MetadataId": "093bf9ff-8d81-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_rows", "LogicalName": "pinswg_row", "PrimaryIdAttribute": "pinswg_rowid", + "UrlName": "row", "MetadataId": "4ccc6e93-4f82-eb11-aac0-00224800be9c" }, + { + "LogicalCollectionName": "pinswg_transportandworkacts", + "LogicalName": "pinswg_transportworksact", + "PrimaryIdAttribute": "pinswg_transportandworkactid", + "UrlName": "transportandworkact", + "MetadataId": "bc3edc4b-7d82-eb11-aac0-00224800be9c" + }, { "LogicalCollectionName": "pinswg_transportandworkacts", "LogicalName": "pinswg_transportandworkact", - "PrimaryIdAttribute": "pinswg_transportandworkactid", + "PrimaryIdAttribute": "pinswg_transportandworkactid", + "UrlName": "transportandworkact", "MetadataId": "bc3edc4b-7d82-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_transportandworkacts", "LogicalName": "pinswg_transportandworksact", "PrimaryIdAttribute": "pinswg_transportandworkactid", + "UrlName": "transportandworksact", "MetadataId": "bc3edc4b-7d82-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_wayleaveflows", "LogicalName": "pinswg_wayleaveflow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "a28054b9-e3be-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_planningappeals78flows", "LogicalName": "pinswg_planningappeals78flow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "ddaebde1-0fbe-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_harbourrevisionorders", "LogicalName": "pinswg_harbourrevisionorder", "PrimaryIdAttribute": "pinswg_harbourrevisionorderid", + "UrlName": "harbourrevisionorder", "MetadataId": "dc8dcd0d-4f82-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_miscellaneouscaseworks", "LogicalName": "pinswg_miscellaneouscasework", - "PrimaryIdAttribute": "pinswg_miscellaneouscaseworkid", + "PrimaryIdAttribute": "pinswg_miscellaneouscaseworkid", + "UrlName": "miscellaneouscasework", "MetadataId": "f519aa8e-5782-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_miscellaneouscaseworks", "LogicalName": "pinswg_misccasework", - "PrimaryIdAttribute": "pinswg_miscellaneouscaseworkid", + "PrimaryIdAttribute": "pinswg_miscellaneouscaseworkid", + "UrlName": "miscellaneouscasework", "MetadataId": "f519aa8e-5782-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_localdevelopmentplanses", "LogicalName": "pinswg_localdevelopmentplans", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "localdevelopmentplans", "MetadataId": "38ed3835-c1e0-eb11-aac5-00224800be9c" }, { "LogicalCollectionName": "pinswg_planningappeals78s", "LogicalName": "pinswg_planningappeals78", "PrimaryIdAttribute": "pinswg_planningappeals78id", + "UrlName": "planningappeals78", "MetadataId": "8d7f813a-4183-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_enforcementnoticeappealsflow174s", "LogicalName": "pinswg_enforcementnoticeappealsflow174", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "enforcementnoticeappealsflow174", "MetadataId": "a933cf28-20be-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_lawfuldevelopmentcertificates", "LogicalName": "pinswg_lawfuldevelopmentcertificate", - "PrimaryIdAttribute": "pinswg_lawfuldevelopmentcertificateid", + "PrimaryIdAttribute": "pinswg_lawfuldevelopmentcertificateid", + "UrlName": "lawfuldevelopmentcertificate", "MetadataId": "184e4861-9681-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_lawfuldevelopmentcertificates", "LogicalName": "pinswg_lawfuldevelopmentcertificateappeals194195", - "PrimaryIdAttribute": "pinswg_lawfuldevelopmentcertificateid", + "PrimaryIdAttribute": "pinswg_lawfuldevelopmentcertificateid", + "UrlName": "lawfuldevelopmentcertificateappeals1941", + "MetadataId": "184e4861-9681-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_lawfuldevelopmentcertificates", + "LogicalName": "pinswg_lawfuldevelopmentcertificateappeals1941", + "PrimaryIdAttribute": "pinswg_lawfuldevelopmentcertificateid", + "UrlName": "lawfuldevelopmentcertificate", "MetadataId": "184e4861-9681-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_highhedgestreepreservationflows", "LogicalName": "pinswg_highhedgestreepreservationflow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "c365b924-f3be-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_householderappealhases", "LogicalName": "pinswg_householderappealhas", "PrimaryIdAttribute": "pinswg_householderappealhasid", + "UrlName": "householderappealhas", "MetadataId": "a6c728b0-9081-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_enforcementlistedbuildingconservationaps", "LogicalName": "pinswg_enforcementlistedbuildingconservationap", - "PrimaryIdAttribute": "pinswg_enforcementlistedbuildingconservationapid", + "PrimaryIdAttribute": "pinswg_enforcementlistedbuildingconservationapid", + "UrlName": "enforcementlistedbuildingconservationap", "MetadataId": "c697be96-9481-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_enforcementlistedbuildingconservationaps", "LogicalName": "pinswg_enforcementlistedbuildingandconservationappeals39", - "PrimaryIdAttribute": "pinswg_enforcementlistedbuildingconservationapid", + "PrimaryIdAttribute": "pinswg_enforcementlistedbuildingconservationapid", + "UrlName": "enforcementlistedbuildingconservationap", + "MetadataId": "c697be96-9481-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_enforcementlistedbuildingconservationaps", + "LogicalName": "pinswg_enforcementlistedbuildingandconservationap", + "PrimaryIdAttribute": "pinswg_enforcementlistedbuildingconservationapid", + "UrlName": "enforcementlistedbuildingconservationap", "MetadataId": "c697be96-9481-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_callinss77s", "LogicalName": "pinswg_callinss77", "PrimaryIdAttribute": "pinswg_callinss77id", + "UrlName": "callinss77", "MetadataId": "dd309e51-4982-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_commonlands", "LogicalName": "pinswg_commonland", "PrimaryIdAttribute": "pinswg_commonlandid", + "UrlName": "commonland", "MetadataId": "4161a618-5082-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_advertses", "LogicalName": "pinswg_adverts", "PrimaryIdAttribute": "pinswg_advertsid", + "UrlName": "adverts", "MetadataId": "0735866b-5482-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_hedgeshedgerowstreepreservationreplacems", "LogicalName": "pinswg_hedgeshedgerowstreepreservationreplacem", - "PrimaryIdAttribute": "pinswg_hedgeshedgerowstreepreservationreplacemid", + "PrimaryIdAttribute": "pinswg_hedgeshedgerowstreepreservationreplacemid", + "UrlName": "hedgeshedgerowstreepreservationreplacem", "MetadataId": "60f38fed-5382-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_hedgeshedgerowstreepreservationreplacems", "LogicalName": "pinswg_highhedgestreepreservationordershedgerowstreereplacementnotice", - "PrimaryIdAttribute": "pinswg_hedgeshedgerowstreepreservationreplacemid", + "PrimaryIdAttribute": "pinswg_hedgeshedgerowstreepreservationreplacemid", + "UrlName": "hedgeshedgerowstreepreservationreplacem", + "MetadataId": "60f38fed-5382-eb11-aac0-00224800be9c" + }, + { + "LogicalCollectionName": "pinswg_hedgeshedgerowstreepreservationreplacems", + "LogicalName": "pinswg_highhedgestreepreservationordershedgero", + "PrimaryIdAttribute": "pinswg_hedgeshedgerowstreepreservationreplacemid", + "UrlName": "hedgeshedgerowstreepreservationreplacem", "MetadataId": "60f38fed-5382-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_compulsorypurchaseorderses", "LogicalName": "pinswg_compulsorypurchaseorders", "PrimaryIdAttribute": "pinswg_compulsorypurchaseordersid", + "UrlName": "compulsorypurchaseorders", "MetadataId": "054da4c7-5582-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_communityinfrastructurelevys117118119s", "LogicalName": "pinswg_communityinfrastructurelevys117118119", "PrimaryIdAttribute": "pinswg_communityinfrastructurelevys117118119id", + "UrlName": "communityinfrastructurelevys117118119", "MetadataId": "0c309f3c-4882-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_objectiveconfigs", "LogicalName": "pinswg_objectiveconfig", "PrimaryIdAttribute": "pinswg_objectiveconfigid", + "UrlName": "objectiveconfig", "MetadataId": "f89ae20c-4777-eb11-aabd-00224800be9c" }, { "LogicalCollectionName": "pinswg_nonvalidations", "LogicalName": "pinswg_nonvalidation", "PrimaryIdAttribute": "pinswg_nonvalidationid", + "UrlName": "nonvalidation", "MetadataId": "37f31a93-5882-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_rightofwayflows", "LogicalName": "pinswg_rightofwayflow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "b26c1d43-efbe-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_caseinvolvements", "LogicalName": "pinswg_caseinvolvement", "PrimaryIdAttribute": "pinswg_caseinvolvementid", + "UrlName": "caseinvolvement", "MetadataId": "65677cd9-4aae-eb11-aac3-00224800be9c" }, { "LogicalCollectionName": "pinswg_commonlandflows", "LogicalName": "pinswg_commonlandflow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "338fac85-e6be-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_lawfuldevelopmentcertificates195flows", "LogicalName": "pinswg_lawfuldevelopmentcertificates195flow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "0b8f5046-1dbe-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_advertisementappealanddiscontinuances", "LogicalName": "pinswg_advertisementappealanddiscontinuance", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "advertisementappealanddiscontinuance", "MetadataId": "79b9ab3a-f1be-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_documenthistories", "LogicalName": "pinswg_documenthistory", "PrimaryIdAttribute": "pinswg_documenthistoryid", + "UrlName": "documenthistory", "MetadataId": "0d8e78a7-33a3-eb11-aac3-00224800be9c" }, { "LogicalCollectionName": "pinswg_documents", "LogicalName": "pinswg_document", "PrimaryIdAttribute": "pinswg_documentid", + "UrlName": "documents", "MetadataId": "e6cbbbca-026a-eb11-aabb-00224800be9c" }, { "LogicalCollectionName": "pinswg_electricityactflows", "LogicalName": "pinswg_electricityactflow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "699c4318-e3be-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_planningconditionss73s79flows", "LogicalName": "pinswg_planningconditionss73s79flow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "510154b1-15be-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_wayleaves", "LogicalName": "pinswg_wayleave", "PrimaryIdAttribute": "pinswg_wayleaveid", + "UrlName": "wayleave", "MetadataId": "a0652117-5782-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_listedbuildingandconservationareaconsens", "LogicalName": "pinswg_listedbuildingandconservationareaconsen", - "PrimaryIdAttribute": "pinswg_listedbuildingandconservationareaconsenid", + "PrimaryIdAttribute": "pinswg_listedbuildingandconservationareaconsenid", + "UrlName": "listedbuildingandconservationareaconsen", "MetadataId": "4cd95405-8f81-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_listedbuildingandconservationareaconsens", - "LogicalName": "pinswg_listedbuildingandconservationareaconsents73s79", - "PrimaryIdAttribute": "pinswg_listedbuildingandconservationareaconsenid", + "LogicalName": "pinswg_listedbuildingconservationareaconsents7", + "PrimaryIdAttribute": "pinswg_listedbuildingandconservationareaconsenid", + "UrlName": "listedbuildingandconservationareaconsen", "MetadataId": "4cd95405-8f81-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_callinapplicationss77flows", "LogicalName": "pinswg_callinapplicationss77flow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "2a4f3d43-d4be-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_transfercodes", "LogicalName": "pinswg_transfercode", "PrimaryIdAttribute": "pinswg_transfercodeid", + "UrlName": "transfercode", "MetadataId": "a551ad5c-29f5-eb11-aac7-00224800be9c" }, { "LogicalCollectionName": "pinswg_compulsorypurchaseordersflows", "LogicalName": "pinswg_compulsorypurchaseordersflow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "a94f098b-f0be-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_environmentalpermittings", "LogicalName": "pinswg_environmentalpermitting", "PrimaryIdAttribute": "pinswg_environmentalpermittingid", + "UrlName": "environmentalpermitting", "MetadataId": "62d4aa9a-5682-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_nonvaidationflows", "LogicalName": "pinswg_nonvaidationflow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "e5ca3ceb-c1e0-eb11-aac5-00224800be9c" }, { "LogicalCollectionName": "pinswg_enforcementnoticeappeals174s", "LogicalName": "pinswg_enforcementnoticeappeals174", "PrimaryIdAttribute": "pinswg_enforcementnoticeappeals174id", + "UrlName": "enforcementnoticeappeals174", "MetadataId": "930a3cc4-9181-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_ldps", "LogicalName": "pinswg_ldp", "PrimaryIdAttribute": "pinswg_ldpid", + "UrlName": "ldp", "MetadataId": "af424d4d-5882-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_maintenanceoflands217s", "LogicalName": "pinswg_maintenanceoflands217", "PrimaryIdAttribute": "pinswg_maintenanceoflands217id", + "UrlName": "maintenanceoflands217", "MetadataId": "bb302784-9581-eb11-aac0-00224800be9c" }, { "LogicalCollectionName": "pinswg_enforcelistbuild39flows", "LogicalName": "pinswg_enforcelistbuild39flow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "9423206e-d2be-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_householderappealflows", "LogicalName": "pinswg_householderappealflow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "330541bd-d5be-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_miscellaneouscaseworkflows", "LogicalName": "pinswg_miscellaneouscaseworkflow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "87db8649-f4be-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_communityinfrastructurelevyflows", "LogicalName": "pinswg_communityinfrastructurelevyflow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "92bc1e3d-e0be-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_listedbuildconserv20flows", "LogicalName": "pinswg_listedbuildconserv20flow", "PrimaryIdAttribute": "businessprocessflowinstanceid", + "UrlName": "", "MetadataId": "4c11cbe9-27be-eb11-aac4-00224800be9c" }, { "LogicalCollectionName": "pinswg_electricityacts", "LogicalName": "pinswg_electricityact", "PrimaryIdAttribute": "pinswg_electricityactid", + "UrlName": "electricityact", "MetadataId": "6aedaab1-4a82-eb11-aac0-00224800be9c" } ] diff --git a/pages/account/forgottenpassword.js b/pages/account/forgottenpassword.js new file mode 100644 index 00000000..1675f022 --- /dev/null +++ b/pages/account/forgottenpassword.js @@ -0,0 +1,93 @@ +import Link from "next/link"; +import _ from "lodash"; +import Head from "next/head"; +import Header from "../../components/header"; +import Banner from "../../components/banner"; +import CookieBanner from "../../components/cookieBanner"; +import Breadcrumbs from "../../components/breadcrumbs"; +import Footer from "../../components/footer"; + +import { useSelector, shallowEqual, connect } from "react-redux"; +import { wrapper } from "../../store/store"; +import Cookies from "cookies"; +import { useRouter } from "next/router"; +import { useState } from "react"; +import useTranslation from "next-translate/useTranslation"; +import jsonpath from "jsonpath"; +import { reduxForm, formValueSelector } from "redux-form"; + +import RegisterForm from "../../components/account/registerform"; + +const Home = (props) => { + const { footerLinks, formData } = props; + let { t, lang } = useTranslation(); + + const router = useRouter(); + const { locale } = router; + const { appealtypes } = router.query; + + const [registerFormComplete, setRegisterFormComplete] = useState(false); + const [accountCreatedComplete, setAccountCreatedComplete] = useState(false); + + return ( +
+ + + {t("search:page-title")} - {t("common:service-name")} + + +
+ +
+ +
+
+
+ + +
+
+
+

Forgotten password

+
+
+
+
+
+
+ +
+
+
+ ); +}; + +// export const getServerSideProps = wrapper.getServerSideProps( +// (store) => +// async ({ query, req, res }) => { +// const appealTypeData = await getAppealsTypes(); +// const lpaData = await getLPA(); +// console.log("appeal types", appealTypeData); +// console.log("lpa typeswwwww", lpaData); +// store.dispatch(setAppealType(appealTypeData)); +// store.dispatch(setLPA(lpaData)); +// } +// ); + +const mapStateToProps = (state) => { + return { + search: state.search, + searchResultsObj: state.searchResultsObj, + formData: state.formData, + appealType: state.appealType, + LPAData: state.LPAData, + form: state.form, + accountDetails: state.accountDetails, + }; +}; + +export default connect(mapStateToProps)(Home); diff --git a/pages/account/forgottenuser.js b/pages/account/forgottenuser.js new file mode 100644 index 00000000..01d7f7e5 --- /dev/null +++ b/pages/account/forgottenuser.js @@ -0,0 +1,93 @@ +import Link from "next/link"; +import _ from "lodash"; +import Head from "next/head"; +import Header from "../../components/header"; +import Banner from "../../components/banner"; +import CookieBanner from "../../components/cookieBanner"; +import Breadcrumbs from "../../components/breadcrumbs"; +import Footer from "../../components/footer"; + +import { useSelector, shallowEqual, connect } from "react-redux"; +import { wrapper } from "../../store/store"; +import Cookies from "cookies"; +import { useRouter } from "next/router"; +import { useState } from "react"; +import useTranslation from "next-translate/useTranslation"; +import jsonpath from "jsonpath"; +import { reduxForm, formValueSelector } from "redux-form"; + +import RegisterForm from "../../components/account/registerform"; + +const Home = (props) => { + const { footerLinks, formData } = props; + let { t, lang } = useTranslation(); + + const router = useRouter(); + const { locale } = router; + const { appealtypes } = router.query; + + const [registerFormComplete, setRegisterFormComplete] = useState(false); + const [accountCreatedComplete, setAccountCreatedComplete] = useState(false); + + return ( +
+ + + {t("search:page-title")} - {t("common:service-name")} + + +
+ +
+ +
+
+
+ + +
+
+
+

Forgotten user

+
+
+
+
+
+
+ +
+
+
+ ); +}; + +// export const getServerSideProps = wrapper.getServerSideProps( +// (store) => +// async ({ query, req, res }) => { +// const appealTypeData = await getAppealsTypes(); +// const lpaData = await getLPA(); +// console.log("appeal types", appealTypeData); +// console.log("lpa typeswwwww", lpaData); +// store.dispatch(setAppealType(appealTypeData)); +// store.dispatch(setLPA(lpaData)); +// } +// ); + +const mapStateToProps = (state) => { + return { + search: state.search, + searchResultsObj: state.searchResultsObj, + formData: state.formData, + appealType: state.appealType, + LPAData: state.LPAData, + form: state.form, + accountDetails: state.accountDetails, + }; +}; + +export default connect(mapStateToProps)(Home); diff --git a/pages/case.js b/pages/case.js index 4b651b81..b5db691e 100644 --- a/pages/case.js +++ b/pages/case.js @@ -37,6 +37,7 @@ const Home = (props) => { { @@ -69,35 +85,96 @@ export const getServerSideProps = wrapper.getServerSideProps( (store) => async ({ query, req, res }) => { //console.log("the query", query); - - res.setHeader( - "Cache-Control", - "public, s-maxage=604800, stale-while-revalidate" - ); - const [ myCases, myRepresentations, watchedCases, awaitingSubmission, ] = await Promise.all([ - await getMyCases(), + await getMyCases("f8b454ed-eded-eb11-aac7-00224800be9c"), await getMyRepresentations(), await getWatchedCases(), await getAwaitingSubmission(), ]); + const cookies = new Cookies(req, res); + + cookies.set("pinsUser", "f8b454ed-eded-eb11-aac7-00224800be9c", { + httpOnly: true, // true by default + }); + + const [ + myCasesDetails, + // myRepresentationsDetails, + // watchedCasesDetails, + // awaitingSubmissionDetails, + ] = await Promise.all([ + await getDetails(myCases), + // await getDetails(myRepresentations), + // await getDetails(watchedCases), + // await getDetails(awaitingSubmission), + ]); + + store.dispatch( + setLoggedInUserId("f8b454ed-eded-eb11-aac7-00224800be9c") + ); store.dispatch(setMyCases(myCases)); + store.dispatch(setMyCasesDetails(myCasesDetails)); store.dispatch(setMyRepresentations(myRepresentations)); + // store.dispatch( + // setMyRepresentationsDetails(myRepresentationsDetails) + // ); store.dispatch(setWatchedCases(watchedCases)); + //store.dispatch(setWatchedCasesDetails(watchedCasesDetails)); store.dispatch(setAwaitingSubmission(awaitingSubmission)); + // store.dispatch( + // setAwaitingSubmissionDetails(awaitingSubmissionDetails) + // ); } ); +const getFormCollection = (formtype) => { + const collectionName = jsonpath.query( + data, + "$..[?(@.LogicalName=='" + formtype + "')].LogicalCollectionName" + ); + //console.log(collectionName[0]); + return collectionName[0]; +}; + +const getDetails = (resultsObj) => { + // console.log(resultsObj); + + let detailsArr = []; + resultsObj = resultsObj.value; + const detailsObj = resultsObj.map((searchDetail, index) => { + if (searchDetail.pinswg_appealcasetype == null) { + console.log(searchDetail.ticketnumber); + } else { + detailsArr.push( + getPortalModuelDetails( + getFormCollection( + "pinswg_" + + searchDetail[ + "pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue" + ] + .replace(/[\s\-\+\(\)\,\&\.]/g, "") + .toLowerCase() + ), + searchDetail.ticketnumber + ) + ); + } + }); + //console.log(detailsArr); + return Promise.all(detailsArr); +}; + const mapStateToProps = (state) => { //console.log(state); return { + accountDetails: state.accountDetails, currentView: state.currentView, search: state.search, searchResultsObj: state.searchResultsObj, diff --git a/pages/myportal/viewall.js b/pages/myportal/viewall.js index a8927000..67c79465 100644 --- a/pages/myportal/viewall.js +++ b/pages/myportal/viewall.js @@ -72,6 +72,7 @@ const Home = (props) => { const mapStateToProps = (state) => { return { + accountDetails: state.accountDetails, search: state.search, searchResultsObj: state.searchResultsObj, formData: state.formData, diff --git a/pages/newappeal/[appealtypes].js b/pages/newappeal/[appealtypes].js index ddb60651..6ae4b039 100644 --- a/pages/newappeal/[appealtypes].js +++ b/pages/newappeal/[appealtypes].js @@ -14,6 +14,10 @@ import { useRouter } from "next/router"; import useTranslation from "next-translate/useTranslation"; import jsonpath from "jsonpath"; import { useEffect } from "react"; +import { + setLoggedInUserId, + setAccountDetails, +} from "../../store/accountDetails/action"; import { setAppealType, setAppealTypeTitle, @@ -73,8 +77,9 @@ let Home = (props) => { const optionsTitleObj = selectedObj.reduce( (obj, arrValue) => ( (obj[arrValue] = arrValue - .replace(/[\s\-\+\(\)\,]/g, "") - .toLowerCase()), + .replace(/(\band|[\s\-\+\(\)\,\&])/g, "") + .toLowerCase() + .slice(0, 39)), obj ), {} @@ -164,7 +169,7 @@ let Home = (props) => { export const getServerSideProps = wrapper.getServerSideProps( (store) => async ({ query, req, res }) => { - //console.log("the query", query); + console.log("the query", query); const [ caseReferenceData, @@ -185,12 +190,20 @@ export const getServerSideProps = wrapper.getServerSideProps( // query.apt // ); + const cookies = new Cookies(req, res); + // Get a cookie + + console.log(cookies.get("pipinsUser")); + let caseReference = caseReferenceData; let xmlStr = formdata; xmlStr = formdata.value[0].formxml; xmlStr = xmlStr.replace(/\\"/g, ""); //console.log(caseReference, query.appealtypes, formdata); + store.dispatch( + setLoggedInUserId("f8b454ed-eded-eb11-aac7-00224800be9c") + ); store.dispatch(setAppealLPA(query.lpa)); store.dispatch(setAppealTypeID(query.apt)); store.dispatch(setCaseReference(caseReference)); @@ -206,6 +219,7 @@ const mapStateToProps = (state) => { formData: state.formData, appealType: state.appealType, form: state.form, + accountDetails: state.accountDetails, }; }; diff --git a/pages/newappeal/index.js b/pages/newappeal/index.js index e23e2652..183d2d06 100644 --- a/pages/newappeal/index.js +++ b/pages/newappeal/index.js @@ -98,6 +98,7 @@ const mapStateToProps = (state) => { appealType: state.appealType, LPAData: state.LPAData, form: state.form, + accountDetails: state.accountDetails, }; }; diff --git a/store/accountDetails/action.js b/store/accountDetails/action.js index efc3a7f2..884c3090 100644 --- a/store/accountDetails/action.js +++ b/store/accountDetails/action.js @@ -1,6 +1,7 @@ export const AccountDetailsDataActionTypes = { GETACCOUNTDETAILSDATA: "GETACCOUNTDETAILSDATA", SETACCOUNTDETAILSDATA: "SETACCOUNTDETAILSDATA", + SETLOGGEDINUSER: "SETLOGGEDINUSER", }; export const getAccountDetailsObj = () => (dispatch) => { @@ -16,6 +17,13 @@ export const setAccountDetails = (accountDetails) => (dispatch) => { }); }; +export const setLoggedInUserId = (loggedinUserId) => (dispatch) => { + return dispatch({ + type: AccountDetailsDataActionTypes.SETLOGGEDINUSER, + loggedinUserId: loggedinUserId, + }); +}; + export const setLogout = () => (dispatch) => { return dispatch({ type: "USER_LOGOUT", diff --git a/store/accountDetails/reducer.js b/store/accountDetails/reducer.js index 71ac673b..24a102c3 100644 --- a/store/accountDetails/reducer.js +++ b/store/accountDetails/reducer.js @@ -2,6 +2,7 @@ import { AccountDetailsDataActionTypes } from "./action"; const AccountDetailsDataInitialState = { accountDetails: {}, + loggedinUserId: "", }; export default function reducer( @@ -14,6 +15,11 @@ export default function reducer( ...state, accountDetails: action.accountDetails, }; + case AccountDetailsDataActionTypes.SETLOGGEDINUSER: + return { + ...state, + loggedinUserId: action.loggedinUserId, + }; default: return state; } diff --git a/store/awaitingSubmission/action.js b/store/awaitingSubmission/action.js index 1af673dd..82905994 100644 --- a/store/awaitingSubmission/action.js +++ b/store/awaitingSubmission/action.js @@ -1,6 +1,7 @@ export const awaitingSubmissionActionTypes = { GETAWAITINGSUBMISSION: "GETAWAITINGSUBMISSION", SETAWAITINGSUBMISSION: "SETAWAITINGSUBMISSION", + SETAWAITINGSUBMISSIONDETAILS: "SETAWAITINGSUBMISSIONDETAILS", UPDATEAWAITINGSUBMISSION: "UPDATEAWAITINGSUBMISSION", }; @@ -16,3 +17,11 @@ export const setAwaitingSubmission = (awaitingSubmission) => (dispatch) => { awaitingSubmission: awaitingSubmission, }); }; + +export const setAwaitingSubmissionDetails = + (awaitingSubmissionDetails) => (dispatch) => { + return dispatch({ + type: awaitingSubmissionActionTypes.SETAWAITINGSUBMISSIONDETAILS, + awaitingSubmissionDetails: awaitingSubmissionDetails, + }); + }; diff --git a/store/awaitingSubmission/reducer.js b/store/awaitingSubmission/reducer.js index 7d66f2f6..75c94f5d 100644 --- a/store/awaitingSubmission/reducer.js +++ b/store/awaitingSubmission/reducer.js @@ -2,6 +2,7 @@ import { awaitingSubmissionActionTypes } from "./action"; const awaitingSubmissionInitialState = { awaitingSubmission: {}, + awaitingSubmissionDetails: {}, }; export default function reducer( @@ -11,8 +12,14 @@ export default function reducer( switch (action.type) { case awaitingSubmissionActionTypes.SETAWAITINGSUBMISSION: return { + ...state, awaitingSubmission: action.awaitingSubmission, }; + case awaitingSubmissionActionTypes.SETAWAITINGSUBMISSIONDETAILS: + return { + ...state, + awaitingSubmissionDetails: action.awaitingSubmissionDetails, + }; default: return state; } diff --git a/store/myCases/action.js b/store/myCases/action.js index 5856e7ba..7233dd2c 100644 --- a/store/myCases/action.js +++ b/store/myCases/action.js @@ -2,6 +2,7 @@ export const myCasesActionTypes = { GETMYCASES: "GETMYCASES", SETMYCASES: "SETMYCASES", UPDATEMYCASES: "UPDATEMYCASES", + SETMYCASESDETAILS: "SETMYCASESDETAILS", }; export const getMyCasesObj = () => (dispatch) => { @@ -16,3 +17,9 @@ export const setMyCases = (myCases) => (dispatch) => { myCases: myCases, }); }; +export const setMyCasesDetails = (myCasesDetails) => (dispatch) => { + return dispatch({ + type: myCasesActionTypes.SETMYCASESDETAILS, + myCasesDetails: myCasesDetails, + }); +}; diff --git a/store/myCases/reducer.js b/store/myCases/reducer.js index 0623940d..6d813aa9 100644 --- a/store/myCases/reducer.js +++ b/store/myCases/reducer.js @@ -2,14 +2,21 @@ import { myCasesActionTypes } from "./action"; const myCasesInitialState = { myCases: {}, + myCasesDetails: {}, }; export default function reducer(state = myCasesInitialState, action) { switch (action.type) { case myCasesActionTypes.SETMYCASES: return { + ...state, myCases: action.myCases, }; + case myCasesActionTypes.SETMYCASESDETAILS: + return { + ...state, + myCasesDetails: action.myCasesDetails, + }; default: return state; } diff --git a/store/myRepresentations/action.js b/store/myRepresentations/action.js index c483fa58..9a02b160 100644 --- a/store/myRepresentations/action.js +++ b/store/myRepresentations/action.js @@ -1,6 +1,7 @@ export const myRepresentationsActionTypes = { GETMYREPRESENTATIONS: "GETMYREPRESENTATIONS", SETMYREPRESENTATIONS: "SETMYREPRESENTATIONS", + SETMYREPRESENTATIONSDETAILS: "SETMYREPRESENTATIONSDETAILS", UPDATEMYREPRESENTATIONS: "UPDATEMYREPRESENTATIONS", }; @@ -16,3 +17,11 @@ export const setMyRepresentations = (myRepresentations) => (dispatch) => { myRepresentations: myRepresentations, }); }; + +export const setMyRepresentationsDetails = + (myRepresentationsDetails) => (dispatch) => { + return dispatch({ + type: myRepresentationsActionTypes.SETMYREPRESENTATIONSDETAILS, + myRepresentationsDetails: myRepresentationsDetails, + }); + }; diff --git a/store/myRepresentations/reducer.js b/store/myRepresentations/reducer.js index 5c7bc8be..960f1d28 100644 --- a/store/myRepresentations/reducer.js +++ b/store/myRepresentations/reducer.js @@ -2,14 +2,21 @@ import { myRepresentationsActionTypes } from "./action"; const myRepresentationsInitialState = { myRepresentations: {}, + myRepresentationsDetails: {}, }; export default function reducer(state = myRepresentationsInitialState, action) { switch (action.type) { case myRepresentationsActionTypes.SETMYREPRESENTATIONS: return { + ...state, myRepresentations: action.myRepresentations, }; + case myRepresentationsActionTypes.SETMYREPRESENTATIONSDETAILS: + return { + ...state, + myRepresentationsDetails: action.myRepresentationsDetails, + }; default: return state; } diff --git a/store/store.js b/store/store.js index e59d8bdb..1ed943ee 100644 --- a/store/store.js +++ b/store/store.js @@ -1,5 +1,5 @@ import { createStore, applyMiddleware, combineReducers } from "redux"; -import { createWrapper, HYDRATE } from "next-redux-wrapper"; +import { createWrapper, HYDRATE, REHYDRATE } from "next-redux-wrapper"; import thunkMiddleware from "redux-thunk"; import { reducer as formReducer } from "redux-form"; import autoMergeLevel2 from "redux-persist/lib/stateReconciler/autoMergeLevel2"; @@ -47,6 +47,11 @@ const reducer = (state = {}, action) => { switch (action.type) { case HYDRATE: return { ...state, ...action.payload }; + case REHYDRATE: { + console.log("am rhydrating........"); + return { ...state, ...action.payload }; + } + case "SERVER_ACTION": return { ...state, diff --git a/store/watchedCases/action.js b/store/watchedCases/action.js index 062a9e32..40113bc9 100644 --- a/store/watchedCases/action.js +++ b/store/watchedCases/action.js @@ -1,6 +1,7 @@ export const watchedCasesActionTypes = { GETWATCHEDCASES: "GETWATCHEDCASES", SETWATCHEDCASES: "SETWATCHEDCASES", + SETWATCHEDCASESDETAILS: "SETWATCHEDCASESDETAILS", UPDATEWATCHEDCASES: "UPDATEWATCHEDCASES", }; @@ -16,3 +17,10 @@ export const setWatchedCases = (watchedCases) => (dispatch) => { watchedCases: watchedCases, }); }; + +export const setWatchedCasesDetails = (watchedCasesDetails) => (dispatch) => { + return dispatch({ + type: watchedCasesActionTypes.SETWATCHEDCASESDETAILS, + watchedCasesDetails: watchedCasesDetails, + }); +}; diff --git a/store/watchedCases/reducer.js b/store/watchedCases/reducer.js index 40d2637f..696f95c9 100644 --- a/store/watchedCases/reducer.js +++ b/store/watchedCases/reducer.js @@ -2,14 +2,21 @@ import { watchedCasesActionTypes } from "./action"; const watchedCasesInitialState = { watchedCases: {}, + watchedCasesDetails: {}, }; export default function reducer(state = watchedCasesInitialState, action) { switch (action.type) { case watchedCasesActionTypes.SETWATCHEDCASES: return { + ...state, watchedCases: action.watchedCases, }; + case watchedCasesActionTypes.SETWATCHEDCASESDETAILS: + return { + ...state, + watchedCasesDetails: action.watchedCasesDetails, + }; default: return state; }