From bb0f8b3e054df4d82579de0c5780bc4e85d2aff8 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Mon, 27 Jun 2016 19:02:10 +0530 Subject: [PATCH] [fix] use condition field in re_route Fixes frappe/erpnext#5560 --- frappe/patches/v7_0/re_route.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/frappe/patches/v7_0/re_route.py b/frappe/patches/v7_0/re_route.py index 6b3cfdc21d..7e2bf2fcca 100644 --- a/frappe/patches/v7_0/re_route.py +++ b/frappe/patches/v7_0/re_route.py @@ -1,4 +1,5 @@ import frappe +from frappe.model.base_document import get_controller def execute(): update_routes(['Blog Post', 'Blog Category', 'Web Page']) @@ -7,8 +8,15 @@ def update_routes(doctypes): """Patch old routing system""" for d in doctypes: frappe.reload_doctype(d) + c = get_controller(d) + + condition = '' + if c.website.condition_field: + condition = 'where {0}=1'.format(c.website.condition_field) + try: frappe.db.sql("""update `tab{0}` set route = concat(ifnull(parent_website_route, ""), - if(ifnull(parent_website_route, "")="", "", "/"), page_name)""".format(d)) + if(ifnull(parent_website_route, "")="", "", "/"), page_name) {1}""".format(d, condition)) + except Exception, e: if e.args[0]!=1054: raise e