|
|
@ -33,33 +33,36 @@ class Publish(Document): |
|
|
|
str(km_mapping.name) + '\n' |
|
|
|
|
|
|
|
def onload(self): |
|
|
|
current_db_name = frappe.conf.get("db_name") |
|
|
|
# To validate updated procedure status |
|
|
|
procedure_status = frappe.db.sql("""select p.name,p.update_procedure_status,pro.name,p.variant_mapping,p.system,p.sub_system,p.asset_category,p.item_category,p.variant,p.procedure_link,p.procedure_status,pro.name,pro.workflow_state |
|
|
|
from {0}.`tabPublish_Docs` as p,{0}.`tabProcedure` as pro |
|
|
|
where p.parent = '{1}' and p.procedure_link = pro.name and p.procedure_link is not null""".format(current_db_name, self.name), as_dict=True) |
|
|
|
l = len(procedure_status) |
|
|
|
if procedure_status and self.publish_status == "Published": |
|
|
|
for x in procedure_status: |
|
|
|
for y in self.get("publish_documents"): |
|
|
|
if y.procedure_link: |
|
|
|
if x.procedure_link == y.procedure_link and y.update_procedure_status != y.procedure_status: |
|
|
|
y.update_procedure_status = x.workflow_state |
|
|
|
frappe.db.sql("""update `tabPublish_Docs` set update_procedure_status = %s where parent = %s and procedure_link = %s ; """, ( |
|
|
|
x.workflow_state, self.name, x.procedure_link)) |
|
|
|
frappe.db.commit() |
|
|
|
if x.procedure_link == y.procedure_link and x.workflow_state != y.procedure_status: |
|
|
|
y.update_procedure_status = x.workflow_state |
|
|
|
frappe.db.sql("""update `tabPublish_Docs` set update_procedure_status = %s where parent = %s and procedure_link = %s""", ( |
|
|
|
x.workflow_state, self.name, x.procedure_link)) |
|
|
|
frappe.db.commit() |
|
|
|
if y.procedure_status == "Publish Ready": |
|
|
|
if x.procedure_link == y.procedure_link and x.workflow_state != y.procedure_status and not y.excluded_global: |
|
|
|
y.excluded_global = "1" |
|
|
|
if x.procedure_link == y.procedure_link and x.workflow_state != y.procedure_status and x.workflow_state == "Draft" and y.procedure_status != "Publish Ready": |
|
|
|
y.excluded_internal = "1" |
|
|
|
y.save() |
|
|
|
frappe.db.commit() |
|
|
|
if self.child_table_updated = 1: |
|
|
|
current_db_name = frappe.conf.get("db_name") |
|
|
|
# To validate updated procedure status |
|
|
|
procedure_status = frappe.db.sql("""select p.name,p.update_procedure_status,pro.name,p.variant_mapping,p.system,p.sub_system,p.asset_category,p.item_category,p.variant,p.procedure_link,p.procedure_status,pro.name,pro.workflow_state |
|
|
|
from {0}.`tabPublish_Docs` as p,{0}.`tabProcedure` as pro |
|
|
|
where p.parent = '{1}' and p.procedure_link = pro.name and p.procedure_link is not null""".format(current_db_name, self.name), as_dict=True) |
|
|
|
l = len(procedure_status) |
|
|
|
|
|
|
|
if procedure_status and self.publish_status == "Published": |
|
|
|
for x in procedure_status: |
|
|
|
for y in self.get("publish_documents"): |
|
|
|
if y.procedure_link: |
|
|
|
if x.procedure_link == y.procedure_link and y.update_procedure_status != y.procedure_status: |
|
|
|
y.update_procedure_status = x.workflow_state |
|
|
|
frappe.db.sql("""update `tabPublish_Docs` set update_procedure_status = %s where parent = %s and procedure_link = %s ; """, ( |
|
|
|
x.workflow_state, self.name, x.procedure_link)) |
|
|
|
frappe.db.commit() |
|
|
|
if x.procedure_link == y.procedure_link and x.workflow_state != y.procedure_status: |
|
|
|
y.update_procedure_status = x.workflow_state |
|
|
|
frappe.db.sql("""update `tabPublish_Docs` set update_procedure_status = %s where parent = %s and procedure_link = %s""", ( |
|
|
|
x.workflow_state, self.name, x.procedure_link)) |
|
|
|
frappe.db.commit() |
|
|
|
if y.procedure_status == "Publish Ready": |
|
|
|
if x.procedure_link == y.procedure_link and x.workflow_state != y.procedure_status and not y.excluded_global: |
|
|
|
y.excluded_global = "1" |
|
|
|
if x.procedure_link == y.procedure_link and x.workflow_state != y.procedure_status and x.workflow_state == "Draft" and y.procedure_status != "Publish Ready": |
|
|
|
y.excluded_internal = "1" |
|
|
|
self.child_table_updated = '0' |
|
|
|
y.save() |
|
|
|
frappe.db.commit() |
|
|
|
|
|
|
|
# Update system and variant mapping ststus |
|
|
|
if self.publish_status == "Published" and self.publish_type == "Global": |
|
|
|