diff --git a/frontend/src/components/Layouts/AppSidebar.vue b/frontend/src/components/Layouts/AppSidebar.vue
index 94059457..d237f1b9 100644
--- a/frontend/src/components/Layouts/AppSidebar.vue
+++ b/frontend/src/components/Layouts/AppSidebar.vue
@@ -77,12 +77,6 @@
-
openDocs()"
- />
diff --git a/frontend/src/components/Modals/DealModal.vue b/frontend/src/components/Modals/DealModal.vue
index d82a4b95..9d964d87 100644
--- a/frontend/src/components/Modals/DealModal.vue
+++ b/frontend/src/components/Modals/DealModal.vue
@@ -207,7 +207,7 @@ const sections = computed(() => {
label: 'Status',
name: 'status',
type: 'select',
- options: statusOptions('deal'),
+ options: dealStatuses.value,
prefix: getDealStatus(deal.status).iconColorClass,
},
{
@@ -222,6 +222,14 @@ const sections = computed(() => {
return fields
})
+const dealStatuses = computed(() => {
+ let statuses = statusOptions('deal')
+ if (!deal.status) {
+ deal.status = statuses[0].value
+ }
+ return statuses
+})
+
function createDeal() {
createResource({
url: 'crm.fcrm.doctype.crm_deal.crm_deal.create_deal',
diff --git a/frontend/src/components/Modals/LeadModal.vue b/frontend/src/components/Modals/LeadModal.vue
index 25d21224..ed92a0ef 100644
--- a/frontend/src/components/Modals/LeadModal.vue
+++ b/frontend/src/components/Modals/LeadModal.vue
@@ -12,7 +12,12 @@
-
+
@@ -158,7 +163,7 @@ const sections = computed(() => {
label: 'Status',
name: 'status',
type: 'select',
- options: statusOptions('lead'),
+ options: leadStatuses.value,
prefix: getLeadStatus(lead.status).iconColorClass,
},
{
@@ -185,6 +190,14 @@ const createLead = createResource({
},
})
+const leadStatuses = computed(() => {
+ let statuses = statusOptions('lead')
+ if (!lead.status) {
+ lead.status = statuses[0].value
+ }
+ return statuses
+})
+
function createNewLead() {
createLead.submit(lead, {
validate() {
diff --git a/frontend/src/components/UserDropdown.vue b/frontend/src/components/UserDropdown.vue
index b58f7f85..d07130d6 100644
--- a/frontend/src/components/UserDropdown.vue
+++ b/frontend/src/components/UserDropdown.vue
@@ -67,14 +67,36 @@ const user = computed(() => getUser() || {})
let dropdownOptions = ref([
{
- icon: 'corner-up-left',
- label: computed(() => __('Switch to Desk')),
- onClick: () => window.location.replace('/app'),
+ group: 'Manage',
+ hideLabel: true,
+ items: [
+ {
+ icon: 'corner-up-left',
+ label: computed(() => __('Switch to Desk')),
+ onClick: () => window.location.replace('/app'),
+ },
+ {
+ icon: 'life-buoy',
+ label: computed(() => __('Support')),
+ onClick: () => window.open('https://t.me/frappecrm', '_blank'),
+ },
+ {
+ icon: 'book-open',
+ label: computed(() => __('Docs')),
+ onClick: () => window.open('https://docs.frappe.io/crm', '_blank'),
+ },
+ ],
},
{
- icon: 'log-out',
- label: computed(() => __('Log out')),
- onClick: () => logout.submit(),
+ group: 'Logout',
+ hideLabel: true,
+ items: [
+ {
+ icon: 'log-out',
+ label: computed(() => __('Log out')),
+ onClick: () => logout.submit(),
+ },
+ ],
},
])
diff --git a/frontend/src/stores/statuses.js b/frontend/src/stores/statuses.js
index 8b306ec0..402c0d67 100644
--- a/frontend/src/stores/statuses.js
+++ b/frontend/src/stores/statuses.js
@@ -97,6 +97,7 @@ export const statusesStore = defineStore('crm-statuses', () => {
for (const status in statusesByName) {
options.push({
label: statusesByName[status].name,
+ value: statusesByName[status].name,
icon: () =>
h(IndicatorIcon, {
class: statusesByName[status].iconColorClass,