From 691421052c490be52c63086a172ee5713115f04b Mon Sep 17 00:00:00 2001
From: rdbsolutions
Date: Thu, 28 Oct 2021 16:59:51 +0100
Subject: [PATCH] updated query to remove ldp and misc types
---
actions/index.js | 85 ++++++++++++++--
components/account/personaldetails.js | 97 +++++++++++--------
components/account/personaldetailsCheck.js | 16 +--
components/account/personaldetailsComplete.js | 13 ++-
components/main.js | 2 +-
data/lookuptranslations.json | 2 +-
pages/account/changepassword.js | 22 ++---
pages/myportal/index.js | 42 +++++---
8 files changed, 195 insertions(+), 84 deletions(-)
diff --git a/actions/index.js b/actions/index.js
index 3dc36942..76fb4818 100644
--- a/actions/index.js
+++ b/actions/index.js
@@ -617,7 +617,7 @@ export const getAppealsTypes = (token) => {
return axios
.get(
WEBAPI_URL +
- "stringmaps?$filter=attributename%20eq%20%27pinswg_appealcasetype%27&$count=true&$select=value,stringmapid,organizationid,attributevalue",
+ "stringmaps?$filter=attributename eq 'pinswg_appealcasetype' and value ne 'LDP' and value ne 'Misc Casework'&$count=true&$select=value,stringmapid,organizationid,attributevalue",
azureHeaders(token)
)
.then((res) => res.data)
@@ -642,7 +642,7 @@ export const getLPA = (token) => {
azureHeaders(token)
)
.then((res) => {
- console.log(res.data);
+ //console.log(res.data);
return res.data;
})
.catch((error) => {
@@ -656,18 +656,28 @@ export const getLPA = (token) => {
});
};
-export const getPersonalAccount = () => {
- console.log("api_root: ", BASE_URL);
+export const getPersonalAccount = (token, contactid) => {
+ console.log("getting personal details:", contactid);
return axios
-
.get(
- BASE_URL + "/api/lookups/personaldetails",
- //.get("https://devcrm2016.llcdt.gov.wales/DVPINS/api/data/v8.2/contacts?$select=name",
- { httpsAgent: new https.Agent({ rejectUnauthorized: false }) }
+ WEBAPI_URL +
+ "contacts(" +
+ contactid +
+ ")?$select=firstname, lastname, emailaddress1, telephone1, company, address1_line1,address1_line2,address1_city, address1_county,address1_postalcode&$count=true",
+ azureHeaders(token)
)
- .then((res) => res.data)
+ .then((res) => {
+ console.log(res.data);
+ return res.data;
+ })
.catch((error) => {
- console.log("thi serror", error);
+ let ErrResponse = {
+ value: [],
+ errorCode: error.response.status,
+ errorMsg: error.response.statusText,
+ };
+
+ return ErrResponse;
});
};
@@ -916,3 +926,58 @@ export const createAccount = (formValues) => {
console.log("this serror", error);
});
};
+
+export const updateAccount = (contactId, updateBody) => {
+ var data = JSON.stringify(updateBody);
+
+ var config = {
+ method: "patch",
+ url: "/api/proxy/contacts(" + contactId + ")",
+ headers: {
+ "OData-MaxVersion": "4.0",
+ "OData-Version": "4.0",
+ "Accept": "application/json",
+ "Prefer": 'odata.include-annotations="*",return=representation',
+ "Content-Type": "application/json",
+ "ServiceBusAuthorization": getSASToken(),
+ },
+ data: data,
+ };
+ // console.log(config);
+ return axios(config)
+ .then((res) => {
+ console.log("posted ", res.data);
+ return res.data;
+ })
+ .catch((error) => {
+ console.log("this serror", error);
+ });
+};
+
+export const updatePassword = (contactId, newpassword) => {
+ let updateBody = { "pinswg_custom_password": newpassword };
+ var data = JSON.stringify(updateBody);
+
+ var config = {
+ method: "patch",
+ url: "/api/proxy/contacts(" + contactId + ")",
+ headers: {
+ "OData-MaxVersion": "4.0",
+ "OData-Version": "4.0",
+ "Accept": "application/json",
+ "Prefer": 'odata.include-annotations="*",return=representation',
+ "Content-Type": "application/json",
+ "ServiceBusAuthorization": getSASToken(),
+ },
+ data: data,
+ };
+ // console.log(config);
+ return axios(config)
+ .then((res) => {
+ console.log("posted ", res.data);
+ return res.data;
+ })
+ .catch((error) => {
+ console.log("this serror", error);
+ });
+};
diff --git a/components/account/personaldetails.js b/components/account/personaldetails.js
index 5bb8040d..1a4b6efe 100644
--- a/components/account/personaldetails.js
+++ b/components/account/personaldetails.js
@@ -24,6 +24,7 @@ const RenderTextfield = ({
input,
type,
errorMsg,
+ disabled,
meta: { touched, error },
...custom
}) => {
@@ -55,18 +56,23 @@ const RenderTextfield = ({
name={id}
id={id}
type={type}
+ disabled={disabled ? true : false}
/>
>
);
};
-const PersonalDetails = (props) => {
+let PersonalDetails = (props) => {
const {
handleSubmit,
value,
setPersonalDetailsComplete,
setAccountUpdatedComplete,
+ load,
+ pristine,
+ reset,
+ submitting,
} = props;
let { t, lang } = useTranslation();
@@ -126,17 +132,18 @@ const PersonalDetails = (props) => {
errorMsg="Is required"
/>
{
/>
{
{
errorMsg="Is required"
/>
{
errorMsg="Is required"
/>
{
errorMsg="Is required"
/>
{
errorMsg="Is required"
/>
{
>
)
) : (
-
+
)}
>
);
@@ -262,23 +269,37 @@ const mapDispatchToProps = (dispatch) => {
const selector = formValueSelector("personalDetailsForm"); // <-- same as form name
-export default connect(
- mapStateToProps,
- mapDispatchToProps
- //, (state) => ({
- // initialValues: state.accountDetails.accountDetails.data,
- // // search: state.search,
- // searchResultsObj: state.searchResultsObj,
- // formData: state.formData,
- // appealType: state.appealType,
- // accountDetails: state.accountDetails,
- // form: state.form,
- // pull initial values from account reducer
- //})
-)(
- reduxForm({
- form: "personalDetailsForm",
- enableReinitialize: true, // this is needed!!
- destroyOnUnmount: false,
- })(PersonalDetails)
-);
+// export default connect(
+// mapStateToProps,
+// mapDispatchToProps
+// //, (state) => ({
+// // initialValues: state.accountDetails.accountDetails.data,
+// // // search: state.search,
+// // searchResultsObj: state.searchResultsObj,
+// // formData: state.formData,
+// // appealType: state.appealType,
+// // accountDetails: state.accountDetails,
+// // form: state.form,
+// // pull initial values from account reducer
+// //})
+// )(
+// reduxForm({
+// form: "personalDetailsForm",
+// enableReinitialize: true, // this is needed!!
+// destroyOnUnmount: false,
+// })(PersonalDetails)
+// );
+
+// Decorate with reduxForm(). It will read the initialValues prop provided by connect()
+PersonalDetails = reduxForm({
+ form: "personalDetailsForm",
+ enableReinitialize: true, // this is needed!!
+ destroyOnUnmount: false,
+})(PersonalDetails);
+
+// You have to connect() to any reducers that you wish to connect to yourself
+PersonalDetails = connect((state) => ({
+ initialValues: state.accountDetails.accountDetails, // pull initial values from account reducer
+}))(PersonalDetails);
+
+export default PersonalDetails;
diff --git a/components/account/personaldetailsCheck.js b/components/account/personaldetailsCheck.js
index c4df3bff..d16a2b53 100644
--- a/components/account/personaldetailsCheck.js
+++ b/components/account/personaldetailsCheck.js
@@ -80,7 +80,7 @@ const BuildCheckPersonalDetails = (props) => {
{
props.props.props.form.personalDetailsForm.values
- .email
+ .emailaddress1
}
@@ -104,7 +104,7 @@ const BuildCheckPersonalDetails = (props) => {
{
props.props.props.form.personalDetailsForm.values
- .telephone
+ .telephone1
}
@@ -127,7 +127,7 @@ const BuildCheckPersonalDetails = (props) => {
{
props.props.props.form.personalDetailsForm.values
- .companygroup
+ .company
}
@@ -155,7 +155,7 @@ const BuildCheckPersonalDetails = (props) => {
{
props.props.props.form.personalDetailsForm.values
- .addressline1
+ .address1_line1
}
@@ -179,7 +179,7 @@ const BuildCheckPersonalDetails = (props) => {
{
props.props.props.form.personalDetailsForm.values
- .addressline2
+ .address1_line2
}
@@ -203,7 +203,7 @@ const BuildCheckPersonalDetails = (props) => {
{
props.props.props.form.personalDetailsForm.values
- .towncity
+ .address1_city
}
@@ -227,7 +227,7 @@ const BuildCheckPersonalDetails = (props) => {
{
props.props.props.form.personalDetailsForm.values
- .county
+ .address1_county
}
@@ -251,7 +251,7 @@ const BuildCheckPersonalDetails = (props) => {
{
props.props.props.form.personalDetailsForm.values
- .postcode
+ .address1_postalcode
}
diff --git a/components/account/personaldetailsComplete.js b/components/account/personaldetailsComplete.js
index 757444e1..a3a3b01e 100644
--- a/components/account/personaldetailsComplete.js
+++ b/components/account/personaldetailsComplete.js
@@ -1,6 +1,6 @@
import _ from "lodash";
import Link from "next/link";
-import React, { useState } from "react";
+import React, { useState, useEffect } from "react";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import {
@@ -17,6 +17,7 @@ import {
setRegisterFormComplete,
setAccountCreatedComplete,
} from "react-redux";
+import { updateAccount } from "../../actions";
const PersonalDetailsComplete = (props) => {
const {
@@ -30,6 +31,12 @@ const PersonalDetailsComplete = (props) => {
const router = useRouter();
const { locale } = router;
+ useEffect(() => {
+ let contactid = props.accountDetails.loggedinUserId;
+ let updateBody = props.props.props.form.personalDetailsForm.values;
+ updateAccount(contactid, updateBody);
+ }, []);
+
return (
<>
Your details have been updated
@@ -41,7 +48,9 @@ const PersonalDetailsComplete = (props) => {
-
+
Return to My Portal
diff --git a/components/main.js b/components/main.js
index 50a6c56f..b7bb53e4 100644
--- a/components/main.js
+++ b/components/main.js
@@ -29,7 +29,7 @@ export default function Home({ children, pages }) {
{/*
- */}
+ */}
diff --git a/data/lookuptranslations.json b/data/lookuptranslations.json
index 88e8265c..665106c4 100644
--- a/data/lookuptranslations.json
+++ b/data/lookuptranslations.json
@@ -297,7 +297,7 @@
"pinswg_lpa": 0
},
{
- "value": "Rhondda Cynon Taf County Borough Council",
+ "value": "Rhondda Cynon Taff County Borough Council",
"value_cy": "Cyngor Bwrdeistref Sirol Rhondda Cynon Taf",
"pinswg_lpa": 0
},
diff --git a/pages/account/changepassword.js b/pages/account/changepassword.js
index 8ada964d..d4ef41c5 100644
--- a/pages/account/changepassword.js
+++ b/pages/account/changepassword.js
@@ -88,17 +88,17 @@ const Home = (props) => {
);
};
-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));
- }
-);
+// 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 {
diff --git a/pages/myportal/index.js b/pages/myportal/index.js
index 684e6354..47cbef79 100644
--- a/pages/myportal/index.js
+++ b/pages/myportal/index.js
@@ -15,6 +15,7 @@ import { wrapper } from "../../store/store";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import data from "../../data/collections.json";
+import nookies from "nookies";
import {
setLoggedInUserId,
setAccountDetails,
@@ -34,6 +35,7 @@ import {
} from "../../store/awaitingSubmission/action";
import {
getSASToken,
+ getPersonalAccount,
getMyCases,
getMyRepresentations,
getWatchedCases,
@@ -157,21 +159,35 @@ export const getServerSideProps = wrapper.getServerSideProps(
console.log("qweqe ", loggedInUser);
- const [myCases, myRepresentations, watchedCases, awaitingSubmission] =
- await Promise.all([
- await getMyCases(token, loggedInUser),
- await getMyRepresentations(token, loggedInUser),
- await getWatchedCases(token, loggedInUser),
- await getAwaitingSubmission(token),
- ]);
+ const [
+ accountDetails,
+ myCases,
+ myRepresentations,
+ watchedCases,
+ awaitingSubmission,
+ ] = await Promise.all([
+ await getPersonalAccount(token, loggedInUser),
+ await getMyCases(token, loggedInUser),
+ await getMyRepresentations(token, loggedInUser),
+ await getWatchedCases(token, loggedInUser),
+ await getAwaitingSubmission(token),
+ ]);
- // const cookiesMaker = new Cookies(req, res);
+ console.log("perosnal: ", accountDetails);
- // cookiesMaker.set("pinsUser", query.q, {
- // httpOnly: true, // true by default
- // });
+ //const cookiesMaker = nookies.get(ctx)
+
+ let now = new Date();
+ let expDate = new Date(now);
+ expDate.setDate(now.getDate() + 1);
+
+ nookies.set(ctx, "pinsUser", query.q, {
+ expires: expDate,
+ httpOnly: false,
+ });
+
+ console.log(" from cookie ", cookies);
- // console.log(" from cookie ", cookiesMaker.get("pinsUser"));
console.log(myCases);
const [
@@ -187,7 +203,7 @@ export const getServerSideProps = wrapper.getServerSideProps(
]);
console.log(myCasesDetails);
-
+ store.dispatch(setAccountDetails(accountDetails));
store.dispatch(setLoggedInUserId(loggedInUser));
store.dispatch(setMyCases(myCases));
store.dispatch(setMyCasesDetails(myCasesDetails));