updated query to remove ldp and misc types

This commit is contained in:
2021-10-28 16:59:51 +01:00
parent 610a7cb15d
commit 691421052c
8 changed files with 195 additions and 84 deletions
+75 -10
View File
@@ -617,7 +617,7 @@ export const getAppealsTypes = (token) => {
return axios return axios
.get( .get(
WEBAPI_URL + 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) azureHeaders(token)
) )
.then((res) => res.data) .then((res) => res.data)
@@ -642,7 +642,7 @@ export const getLPA = (token) => {
azureHeaders(token) azureHeaders(token)
) )
.then((res) => { .then((res) => {
console.log(res.data); //console.log(res.data);
return res.data; return res.data;
}) })
.catch((error) => { .catch((error) => {
@@ -656,18 +656,28 @@ export const getLPA = (token) => {
}); });
}; };
export const getPersonalAccount = () => { export const getPersonalAccount = (token, contactid) => {
console.log("api_root: ", BASE_URL); console.log("getting personal details:", contactid);
return axios return axios
.get( .get(
BASE_URL + "/api/lookups/personaldetails", WEBAPI_URL +
//.get("https://devcrm2016.llcdt.gov.wales/DVPINS/api/data/v8.2/contacts?$select=name", "contacts(" +
{ httpsAgent: new https.Agent({ rejectUnauthorized: false }) } 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) => { .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); 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);
});
};
+56 -35
View File
@@ -24,6 +24,7 @@ const RenderTextfield = ({
input, input,
type, type,
errorMsg, errorMsg,
disabled,
meta: { touched, error }, meta: { touched, error },
...custom ...custom
}) => { }) => {
@@ -55,18 +56,23 @@ const RenderTextfield = ({
name={id} name={id}
id={id} id={id}
type={type} type={type}
disabled={disabled ? true : false}
/> />
</div> </div>
</> </>
); );
}; };
const PersonalDetails = (props) => { let PersonalDetails = (props) => {
const { const {
handleSubmit, handleSubmit,
value, value,
setPersonalDetailsComplete, setPersonalDetailsComplete,
setAccountUpdatedComplete, setAccountUpdatedComplete,
load,
pristine,
reset,
submitting,
} = props; } = props;
let { t, lang } = useTranslation(); let { t, lang } = useTranslation();
@@ -126,17 +132,18 @@ const PersonalDetails = (props) => {
errorMsg="Is required" errorMsg="Is required"
/> />
<Field <Field
name="email" name="emailaddress1"
id="email" id="emailaddress1"
component={RenderTextfield} component={RenderTextfield}
type="email" type="email"
className="govuk-input govuk-input--width-20" className="govuk-input govuk-input--width-20"
validate={[required, email]} validate={[required, email]}
label="Email address" label="Email address"
disabled
/> />
<Field <Field
name="telephone" name="telephone1"
id="telephone" id="telephone1"
component={RenderTextfield} component={RenderTextfield}
type="number" type="number"
className="govuk-input govuk-input--width-20" className="govuk-input govuk-input--width-20"
@@ -145,8 +152,8 @@ const PersonalDetails = (props) => {
/> />
<Field <Field
name="companygroup" name="company"
id="companygroup" id="company"
component={RenderTextfield} component={RenderTextfield}
type="text" type="text"
className="govuk-input govuk-input--width-20" className="govuk-input govuk-input--width-20"
@@ -162,8 +169,8 @@ const PersonalDetails = (props) => {
</legend> </legend>
<Field <Field
name="addressline1" name="address1_line1"
id="addressline1" id="address1_line1"
component={RenderTextfield} component={RenderTextfield}
type="text" type="text"
className="govuk-input govuk-input--width-20" className="govuk-input govuk-input--width-20"
@@ -172,8 +179,8 @@ const PersonalDetails = (props) => {
errorMsg="Is required" errorMsg="Is required"
/> />
<Field <Field
name="addressline2" name="address1_line2"
id="addressline2" id="address1_line2"
component={RenderTextfield} component={RenderTextfield}
type="text" type="text"
className="govuk-input govuk-input--width-20" className="govuk-input govuk-input--width-20"
@@ -181,8 +188,8 @@ const PersonalDetails = (props) => {
errorMsg="Is required" errorMsg="Is required"
/> />
<Field <Field
name="towncity" name="address1_city"
id="towncity" id="address1_city"
component={RenderTextfield} component={RenderTextfield}
type="text" type="text"
className="govuk-input govuk-input--width-10" className="govuk-input govuk-input--width-10"
@@ -191,8 +198,8 @@ const PersonalDetails = (props) => {
errorMsg="Is required" errorMsg="Is required"
/> />
<Field <Field
name="county" name="address1_county"
id="county" id="address1_county"
component={RenderTextfield} component={RenderTextfield}
type="text" type="text"
className="govuk-input govuk-input--width-10" className="govuk-input govuk-input--width-10"
@@ -201,8 +208,8 @@ const PersonalDetails = (props) => {
errorMsg="Is required" errorMsg="Is required"
/> />
<Field <Field
name="postcode" name="address1_postalcode"
id="postcode" id="address1_postalcode"
component={RenderTextfield} component={RenderTextfield}
type="text" type="text"
className="govuk-input govuk-input--width-5" className="govuk-input govuk-input--width-5"
@@ -235,7 +242,7 @@ const PersonalDetails = (props) => {
</> </>
) )
) : ( ) : (
<PersonalDetailsComplete /> <PersonalDetailsComplete props={props} />
)} )}
</> </>
); );
@@ -262,23 +269,37 @@ const mapDispatchToProps = (dispatch) => {
const selector = formValueSelector("personalDetailsForm"); // <-- same as form name const selector = formValueSelector("personalDetailsForm"); // <-- same as form name
export default connect( // export default connect(
mapStateToProps, // mapStateToProps,
mapDispatchToProps // mapDispatchToProps
//, (state) => ({ // //, (state) => ({
// initialValues: state.accountDetails.accountDetails.data, // // initialValues: state.accountDetails.accountDetails.data,
// // search: state.search, // // // search: state.search,
// searchResultsObj: state.searchResultsObj, // // searchResultsObj: state.searchResultsObj,
// formData: state.formData, // // formData: state.formData,
// appealType: state.appealType, // // appealType: state.appealType,
// accountDetails: state.accountDetails, // // accountDetails: state.accountDetails,
// form: state.form, // // form: state.form,
// pull initial values from account reducer // // pull initial values from account reducer
//}) // //})
)( // )(
reduxForm({ // 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", form: "personalDetailsForm",
enableReinitialize: true, // this is needed!! enableReinitialize: true, // this is needed!!
destroyOnUnmount: false, destroyOnUnmount: false,
})(PersonalDetails) })(PersonalDetails);
);
// You have to connect() to any reducers that you wish to connect to yourself
PersonalDetails = connect((state) => ({
initialValues: state.accountDetails.accountDetails, // pull initial values from account reducer
}))(PersonalDetails);
export default PersonalDetails;
+8 -8
View File
@@ -80,7 +80,7 @@ const BuildCheckPersonalDetails = (props) => {
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.personalDetailsForm.values props.props.props.form.personalDetailsForm.values
.email .emailaddress1
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
@@ -104,7 +104,7 @@ const BuildCheckPersonalDetails = (props) => {
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.personalDetailsForm.values props.props.props.form.personalDetailsForm.values
.telephone .telephone1
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
@@ -127,7 +127,7 @@ const BuildCheckPersonalDetails = (props) => {
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.personalDetailsForm.values props.props.props.form.personalDetailsForm.values
.companygroup .company
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
@@ -155,7 +155,7 @@ const BuildCheckPersonalDetails = (props) => {
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.personalDetailsForm.values props.props.props.form.personalDetailsForm.values
.addressline1 .address1_line1
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
@@ -179,7 +179,7 @@ const BuildCheckPersonalDetails = (props) => {
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.personalDetailsForm.values props.props.props.form.personalDetailsForm.values
.addressline2 .address1_line2
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
@@ -203,7 +203,7 @@ const BuildCheckPersonalDetails = (props) => {
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.personalDetailsForm.values props.props.props.form.personalDetailsForm.values
.towncity .address1_city
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
@@ -227,7 +227,7 @@ const BuildCheckPersonalDetails = (props) => {
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.personalDetailsForm.values props.props.props.form.personalDetailsForm.values
.county .address1_county
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
@@ -251,7 +251,7 @@ const BuildCheckPersonalDetails = (props) => {
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.personalDetailsForm.values props.props.props.form.personalDetailsForm.values
.postcode .address1_postalcode
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
+11 -2
View File
@@ -1,6 +1,6 @@
import _ from "lodash"; import _ from "lodash";
import Link from "next/link"; import Link from "next/link";
import React, { useState } from "react"; import React, { useState, useEffect } from "react";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation"; import useTranslation from "next-translate/useTranslation";
import { import {
@@ -17,6 +17,7 @@ import {
setRegisterFormComplete, setRegisterFormComplete,
setAccountCreatedComplete, setAccountCreatedComplete,
} from "react-redux"; } from "react-redux";
import { updateAccount } from "../../actions";
const PersonalDetailsComplete = (props) => { const PersonalDetailsComplete = (props) => {
const { const {
@@ -30,6 +31,12 @@ const PersonalDetailsComplete = (props) => {
const router = useRouter(); const router = useRouter();
const { locale } = router; const { locale } = router;
useEffect(() => {
let contactid = props.accountDetails.loggedinUserId;
let updateBody = props.props.props.form.personalDetailsForm.values;
updateAccount(contactid, updateBody);
}, []);
return ( return (
<> <>
<p className="govuk-body">Your details have been updated</p> <p className="govuk-body">Your details have been updated</p>
@@ -41,7 +48,9 @@ const PersonalDetailsComplete = (props) => {
</p> </p>
<p className="govuk-body"> <p className="govuk-body">
<Link href="/myportal"> <Link
href={"/myportal?q=" + props.accountDetails.loggedinUserId}
>
<a className="govuk-link">Return to My Portal</a> <a className="govuk-link">Return to My Portal</a>
</Link> </Link>
</p> </p>
+1 -1
View File
@@ -297,7 +297,7 @@
"pinswg_lpa": 0 "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", "value_cy": "Cyngor Bwrdeistref Sirol Rhondda Cynon Taf",
"pinswg_lpa": 0 "pinswg_lpa": 0
}, },
+11 -11
View File
@@ -88,17 +88,17 @@ const Home = (props) => {
); );
}; };
export const getServerSideProps = wrapper.getServerSideProps( // export const getServerSideProps = wrapper.getServerSideProps(
(store) => // (store) =>
async ({ query, req, res }) => { // async ({ query, req, res }) => {
const appealTypeData = await getAppealsTypes(); // const appealTypeData = await getAppealsTypes();
const lpaData = await getLPA(); // const lpaData = await getLPA();
console.log("appeal types", appealTypeData); // console.log("appeal types", appealTypeData);
console.log("lpa typeswwwww", lpaData); // console.log("lpa typeswwwww", lpaData);
store.dispatch(setAppealType(appealTypeData)); // store.dispatch(setAppealType(appealTypeData));
store.dispatch(setLPA(lpaData)); // store.dispatch(setLPA(lpaData));
} // }
); // );
const mapStateToProps = (state) => { const mapStateToProps = (state) => {
return { return {
+24 -8
View File
@@ -15,6 +15,7 @@ import { wrapper } from "../../store/store";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation"; import useTranslation from "next-translate/useTranslation";
import data from "../../data/collections.json"; import data from "../../data/collections.json";
import nookies from "nookies";
import { import {
setLoggedInUserId, setLoggedInUserId,
setAccountDetails, setAccountDetails,
@@ -34,6 +35,7 @@ import {
} from "../../store/awaitingSubmission/action"; } from "../../store/awaitingSubmission/action";
import { import {
getSASToken, getSASToken,
getPersonalAccount,
getMyCases, getMyCases,
getMyRepresentations, getMyRepresentations,
getWatchedCases, getWatchedCases,
@@ -157,21 +159,35 @@ export const getServerSideProps = wrapper.getServerSideProps(
console.log("qweqe ", loggedInUser); console.log("qweqe ", loggedInUser);
const [myCases, myRepresentations, watchedCases, awaitingSubmission] = const [
await Promise.all([ accountDetails,
myCases,
myRepresentations,
watchedCases,
awaitingSubmission,
] = await Promise.all([
await getPersonalAccount(token, loggedInUser),
await getMyCases(token, loggedInUser), await getMyCases(token, loggedInUser),
await getMyRepresentations(token, loggedInUser), await getMyRepresentations(token, loggedInUser),
await getWatchedCases(token, loggedInUser), await getWatchedCases(token, loggedInUser),
await getAwaitingSubmission(token), await getAwaitingSubmission(token),
]); ]);
// const cookiesMaker = new Cookies(req, res); console.log("perosnal: ", accountDetails);
// cookiesMaker.set("pinsUser", query.q, { //const cookiesMaker = nookies.get(ctx)
// httpOnly: true, // true by default
// }); 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); console.log(myCases);
const [ const [
@@ -187,7 +203,7 @@ export const getServerSideProps = wrapper.getServerSideProps(
]); ]);
console.log(myCasesDetails); console.log(myCasesDetails);
store.dispatch(setAccountDetails(accountDetails));
store.dispatch(setLoggedInUserId(loggedInUser)); store.dispatch(setLoggedInUserId(loggedInUser));
store.dispatch(setMyCases(myCases)); store.dispatch(setMyCases(myCases));
store.dispatch(setMyCasesDetails(myCasesDetails)); store.dispatch(setMyCasesDetails(myCasesDetails));