diff --git a/crm/api/session.py b/crm/api/session.py index b9435b16..1e60a4fa 100644 --- a/crm/api/session.py +++ b/crm/api/session.py @@ -1,7 +1,7 @@ import frappe -@frappe.whitelist() +@frappe.whitelist(allow_guest=True) def get_users(): if frappe.session.user == "Guest": frappe.throw("Authentication failed", exc=frappe.AuthenticationError) diff --git a/frontend/src/router.js b/frontend/src/router.js index 06129b76..7e69658d 100644 --- a/frontend/src/router.js +++ b/frontend/src/router.js @@ -136,7 +136,7 @@ router.beforeEach(async (to, from, next) => { const { users } = usersStore() const { isLoggedIn } = sessionStore() - await users.promise + isLoggedIn && (await users.promise) if (from.meta?.scrollPos) { from.meta.scrollPos.top = document.querySelector('#list-rows')?.scrollTop diff --git a/frontend/src/stores/users.js b/frontend/src/stores/users.js index f227ff4b..c046ec8e 100644 --- a/frontend/src/stores/users.js +++ b/frontend/src/stores/users.js @@ -2,11 +2,13 @@ import { defineStore } from 'pinia' import { createResource } from 'frappe-ui' import { sessionStore } from './session' import { reactive } from 'vue' +import { useRouter } from 'vue-router' export const usersStore = defineStore('crm-users', () => { const session = sessionStore() let usersByName = reactive({}) + const router = useRouter() const users = createResource({ url: 'crm.api.session.get_users',