diff --git a/frontend/src/pages/CallLog.vue b/frontend/src/pages/CallLog.vue index eb6a8a54..200f3fca 100644 --- a/frontend/src/pages/CallLog.vue +++ b/frontend/src/pages/CallLog.vue @@ -159,12 +159,14 @@ import { } from 'frappe-ui' import { usersStore } from '@/stores/users' import { contactsStore } from '@/stores/contacts' +import { viewsStore } from '@/stores/views' import { computed, ref } from 'vue' import { useRouter } from 'vue-router' const router = useRouter() const { getUser } = usersStore() const { contacts, getContact, getLeadContact } = contactsStore() +const { getDefaultView } = viewsStore() const props = defineProps({ callLogId: { @@ -238,13 +240,19 @@ function createLead() { }) } -const breadcrumbs = computed(() => [ - { label: 'Call Logs', route: { name: 'Call Logs' } }, - { +const breadcrumbs = computed(() => { + let defaultView = getDefaultView() + let route = { name: 'Call Logs' } + if (defaultView?.route_name == 'Call Logs' && defaultView?.is_view) { + route = { name: 'Call Logs', query: { view: defaultView.name } } + } + let items = [{ label: 'Call Logs', route: route }] + items.push({ label: callLog.data?.caller.label, route: { name: 'Call Log', params: { callLogId: props.callLogId } }, - }, -]) + }) + return items +}) const statusLabelMap = { Completed: 'Completed', diff --git a/frontend/src/pages/Contact.vue b/frontend/src/pages/Contact.vue index 7b219b20..3b170623 100644 --- a/frontend/src/pages/Contact.vue +++ b/frontend/src/pages/Contact.vue @@ -226,6 +226,7 @@ import { usersStore } from '@/stores/users.js' import { contactsStore } from '@/stores/contacts.js' import { organizationsStore } from '@/stores/organizations.js' import { statusesStore } from '@/stores/statuses' +import { viewsStore } from '@/stores/views' import { ref, computed, h } from 'vue' import { useRouter } from 'vue-router' @@ -235,6 +236,7 @@ const { getContactByName, contacts } = contactsStore() const { getUser } = usersStore() const { getOrganization } = organizationsStore() const { getDealStatus } = statusesStore() +const { getDefaultView } = viewsStore() const props = defineProps({ contactId: { @@ -251,7 +253,12 @@ const showContactModal = ref(false) const detailMode = ref(false) const breadcrumbs = computed(() => { - let items = [{ label: 'Contacts', route: { name: 'Contacts' } }] + let defaultView = getDefaultView() + let route = { name: 'Contacts' } + if (defaultView?.route_name == 'Contacts' && defaultView?.is_view) { + route = { name: 'Contacts', query: { view: defaultView.name } } + } + let items = [{ label: 'Contacts', route: route }] items.push({ label: contact.value.full_name, route: { name: 'Contact', params: { contactId: contact.value.name } }, diff --git a/frontend/src/pages/Deal.vue b/frontend/src/pages/Deal.vue index 583ac972..aba5d0b7 100644 --- a/frontend/src/pages/Deal.vue +++ b/frontend/src/pages/Deal.vue @@ -316,6 +316,7 @@ import { globalStore } from '@/stores/global' import { contactsStore } from '@/stores/contacts' import { organizationsStore } from '@/stores/organizations' import { statusesStore } from '@/stores/statuses' +import { viewsStore } from '@/stores/views' import { createResource, Dropdown, @@ -332,6 +333,7 @@ const { $dialog, makeCall } = globalStore() const { getContactByName, contacts } = contactsStore() const { organizations, getOrganization } = organizationsStore() const { statusOptions, getDealStatus } = statusesStore() +const { getDefaultView } = viewsStore() const router = useRouter() const props = defineProps({ @@ -420,7 +422,12 @@ function validateRequired(fieldname, value) { } const breadcrumbs = computed(() => { - let items = [{ label: 'Deals', route: { name: 'Deals' } }] + let defaultView = getDefaultView() + let route = { name: 'Deals' } + if (defaultView?.route_name == 'Deals' && defaultView?.is_view) { + route = { name: 'Deals', query: { view: defaultView.name } } + } + let items = [{ label: 'Deals', route: route }] items.push({ label: organization.value?.name, route: { name: 'Deal', params: { dealId: deal.data.name } }, diff --git a/frontend/src/pages/Lead.vue b/frontend/src/pages/Lead.vue index 1fd0b65c..5ecb0262 100644 --- a/frontend/src/pages/Lead.vue +++ b/frontend/src/pages/Lead.vue @@ -279,6 +279,7 @@ import { globalStore } from '@/stores/global' import { contactsStore } from '@/stores/contacts' import { organizationsStore } from '@/stores/organizations' import { statusesStore } from '@/stores/statuses' +import { viewsStore } from '@/stores/views' import { createResource, FileUploader, @@ -297,6 +298,7 @@ const { $dialog, makeCall } = globalStore() const { getContactByName, contacts } = contactsStore() const { organizations } = organizationsStore() const { statusOptions, getLeadStatus } = statusesStore() +const { getDefaultView } = viewsStore() const router = useRouter() const props = defineProps({ @@ -378,7 +380,12 @@ function validateRequired(fieldname, value) { } const breadcrumbs = computed(() => { - let items = [{ label: 'Leads', route: { name: 'Leads' } }] + let defaultView = getDefaultView() + let route = { name: 'Leads' } + if (defaultView?.route_name == 'Leads' && defaultView?.is_view) { + route = { name: 'Leads', query: { view: defaultView.name } } + } + let items = [{ label: 'Leads', route: route }] items.push({ label: lead.data.lead_name, route: { name: 'Lead', params: { leadId: lead.data.name } }, diff --git a/frontend/src/pages/Organization.vue b/frontend/src/pages/Organization.vue index 92f80e99..d9b1e15f 100644 --- a/frontend/src/pages/Organization.vue +++ b/frontend/src/pages/Organization.vue @@ -255,6 +255,7 @@ import { globalStore } from '@/stores/global' import { usersStore } from '@/stores/users' import { organizationsStore } from '@/stores/organizations.js' import { statusesStore } from '@/stores/statuses' +import { viewsStore } from '@/stores/views' import { dateFormat, dateTooltipFormat, @@ -274,6 +275,7 @@ const props = defineProps({ const { $dialog } = globalStore() const { organizations, getOrganization } = organizationsStore() const { getLeadStatus, getDealStatus } = statusesStore() +const { getDefaultView } = viewsStore() const showOrganizationModal = ref(false) const detailMode = ref(false) @@ -282,7 +284,12 @@ const router = useRouter() const organization = computed(() => getOrganization(props.organizationId)) const breadcrumbs = computed(() => { - let items = [{ label: 'Organizations', route: { name: 'Organizations' } }] + let defaultView = getDefaultView() + let route = { name: 'Organizations' } + if (defaultView?.route_name == 'Organizations' && defaultView?.is_view) { + route = { name: 'Organizations', query: { view: defaultView.name } } + } + let items = [{ label: 'Organizations', route: route }] items.push({ label: props.organizationId, route: {