diff --git a/client/src/components/email-overlay/email-overlay.container.jsx b/client/src/components/email-overlay/email-overlay.container.jsx index 45848efc5..4010d68ee 100644 --- a/client/src/components/email-overlay/email-overlay.container.jsx +++ b/client/src/components/email-overlay/email-overlay.container.jsx @@ -16,9 +16,9 @@ import { } from "../../redux/user/user.selectors"; import RenderTemplate from "../../utils/RenderTemplate"; import { EmailSettings } from "../../utils/TemplateConstants"; +import LoadingSkeleton from "../loading-skeleton/loading-skeleton.component"; import LoadingSpinner from "../loading-spinner/loading-spinner.component"; import EmailOverlayComponent from "./email-overlay.component"; -import LoadingSkeleton from "../loading-skeleton/loading-skeleton.component"; const mapStateToProps = createStructuredSelector({ modalVisible: selectEmailVisible, @@ -48,7 +48,10 @@ export function EmailOverlayContainer({ name: `${currentUser.displayName} @ ${bodyshop.shopname}`, address: EmailSettings.fromAddress, }, - ReplyTo: { Email: currentUser.email, Name: currentUser.displayName }, + ReplyTo: { + Email: currentUser.validemail ? currentUser.email : bodyshop.email, + Name: currentUser.displayName, + }, }; const handleFinish = async (values) => { diff --git a/client/src/graphql/bodyshop.queries.js b/client/src/graphql/bodyshop.queries.js index 2f95d0c2c..9ccf46532 100644 --- a/client/src/graphql/bodyshop.queries.js +++ b/client/src/graphql/bodyshop.queries.js @@ -19,6 +19,7 @@ export const QUERY_BODYSHOP = gql` authid email dashboardlayout + validemail employee { id } diff --git a/client/src/redux/user/user.sagas.js b/client/src/redux/user/user.sagas.js index 28b274547..a70964387 100644 --- a/client/src/redux/user/user.sagas.js +++ b/client/src/redux/user/user.sagas.js @@ -219,6 +219,13 @@ export function* SetAuthLevelFromShopDetails({ payload }) { ); yield put(setAuthlevel(authRecord[0] ? authRecord[0].authlevel : 0)); + yield put( + updateUserDetailsSuccess( + authRecord[0] + ? { validemail: authRecord[0].user.validemail } + : { validemail: false } + ) + ); } catch (error) { yield put(signInFailure(error.message)); } diff --git a/hasura/migrations/1620336278872_alter_table_public_users_add_column_validemail/down.yaml b/hasura/migrations/1620336278872_alter_table_public_users_add_column_validemail/down.yaml new file mode 100644 index 000000000..f8e7fdd5e --- /dev/null +++ b/hasura/migrations/1620336278872_alter_table_public_users_add_column_validemail/down.yaml @@ -0,0 +1,5 @@ +- args: + cascade: false + read_only: false + sql: ALTER TABLE "public"."users" DROP COLUMN "validemail"; + type: run_sql diff --git a/hasura/migrations/1620336278872_alter_table_public_users_add_column_validemail/up.yaml b/hasura/migrations/1620336278872_alter_table_public_users_add_column_validemail/up.yaml new file mode 100644 index 000000000..f21de375b --- /dev/null +++ b/hasura/migrations/1620336278872_alter_table_public_users_add_column_validemail/up.yaml @@ -0,0 +1,6 @@ +- args: + cascade: false + read_only: false + sql: ALTER TABLE "public"."users" ADD COLUMN "validemail" boolean NOT NULL DEFAULT + true; + type: run_sql diff --git a/hasura/migrations/1620336525583_update_permission_user_public_table_users/down.yaml b/hasura/migrations/1620336525583_update_permission_user_public_table_users/down.yaml new file mode 100644 index 000000000..61e3ce752 --- /dev/null +++ b/hasura/migrations/1620336525583_update_permission_user_public_table_users/down.yaml @@ -0,0 +1,19 @@ +- args: + role: user + table: + name: users + schema: public + type: drop_insert_permission +- args: + permission: + check: {} + columns: + - authid + - email + - fcmtokens + set: {} + role: user + table: + name: users + schema: public + type: create_insert_permission diff --git a/hasura/migrations/1620336525583_update_permission_user_public_table_users/up.yaml b/hasura/migrations/1620336525583_update_permission_user_public_table_users/up.yaml new file mode 100644 index 000000000..59ecec0bd --- /dev/null +++ b/hasura/migrations/1620336525583_update_permission_user_public_table_users/up.yaml @@ -0,0 +1,20 @@ +- args: + role: user + table: + name: users + schema: public + type: drop_insert_permission +- args: + permission: + check: {} + columns: + - authid + - email + - fcmtokens + - validemail + set: {} + role: user + table: + name: users + schema: public + type: create_insert_permission diff --git a/hasura/migrations/1620336532828_update_permission_user_public_table_users/down.yaml b/hasura/migrations/1620336532828_update_permission_user_public_table_users/down.yaml new file mode 100644 index 000000000..6fdc8d980 --- /dev/null +++ b/hasura/migrations/1620336532828_update_permission_user_public_table_users/down.yaml @@ -0,0 +1,28 @@ +- args: + role: user + table: + name: users + schema: public + type: drop_select_permission +- args: + permission: + allow_aggregations: false + columns: + - authid + - created_at + - dashboardlayout + - email + - fcmtokens + - updated_at + computed_fields: [] + filter: + associations: + bodyshop: + associations: + active: + _eq: true + role: user + table: + name: users + schema: public + type: create_select_permission diff --git a/hasura/migrations/1620336532828_update_permission_user_public_table_users/up.yaml b/hasura/migrations/1620336532828_update_permission_user_public_table_users/up.yaml new file mode 100644 index 000000000..78ad2df7a --- /dev/null +++ b/hasura/migrations/1620336532828_update_permission_user_public_table_users/up.yaml @@ -0,0 +1,29 @@ +- args: + role: user + table: + name: users + schema: public + type: drop_select_permission +- args: + permission: + allow_aggregations: false + columns: + - authid + - created_at + - dashboardlayout + - email + - fcmtokens + - updated_at + - validemail + computed_fields: [] + filter: + associations: + bodyshop: + associations: + active: + _eq: true + role: user + table: + name: users + schema: public + type: create_select_permission diff --git a/hasura/migrations/metadata.yaml b/hasura/migrations/metadata.yaml index 6fe569748..b726a8d2a 100644 --- a/hasura/migrations/metadata.yaml +++ b/hasura/migrations/metadata.yaml @@ -4156,6 +4156,7 @@ tables: - authid - email - fcmtokens + - validemail select_permissions: - role: user permission: @@ -4166,6 +4167,7 @@ tables: - email - fcmtokens - updated_at + - validemail filter: associations: bodyshop: