fix: list view setting patch failures
- make idempotent - ignore ordering (fails as it tries to query order which might not exist
This commit is contained in:
parent
90c4543065
commit
b889bb5b5a
1 changed files with 22 additions and 17 deletions
|
|
@ -5,22 +5,27 @@ import frappe
|
|||
|
||||
|
||||
def execute():
|
||||
if frappe.db.table_exists("List View Setting"):
|
||||
if not frappe.db.table_exists("List View Settings"):
|
||||
frappe.reload_doc("desk", "doctype", "List View Settings")
|
||||
if not frappe.db.table_exists("List View Setting"):
|
||||
return
|
||||
if not frappe.db.exists("DocType", "List View Setting"):
|
||||
return
|
||||
|
||||
existing_list_view_settings = frappe.get_all("List View Settings", as_list=True)
|
||||
for list_view_setting in frappe.get_all(
|
||||
"List View Setting",
|
||||
fields=["disable_count", "disable_sidebar_stats", "disable_auto_refresh", "name"],
|
||||
):
|
||||
name = list_view_setting.pop("name")
|
||||
if name not in [x[0] for x in existing_list_view_settings]:
|
||||
list_view_setting["doctype"] = "List View Settings"
|
||||
list_view_settings = frappe.get_doc(list_view_setting)
|
||||
# setting name here is necessary because autoname is set as prompt
|
||||
list_view_settings.name = name
|
||||
list_view_settings.insert()
|
||||
frappe.reload_doc("desk", "doctype", "List View Settings")
|
||||
|
||||
frappe.delete_doc("DocType", "List View Setting", force=True)
|
||||
frappe.db.commit()
|
||||
existing_list_view_settings = frappe.get_all(
|
||||
"List View Settings", as_list=True, order_by="modified"
|
||||
)
|
||||
for list_view_setting in frappe.get_all(
|
||||
"List View Setting",
|
||||
fields=["disable_count", "disable_sidebar_stats", "disable_auto_refresh", "name"],
|
||||
order_by="modified",
|
||||
):
|
||||
name = list_view_setting.pop("name")
|
||||
if name not in [x[0] for x in existing_list_view_settings]:
|
||||
list_view_setting["doctype"] = "List View Settings"
|
||||
list_view_settings = frappe.get_doc(list_view_setting)
|
||||
# setting name here is necessary because autoname is set as prompt
|
||||
list_view_settings.name = name
|
||||
list_view_settings.insert()
|
||||
|
||||
frappe.delete_doc("DocType", "List View Setting", force=True)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue