From ef497dfb7b034acb23b7f20ca0d06a1a967e27ad Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Mon, 3 Jun 2024 16:37:47 +0530 Subject: [PATCH] fix: cleanup Wiki Feedback --- wiki/patches.txt | 1 + .../patches/delete_wiki_feedback_item.py | 16 ++ .../doctype/wiki_feedback/wiki_feedback.json | 36 ++++- .../doctype/wiki_feedback/wiki_feedback.py | 34 ++--- .../doctype/wiki_feedback_item/__init__.py | 0 .../wiki_feedback_item.json | 44 ------ .../wiki_feedback_item/wiki_feedback_item.py | 9 -- .../doctype/wiki_settings/wiki_settings.json | 20 ++- wiki/wiki/workspace/wiki/wiki.json | 142 +++++++++--------- 9 files changed, 145 insertions(+), 157 deletions(-) create mode 100644 wiki/wiki/doctype/wiki_feedback/patches/delete_wiki_feedback_item.py delete mode 100644 wiki/wiki/doctype/wiki_feedback_item/__init__.py delete mode 100644 wiki/wiki/doctype/wiki_feedback_item/wiki_feedback_item.json delete mode 100644 wiki/wiki/doctype/wiki_feedback_item/wiki_feedback_item.py diff --git a/wiki/patches.txt b/wiki/patches.txt index 180cd802..1a1a71a7 100644 --- a/wiki/patches.txt +++ b/wiki/patches.txt @@ -2,6 +2,7 @@ wiki.wiki.doctype.wiki_page.patches.set_allow_guest wiki.wiki.doctype.wiki_page.patches.delete_is_new wiki.wiki.doctype.wiki_page_revision.patches.add_usernames +wiki.wiki.doctype.wiki_feedback.patches.delete_wiki_feedback_item [post_model_sync] wiki.wiki.doctype.wiki_space.patches.wiki_sidebar_migration diff --git a/wiki/wiki/doctype/wiki_feedback/patches/delete_wiki_feedback_item.py b/wiki/wiki/doctype/wiki_feedback/patches/delete_wiki_feedback_item.py new file mode 100644 index 00000000..66934448 --- /dev/null +++ b/wiki/wiki/doctype/wiki_feedback/patches/delete_wiki_feedback_item.py @@ -0,0 +1,16 @@ +import frappe + +def execute(): + for d in frappe.db.sql("select * from `tabWiki Feedback Item`"): + frappe.get_doc(dict( + doctype = "Wiki Feedback", + status = "Open", + rating = d.rating, + feedback = d.feedback, + email_id = d.email_id + )).insert() + + frappe.db.sql("update `tabWiki Feedback` set creation = %s, modified = %s" % (d.creation, d.modified)) + + # delete old + frappe.db.sql("delete from `tabWiki Feedback` where name = %s" % d.parent) \ No newline at end of file diff --git a/wiki/wiki/doctype/wiki_feedback/wiki_feedback.json b/wiki/wiki/doctype/wiki_feedback/wiki_feedback.json index e3d14401..9ad8b071 100644 --- a/wiki/wiki/doctype/wiki_feedback/wiki_feedback.json +++ b/wiki/wiki/doctype/wiki_feedback/wiki_feedback.json @@ -6,7 +6,10 @@ "engine": "InnoDB", "field_order": [ "wiki_page", - "response" + "status", + "rating", + "feedback", + "email_id" ], "fields": [ { @@ -18,15 +21,33 @@ "reqd": 1 }, { - "fieldname": "response", - "fieldtype": "Table", - "label": "Response", - "options": "Wiki Feedback Item" + "fieldname": "rating", + "fieldtype": "Rating", + "in_list_view": 1, + "label": "Rating" + }, + { + "fieldname": "feedback", + "fieldtype": "Small Text", + "in_list_view": 1, + "label": "Feedback" + }, + { + "fieldname": "email_id", + "fieldtype": "Data", + "label": "Email Id" + }, + { + "default": "Open", + "fieldname": "status", + "fieldtype": "Select", + "label": "Status", + "options": "Open\nClosed" } ], "index_web_pages_for_search": 1, "links": [], - "modified": "2023-12-06 22:12:33.836133", + "modified": "2024-06-03 16:29:53.387846", "modified_by": "Administrator", "module": "Wiki", "name": "Wiki Feedback", @@ -79,5 +100,6 @@ ], "sort_field": "modified", "sort_order": "DESC", - "states": [] + "states": [], + "title_field": "wiki_page" } \ No newline at end of file diff --git a/wiki/wiki/doctype/wiki_feedback/wiki_feedback.py b/wiki/wiki/doctype/wiki_feedback/wiki_feedback.py index 60b12de8..1bea4bf3 100644 --- a/wiki/wiki/doctype/wiki_feedback/wiki_feedback.py +++ b/wiki/wiki/doctype/wiki_feedback/wiki_feedback.py @@ -13,26 +13,14 @@ class WikiFeedback(Document): @frappe.whitelist(allow_guest=True) def submit_feedback(name, feedback, rating, email=None, feedback_index=None): email = validate_email_address(email) - - if feedback_name := frappe.db.get_value("Wiki Feedback", {"wiki_page": name}): - doc = frappe.get_doc("Wiki Feedback", feedback_name) - if feedback_index: - feedback_index = int(feedback_index) - - doc.response[feedback_index - 1].rating = rating - doc.response[feedback_index - 1].feedback = feedback - doc.response[feedback_index - 1].email_id = email - else: - doc.append("response", {"rating": rating, "feedback": feedback, "email_id": email}) - doc.save() - return feedback_index if feedback_index else len(doc.response) - else: - doc = frappe.get_doc( - { - "doctype": "Wiki Feedback", - "wiki_page": name, - } - ) - doc.append("response", {"rating": rating, "feedback": feedback, "email_id": email}) - doc.insert() - return 1 + doc = frappe.get_doc( + { + "doctype": "Wiki Feedback", + "wiki_page": name, + "rating": rating, + "feedback": feedback, + "email_id": email + } + ) + doc.insert() + return 1 diff --git a/wiki/wiki/doctype/wiki_feedback_item/__init__.py b/wiki/wiki/doctype/wiki_feedback_item/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/wiki/wiki/doctype/wiki_feedback_item/wiki_feedback_item.json b/wiki/wiki/doctype/wiki_feedback_item/wiki_feedback_item.json deleted file mode 100644 index e209874f..00000000 --- a/wiki/wiki/doctype/wiki_feedback_item/wiki_feedback_item.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "actions": [], - "allow_rename": 1, - "creation": "2023-12-05 14:12:56.092065", - "doctype": "DocType", - "editable_grid": 1, - "engine": "InnoDB", - "field_order": [ - "rating", - "feedback", - "email_id" - ], - "fields": [ - { - "fieldname": "rating", - "fieldtype": "Rating", - "in_list_view": 1, - "label": "Rating", - "reqd": 1 - }, - { - "fieldname": "email_id", - "fieldtype": "Data", - "label": "Email ID" - }, - { - "fieldname": "feedback", - "fieldtype": "Long Text", - "label": "Feedback" - } - ], - "index_web_pages_for_search": 1, - "istable": 1, - "links": [], - "modified": "2023-12-06 21:29:23.317015", - "modified_by": "Administrator", - "module": "Wiki", - "name": "Wiki Feedback Item", - "owner": "Administrator", - "permissions": [], - "sort_field": "modified", - "sort_order": "DESC", - "states": [] -} \ No newline at end of file diff --git a/wiki/wiki/doctype/wiki_feedback_item/wiki_feedback_item.py b/wiki/wiki/doctype/wiki_feedback_item/wiki_feedback_item.py deleted file mode 100644 index 4f619bc7..00000000 --- a/wiki/wiki/doctype/wiki_feedback_item/wiki_feedback_item.py +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright (c) 2023, Frappe and contributors -# For license information, please see license.txt - -# import frappe -from frappe.model.document import Document - - -class WikiFeedbackItem(Document): - pass diff --git a/wiki/wiki/doctype/wiki_settings/wiki_settings.json b/wiki/wiki/doctype/wiki_settings/wiki_settings.json index 3b1fd1ab..a0059e17 100644 --- a/wiki/wiki/doctype/wiki_settings/wiki_settings.json +++ b/wiki/wiki/doctype/wiki_settings/wiki_settings.json @@ -15,18 +15,19 @@ "table_of_contents_section", "collapse_sidebar_groups", "enable_table_of_contents", - "feedback_section", - "enable_feedback", - "ask_for_contact_details", - "section_break_mmtu", - "javascript", "navbar_tab", "navbar_column", "navbar", "section_break_skhp", "search_column", "add_search_bar", - "use_redisearch_for_search" + "use_redisearch_for_search", + "feedback_tab", + "feedback_section", + "enable_feedback", + "ask_for_contact_details", + "section_break_mmtu", + "javascript" ], "fields": [ { @@ -150,12 +151,17 @@ "fieldname": "ask_for_contact_details", "fieldtype": "Check", "label": "Ask for contact details" + }, + { + "fieldname": "feedback_tab", + "fieldtype": "Tab Break", + "label": "Feedback" } ], "index_web_pages_for_search": 1, "issingle": 1, "links": [], - "modified": "2023-12-06 16:37:55.392279", + "modified": "2024-06-03 16:19:02.137666", "modified_by": "Administrator", "module": "Wiki", "name": "Wiki Settings", diff --git a/wiki/wiki/workspace/wiki/wiki.json b/wiki/wiki/workspace/wiki/wiki.json index 77b6d812..571f08bb 100644 --- a/wiki/wiki/workspace/wiki/wiki.json +++ b/wiki/wiki/workspace/wiki/wiki.json @@ -1,68 +1,76 @@ { - "charts": [], - "content": "[{\"id\":\"f6laZQUa0x\",\"type\":\"header\",\"data\":{\"text\":\"Wiki\",\"col\":12}},{\"id\":\"ir8Llemis5\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Wiki Pages\",\"col\":4}},{\"id\":\"tZQ_AtqABm\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Wiki Space\",\"col\":3}},{\"id\":\"z4qT3yMggL\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Wiki Settings\",\"col\":4}},{\"id\":\"cTIBC0weUT\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Wiki Page Patches\",\"col\":4}},{\"id\":\"BsC6YwujPn\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Wiki Page Revisions\",\"col\":4}}]", - "creation": "2022-09-25 16:45:20.547072", - "custom_blocks": [], - "docstatus": 0, - "doctype": "Workspace", - "for_user": "", - "hide_custom": 0, - "icon": "education", - "idx": 0, - "is_hidden": 0, - "label": "Wiki", - "links": [], - "modified": "2023-07-23 13:03:07.200464", - "modified_by": "Administrator", - "module": "Wiki", - "name": "Wiki", - "number_cards": [], - "owner": "Administrator", - "parent_page": "", - "public": 1, - "quick_lists": [], - "roles": [], - "sequence_id": 31.0, - "shortcuts": [ - { - "color": "Blue", - "doc_view": "List", - "format": "{} Published", - "label": "Wiki Pages", - "link_to": "Wiki Page", - "stats_filter": "{\"published\":[\"=\",1]}", - "type": "DocType" - }, - { - "color": "Grey", - "doc_view": "List", - "label": "Wiki Space", - "link_to": "Wiki Space", - "type": "DocType" - }, - { - "color": "Yellow", - "doc_view": "List", - "format": "{} Under Review", - "label": "Wiki Page Patches", - "link_to": "Wiki Page Patch", - "stats_filter": "{\"status\":[\"=\",\"Under Review\"]}", - "type": "DocType" - }, - { - "color": "Grey", - "doc_view": "List", - "label": "Wiki Settings", - "link_to": "Wiki Settings", - "type": "DocType" - }, - { - "color": "Grey", - "doc_view": "List", - "label": "Wiki Page Revisions", - "link_to": "Wiki Page Revision", - "type": "DocType" - } - ], - "title": "Wiki" - } \ No newline at end of file + "charts": [], + "content": "[{\"id\":\"f6laZQUa0x\",\"type\":\"header\",\"data\":{\"text\":\"Wiki\",\"col\":12}},{\"id\":\"ir8Llemis5\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Wiki Pages\",\"col\":4}},{\"id\":\"tZQ_AtqABm\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Wiki Space\",\"col\":4}},{\"id\":\"z4qT3yMggL\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Wiki Settings\",\"col\":4}},{\"id\":\"cTIBC0weUT\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Wiki Page Patches\",\"col\":4}},{\"id\":\"IfrRKY62Tc\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Wiki Feedback\",\"col\":4}},{\"id\":\"BsC6YwujPn\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Wiki Page Revisions\",\"col\":4}}]", + "creation": "2022-09-25 16:45:20.547072", + "custom_blocks": [], + "docstatus": 0, + "doctype": "Workspace", + "for_user": "", + "hide_custom": 0, + "icon": "education", + "idx": 0, + "is_hidden": 0, + "label": "Wiki", + "links": [], + "modified": "2024-06-03 16:10:59.630080", + "modified_by": "Administrator", + "module": "Wiki", + "name": "Wiki", + "number_cards": [], + "owner": "Administrator", + "parent_page": "", + "public": 1, + "quick_lists": [], + "roles": [], + "sequence_id": 31.0, + "shortcuts": [ + { + "color": "Blue", + "doc_view": "List", + "format": "{} Published", + "label": "Wiki Pages", + "link_to": "Wiki Page", + "stats_filter": "{\"published\":[\"=\",1]}", + "type": "DocType" + }, + { + "color": "Grey", + "doc_view": "List", + "label": "Wiki Feedback", + "link_to": "Wiki Feedback", + "stats_filter": "[]", + "type": "DocType" + }, + { + "color": "Grey", + "doc_view": "List", + "label": "Wiki Space", + "link_to": "Wiki Space", + "type": "DocType" + }, + { + "color": "Yellow", + "doc_view": "List", + "format": "{} Under Review", + "label": "Wiki Page Patches", + "link_to": "Wiki Page Patch", + "stats_filter": "{\"status\":[\"=\",\"Under Review\"]}", + "type": "DocType" + }, + { + "color": "Grey", + "doc_view": "List", + "label": "Wiki Settings", + "link_to": "Wiki Settings", + "type": "DocType" + }, + { + "color": "Grey", + "doc_view": "List", + "label": "Wiki Page Revisions", + "link_to": "Wiki Page Revision", + "type": "DocType" + } + ], + "title": "Wiki" +} \ No newline at end of file