fix: patches were breaking during migration (#27200)

* fix: patches were breaking during migrating

* fix: patches were breaking during migration
This commit is contained in:
Shadrak Gurupnor 2021-08-27 18:00:16 +05:30 committed by GitHub
parent 5f3ec8230f
commit 7433757489
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 44 additions and 15 deletions

View File

@ -1086,3 +1086,14 @@ def get_journal_entry(account, stock_adjustment_account, amount):
db_or_cr_stock_adjustment_account : abs(amount)
}]
}
def check_and_delete_linked_reports(report):
""" Check if reports are referenced in Desktop Icon """
icons = frappe.get_all("Desktop Icon",
fields = ['name'],
filters = {
"_report": report
})
if icons:
for icon in icons:
frappe.delete_doc("Desktop Icon", icon)

View File

@ -299,4 +299,5 @@ erpnext.patches.v13_0.migrate_stripe_api
erpnext.patches.v13_0.reset_clearance_date_for_intracompany_payment_entries
erpnext.patches.v13_0.einvoicing_deprecation_warning
erpnext.patches.v14_0.delete_einvoicing_doctypes
erpnext.patches.v13_0.set_operation_time_based_on_operating_cost
erpnext.patches.v13_0.set_operation_time_based_on_operating_cost
erpnext.patches.v13_0.validate_options_for_data_field

View File

@ -91,8 +91,9 @@ def get_item_tax_template(item_tax_templates, item_tax_map, item_code, parenttyp
item_tax_template.title = make_autoname("Item Tax Template-.####")
for tax_type, tax_rate in iteritems(item_tax_map):
account_details = frappe.db.get_value("Account", tax_type, ['name', 'account_type'], as_dict=1)
account_details = frappe.db.get_value("Account", tax_type, ['name', 'account_type', 'company'], as_dict=1)
if account_details:
item_tax_template.company = account_details.company
if account_details.account_type not in ('Tax', 'Chargeable', 'Income Account', 'Expense Account', 'Expenses Included In Valuation'):
frappe.db.set_value('Account', account_details.name, 'account_type', 'Chargeable')
else:

View File

@ -4,6 +4,7 @@
from __future__ import unicode_literals
import frappe
from erpnext.accounts.utils import check_and_delete_linked_reports
def execute():
reports_to_delete = ["Requested Items To Be Ordered",
@ -13,7 +14,7 @@ def execute():
for report in reports_to_delete:
if frappe.db.exists("Report", report):
delete_auto_email_reports(report)
check_linked_reports(report)
check_and_delete_linked_reports(report)
frappe.delete_doc("Report", report)
@ -22,13 +23,3 @@ def delete_auto_email_reports(report):
auto_email_reports = frappe.db.get_values("Auto Email Report", {"report": report}, ["name"])
for auto_email_report in auto_email_reports:
frappe.delete_doc("Auto Email Report", auto_email_report[0])
def check_linked_reports(report):
""" Check if reports are referenced in Desktop Icon """
icons = frappe.get_all("Desktop Icon",
fields = ['name'],
filters = {
"_report": report
})
if icons:
frappe.delete_doc("Desktop Icon", icons)

View File

@ -4,7 +4,7 @@
from __future__ import unicode_literals
import frappe
from erpnext.patches.v13_0.delete_old_purchase_reports import check_linked_reports
from erpnext.accounts.utils import check_and_delete_linked_reports
def execute():
reports_to_delete = ["Ordered Items To Be Delivered", "Ordered Items To Be Billed"]
@ -12,7 +12,7 @@ def execute():
for report in reports_to_delete:
if frappe.db.exists("Report", report):
delete_auto_email_reports(report)
check_linked_reports(report)
check_and_delete_linked_reports(report)
frappe.delete_doc("Report", report)

View File

@ -0,0 +1,25 @@
# Copyright (c) 2021, Frappe and Contributors
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
import frappe
from frappe.model import data_field_options
def execute():
for field in frappe.get_all('Custom Field',
fields = ['name'],
filters = {
'fieldtype': 'Data',
'options': ['!=', None]
}):
if field not in data_field_options:
frappe.db.sql("""
UPDATE
`tabCustom Field`
SET
options=NULL
WHERE
name=%s
""", (field))