From a760a2fa6a667fe1adece813c69470e62b99a66f Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Mon, 1 Jan 2024 17:53:47 +0530 Subject: [PATCH] feat: added ability to pin unpin a view --- .../crm_view_settings/crm_view_settings.json | 9 ++++++- .../crm_view_settings/crm_view_settings.py | 6 +++++ .../src/components/Icons/DuplicateIcon.vue | 16 ++++++++++++ frontend/src/components/Icons/PinIcon.vue | 16 ++++++++++++ frontend/src/components/Icons/UnpinIcon.vue | 25 ++++++++++++++++++ frontend/src/components/ViewControls.vue | 26 ++++++++++++++++--- 6 files changed, 94 insertions(+), 4 deletions(-) create mode 100644 frontend/src/components/Icons/DuplicateIcon.vue create mode 100644 frontend/src/components/Icons/PinIcon.vue create mode 100644 frontend/src/components/Icons/UnpinIcon.vue diff --git a/crm/fcrm/doctype/crm_view_settings/crm_view_settings.json b/crm/fcrm/doctype/crm_view_settings/crm_view_settings.json index 8b7ae5f0..4e20bf65 100644 --- a/crm/fcrm/doctype/crm_view_settings/crm_view_settings.json +++ b/crm/fcrm/doctype/crm_view_settings/crm_view_settings.json @@ -9,6 +9,7 @@ "user", "column_break_zacm", "dt", + "pinned", "columns_tab", "default_columns", "columns", @@ -84,11 +85,17 @@ "fieldname": "default_columns", "fieldtype": "Check", "label": "Default Columns" + }, + { + "default": "0", + "fieldname": "pinned", + "fieldtype": "Check", + "label": "Pinned" } ], "index_web_pages_for_search": 1, "links": [], - "modified": "2023-12-30 19:28:02.541487", + "modified": "2024-01-01 17:42:37.789865", "modified_by": "Administrator", "module": "FCRM", "name": "CRM View Settings", diff --git a/crm/fcrm/doctype/crm_view_settings/crm_view_settings.py b/crm/fcrm/doctype/crm_view_settings/crm_view_settings.py index dbb218f6..3fa417b7 100644 --- a/crm/fcrm/doctype/crm_view_settings/crm_view_settings.py +++ b/crm/fcrm/doctype/crm_view_settings/crm_view_settings.py @@ -72,6 +72,12 @@ def delete(name): if frappe.db.exists("CRM View Settings", name): frappe.delete_doc("CRM View Settings", name) +@frappe.whitelist() +def pin(name, value): + doc = frappe.get_doc("CRM View Settings", name) + doc.pinned = value + doc.save() + def remove_duplicates(l): return list(dict.fromkeys(l)) diff --git a/frontend/src/components/Icons/DuplicateIcon.vue b/frontend/src/components/Icons/DuplicateIcon.vue new file mode 100644 index 00000000..54ba0875 --- /dev/null +++ b/frontend/src/components/Icons/DuplicateIcon.vue @@ -0,0 +1,16 @@ + diff --git a/frontend/src/components/Icons/PinIcon.vue b/frontend/src/components/Icons/PinIcon.vue new file mode 100644 index 00000000..c1ade0a3 --- /dev/null +++ b/frontend/src/components/Icons/PinIcon.vue @@ -0,0 +1,16 @@ + diff --git a/frontend/src/components/Icons/UnpinIcon.vue b/frontend/src/components/Icons/UnpinIcon.vue new file mode 100644 index 00000000..31ac4721 --- /dev/null +++ b/frontend/src/components/Icons/UnpinIcon.vue @@ -0,0 +1,25 @@ + diff --git a/frontend/src/components/ViewControls.vue b/frontend/src/components/ViewControls.vue index 6f25d2b7..b7ed3585 100644 --- a/frontend/src/components/ViewControls.vue +++ b/frontend/src/components/ViewControls.vue @@ -63,6 +63,9 @@ />