Skip to content

Commit

Permalink
fix: extra account field
Browse files Browse the repository at this point in the history
  • Loading branch information
BrianJiang2021 authored and bc-micah committed Nov 10, 2023
1 parent fede4c1 commit 5064e35
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ function AccountSetting() {
(param.newPassword && param.currentPassword) ||
currentEamil !== param.email
) {
const isUpdateSuccessfully = await sendEmail(param)
const isUpdateSuccessfully = await sendEmail(param, extraFields)
if (!isUpdateSuccessfully) {
snackbar.error(
b3Lang('accountSettings.notification.passwordNotMatch')
Expand Down
23 changes: 22 additions & 1 deletion apps/storefront/src/pages/accountSetting/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,16 +45,37 @@ const getXsrfToken = (): string | undefined => {
}

// Password and email Change Send emails
function sendEmail(data: any) {
function sendEmail(data: any, extraFields: any) {
return new Promise<boolean>((resolve, reject) => {
const { email, confirmPassword, newPassword, currentPassword } = data

const requiredCustomFields =
extraFields.filter(
(item: CustomFieldItems) => item.required && item.custom
) || []
const formData = new URLSearchParams()
const token = getXsrfToken() || ''
formData.append('FormField[1][1]', email)
formData.append('FormField[1][24]', currentPassword)
formData.append('FormField[1][2]', newPassword)
formData.append('FormField[1][3]', confirmPassword)
formData.append('authenticity_token', token)

// extra
if (requiredCustomFields.length) {
requiredCustomFields.forEach((item: Partial<Fields>) => {
if (item.name?.includes('_')) {
const key = item.name?.split('_')[1]
const { formFields } = data
const val = formFields.find(
(field: Partial<Fields>) => field.name === item.bcLabel
).value
formData.append(`FormField[1][${key}]`, val)
console.log(key, val)
}
})
}

const requestBody: string = formData.toString()

sendUpdateAccountRequest(requestBody)
Expand Down
3 changes: 2 additions & 1 deletion apps/storefront/src/pages/registered/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -378,7 +378,8 @@ export const getAccountFormFields = (
const filterVisibleAccountFormFields: AccountFormFieldsList =
accountFormFields
? (accountFormFields as any).filter(
(item: Partial<AccountFormFieldsItems>) => !!item.visible
(item: Partial<AccountFormFieldsItems>) =>
!!item.visible || (!!item.custom && !!item.isRequired)
)
: []

Expand Down

0 comments on commit 5064e35

Please sign in to comment.