From c6ada95b9d4f15e61e1ab1a3fa8a28e7ec7cf950 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Mon, 3 Jun 2024 20:28:25 +0530 Subject: [PATCH] feat: edit and delete sidebar item --- lms/lms/api.py | 36 +++++++++++++++++++++++++++++++++- lms/public/frontend/index.html | 8 ++++---- 2 files changed, 39 insertions(+), 5 deletions(-) diff --git a/lms/lms/api.py b/lms/lms/api.py index aee4e62f..0bf4789e 100644 --- a/lms/lms/api.py +++ b/lms/lms/api.py @@ -438,8 +438,42 @@ def get_sidebar_settings(): web_pages = frappe.get_all( "LMS Sidebar Item", {"parenttype": "LMS Settings", "parentfield": "sidebar_items"}, - ["web_page", "route", "title", "icon"], + ["web_page", "route", "title as label", "icon"], ) + for page in web_pages: + page.to = page.route + sidebar_items.web_pages = web_pages return sidebar_items + + +@frappe.whitelist() +def update_sidebar_item(webpage, icon): + filters = { + "web_page": webpage, + "parenttype": "LMS Settings", + "parentfield": "sidebar_items", + "parent": "LMS Settings", + } + + if frappe.db.exists("LMS Sidebar Item", filters): + frappe.db.set_value("LMS Sidebar Item", filters, "icon", icon) + else: + doc = frappe.new_doc("LMS Sidebar Item") + doc.update(filters) + doc.icon = icon + doc.insert() + + +@frappe.whitelist() +def delete_sidebar_item(webpage): + return frappe.db.delete( + "LMS Sidebar Item", + { + "web_page": webpage, + "parenttype": "LMS Settings", + "parentfield": "sidebar_items", + "parent": "LMS Settings", + }, + ) diff --git a/lms/public/frontend/index.html b/lms/public/frontend/index.html index c9610df4..1385335c 100644 --- a/lms/public/frontend/index.html +++ b/lms/public/frontend/index.html @@ -15,10 +15,10 @@ - - - - + + + +