fix: ignore on_trash, delete comment on dt
This commit is contained in:
parent
5facf0fd1c
commit
d28fb7ff5e
2 changed files with 15 additions and 10 deletions
|
|
@ -121,6 +121,7 @@ def remove_from_installed_apps(app_name):
|
|||
def remove_app(app_name, dry_run=False, yes=False, no_backup=False, force=False):
|
||||
"""Remove app and all linked to the app's module with the app from a site."""
|
||||
import click
|
||||
|
||||
site = frappe.local.site
|
||||
|
||||
# dont allow uninstall app if not installed unless forced
|
||||
|
|
@ -158,7 +159,7 @@ def remove_app(app_name, dry_run=False, yes=False, no_backup=False, force=False)
|
|||
print(f"* removing DocType '{doctype.name}'...")
|
||||
|
||||
if not dry_run:
|
||||
frappe.delete_doc("DocType", doctype.name)
|
||||
frappe.delete_doc("DocType", doctype.name, ignore_on_trash=True)
|
||||
|
||||
if not doctype.issingle:
|
||||
drop_doctypes.append(doctype.name)
|
||||
|
|
@ -179,14 +180,11 @@ def remove_app(app_name, dry_run=False, yes=False, no_backup=False, force=False)
|
|||
for record in frappe.get_all(doctype, filters={"module": module_name}, pluck="name"):
|
||||
print(f"* removing {doctype} '{record}'...")
|
||||
if not dry_run:
|
||||
frappe.delete_doc(doctype, record)
|
||||
frappe.delete_doc(doctype, record, ignore_on_trash=True)
|
||||
|
||||
print(f"* removing Module Def '{module_name}'...")
|
||||
if not dry_run:
|
||||
frappe.delete_doc("Module Def", module_name)
|
||||
|
||||
if not dry_run:
|
||||
remove_from_installed_apps(app_name)
|
||||
frappe.delete_doc("Module Def", module_name, ignore_on_trash=True)
|
||||
|
||||
for doctype in set(drop_doctypes):
|
||||
print(f"* dropping Table for '{doctype}'...")
|
||||
|
|
@ -194,6 +192,7 @@ def remove_app(app_name, dry_run=False, yes=False, no_backup=False, force=False)
|
|||
frappe.db.sql_ddl(f"drop table `tab{doctype}`")
|
||||
|
||||
if not dry_run:
|
||||
remove_from_installed_apps(app_name)
|
||||
frappe.db.commit()
|
||||
|
||||
click.secho(f"Uninstalled App {app_name} from Site {site}", fg="green")
|
||||
|
|
|
|||
|
|
@ -335,19 +335,25 @@ def clear_timeline_references(link_doctype, link_name):
|
|||
WHERE `tabCommunication Link`.link_doctype=%s AND `tabCommunication Link`.link_name=%s""", (link_doctype, link_name))
|
||||
|
||||
def insert_feed(doc):
|
||||
from frappe.utils import get_fullname
|
||||
|
||||
if frappe.flags.in_install or frappe.flags.in_import or getattr(doc, "no_feed_on_delete", False):
|
||||
if (
|
||||
frappe.flags.in_install
|
||||
or frappe.flags.in_uninstall
|
||||
or frappe.flags.in_import
|
||||
or getattr(doc, "no_feed_on_delete", False)
|
||||
):
|
||||
return
|
||||
|
||||
from frappe.utils import get_fullname
|
||||
|
||||
frappe.get_doc({
|
||||
"doctype": "Comment",
|
||||
"comment_type": "Deleted",
|
||||
"reference_doctype": doc.doctype,
|
||||
"subject": "{0} {1}".format(_(doc.doctype), doc.name),
|
||||
"full_name": get_fullname(doc.owner)
|
||||
"full_name": get_fullname(doc.owner),
|
||||
}).insert(ignore_permissions=True)
|
||||
|
||||
|
||||
def delete_controllers(doctype, module):
|
||||
"""
|
||||
Delete controller code in the doctype folder
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue