diff --git a/crm/api/doc.py b/crm/api/doc.py
index e3c8acc4..61755d5a 100644
--- a/crm/api/doc.py
+++ b/crm/api/doc.py
@@ -341,3 +341,28 @@ def get_assigned_users(doctype, name):
)
return list(set(assigned_users))
+
+
+@frappe.whitelist()
+def get_fields(doctype: str):
+ not_allowed_fieldtypes = list(frappe.model.no_value_fields) + ["Read Only"]
+ fields = frappe.get_meta(doctype).fields
+
+ _fields = []
+
+ for field in fields:
+ if (
+ field.fieldtype not in not_allowed_fieldtypes
+ and not field.hidden
+ and not field.read_only
+ and not field.is_virtual
+ and field.fieldname
+ ):
+ _fields.append({
+ "label": field.label,
+ "type": field.fieldtype,
+ "value": field.fieldname,
+ "options": field.options,
+ })
+
+ return _fields
\ No newline at end of file
diff --git a/frontend/src/components/ListViews/ContactsListView.vue b/frontend/src/components/ListViews/ContactsListView.vue
index 8e1c0d4e..fe234620 100644
--- a/frontend/src/components/ListViews/ContactsListView.vue
+++ b/frontend/src/components/ListViews/ContactsListView.vue
@@ -62,7 +62,15 @@
-
+
+
+
+
+
+
diff --git a/frontend/src/components/ListViews/DealsListView.vue b/frontend/src/components/ListViews/DealsListView.vue
index 9d997421..076456ae 100644
--- a/frontend/src/components/ListViews/DealsListView.vue
+++ b/frontend/src/components/ListViews/DealsListView.vue
@@ -85,7 +85,15 @@
-
+
+
+
+
+
+
diff --git a/frontend/src/components/ListViews/EmailTemplatesListView.vue b/frontend/src/components/ListViews/EmailTemplatesListView.vue
index 72828956..1b9b8126 100644
--- a/frontend/src/components/ListViews/EmailTemplatesListView.vue
+++ b/frontend/src/components/ListViews/EmailTemplatesListView.vue
@@ -48,12 +48,23 @@
-
+
+
+
+
@@ -66,8 +77,17 @@
}"
@loadMore="emit('loadMore')"
/>
+
diff --git a/frontend/src/components/ListViews/LeadsListView.vue b/frontend/src/components/ListViews/LeadsListView.vue
index a37d762a..57145746 100644
--- a/frontend/src/components/ListViews/LeadsListView.vue
+++ b/frontend/src/components/ListViews/LeadsListView.vue
@@ -94,7 +94,15 @@
-
+
+
+
+
+
+
diff --git a/frontend/src/components/ListViews/OrganizationsListView.vue b/frontend/src/components/ListViews/OrganizationsListView.vue
index c077e6b8..9dae1671 100644
--- a/frontend/src/components/ListViews/OrganizationsListView.vue
+++ b/frontend/src/components/ListViews/OrganizationsListView.vue
@@ -49,7 +49,15 @@
-
+
+
+
+
+
+
diff --git a/frontend/src/components/ListViews/TasksListView.vue b/frontend/src/components/ListViews/TasksListView.vue
index 42217336..52b61ed9 100644
--- a/frontend/src/components/ListViews/TasksListView.vue
+++ b/frontend/src/components/ListViews/TasksListView.vue
@@ -65,12 +65,23 @@
-
+
+
+
+
@@ -83,11 +94,20 @@
}"
@loadMore="emit('loadMore')"
/>
+
diff --git a/frontend/src/components/Modals/EditValueModal.vue b/frontend/src/components/Modals/EditValueModal.vue
new file mode 100644
index 00000000..f738c479
--- /dev/null
+++ b/frontend/src/components/Modals/EditValueModal.vue
@@ -0,0 +1,165 @@
+
+
+
+
+
diff --git a/frontend/src/pages/CallLogs.vue b/frontend/src/pages/CallLogs.vue
index 423ad240..7a2923d3 100644
--- a/frontend/src/pages/CallLogs.vue
+++ b/frontend/src/pages/CallLogs.vue
@@ -21,6 +21,7 @@
}"
@loadMore="() => loadMore++"
@updatePageCount="(count) => (updatedPageCount = count)"
+ @reload="callLogs.reload()"
/>
loadMore++"
@updatePageCount="(count) => (updatedPageCount = count)"
+ @reload="contacts.reload()"
/>
loadMore++"
@updatePageCount="(count) => (updatedPageCount = count)"
+ @reload="deals.reload()"
/>
loadMore++"
@updatePageCount="(count) => (updatedPageCount = count)"
@showEmailTemplate="showEmailTemplate"
- @reload="() => emailTemplates.reload()"
+ @reload="emailTemplates.reload()"
/>
loadMore++"
@updatePageCount="(count) => (updatedPageCount = count)"
+ @reload="leads.reload()"
/>
loadMore++"
@updatePageCount="(count) => (updatedPageCount = count)"
+ @reload="organizations.reload()"
/>
loadMore++"
@updatePageCount="(count) => (updatedPageCount = count)"
@showTask="showTask"
- @reload="() => tasks.reload()"
+ @reload="tasks.reload()"
/>
{
const showTaskModal = ref(false)
const task = ref({
+ name: '',
title: '',
description: '',
assigned_to: '',
@@ -99,6 +100,7 @@ const task = ref({
function showTask(name) {
let t = rows.value?.find((row) => row.name === name)
task.value = {
+ name: t.name,
title: t.title,
description: t.description,
assigned_to: t.assigned_to?.email || '',
@@ -113,6 +115,7 @@ function showTask(name) {
function createTask() {
task.value = {
+ name: '',
title: '',
description: '',
assigned_to: '',