From 696d1714f6003b93a5be89be39c1eab93b64997d Mon Sep 17 00:00:00 2001 From: Mel O'Hagan Date: Tue, 3 May 2022 10:36:50 +0100 Subject: [PATCH] Refetch the admin checklist on SMTP config save --- .../builder/portal/manage/email/index.svelte | 3 ++- packages/builder/src/stores/portal/admin.js | 25 ++++++++++++------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/packages/builder/src/pages/builder/portal/manage/email/index.svelte b/packages/builder/src/pages/builder/portal/manage/email/index.svelte index 4ef59d2daa..56242f0fe4 100644 --- a/packages/builder/src/pages/builder/portal/manage/email/index.svelte +++ b/packages/builder/src/pages/builder/portal/manage/email/index.svelte @@ -13,7 +13,7 @@ Table, Checkbox, } from "@budibase/bbui" - import { email } from "stores/portal" + import { email, admin } from "stores/portal" import { API } from "api" import { cloneDeep } from "lodash/fp" import analytics, { Events } from "analytics" @@ -58,6 +58,7 @@ const savedConfig = await API.saveConfig(smtp) smtpConfig._rev = savedConfig._rev smtpConfig._id = savedConfig._id + await admin.getChecklist() notifications.success(`Settings saved`) analytics.captureEvent(Events.SMTP.SAVED) } catch (error) { diff --git a/packages/builder/src/stores/portal/admin.js b/packages/builder/src/stores/portal/admin.js index 088d396291..69a2c82349 100644 --- a/packages/builder/src/stores/portal/admin.js +++ b/packages/builder/src/stores/portal/admin.js @@ -24,14 +24,8 @@ export function createAdminStore() { const admin = writable(DEFAULT_CONFIG) async function init() { - const tenantId = get(auth).tenantId - const checklist = await API.getChecklist(tenantId) - const totalSteps = Object.keys(checklist).length - const completedSteps = Object.values(checklist).filter( - x => x?.checked - ).length + await getChecklist() await getEnvironment() - // enable system status checks in the cloud if (get(admin).cloud) { await getSystemStatus() @@ -40,8 +34,6 @@ export function createAdminStore() { admin.update(store => { store.loaded = true - store.checklist = checklist - store.onboardingProgress = (completedSteps / totalSteps) * 100 return store }) } @@ -81,6 +73,20 @@ export function createAdminStore() { }) } + async function getChecklist() { + const tenantId = get(auth).tenantId + const checklist = await API.getChecklist(tenantId) + const totalSteps = Object.keys(checklist).length + const completedSteps = Object.values(checklist).filter( + x => x?.checked + ).length + admin.update(store => { + store.checklist = checklist + store.onboardingProgress = (completedSteps / totalSteps) * 100 + return store + }) + } + function unload() { admin.update(store => { store.loaded = false @@ -93,6 +99,7 @@ export function createAdminStore() { init, checkImportComplete, unload, + getChecklist, } }