refactor: using frappe orm

This commit is contained in:
Aradhya-Tripathi 2021-07-21 19:19:06 +05:30
parent a256219dd2
commit eb7e95ae26
6 changed files with 78 additions and 28 deletions

View file

@ -85,11 +85,15 @@ class CustomField(Document):
frappe.bold(self.label)))
# delete property setter entries
frappe.db.sql("""\
DELETE FROM `tabProperty Setter`
WHERE doc_type = %s
AND field_name = %s""",
(self.dt, self.fieldname))
frappe.db.delete("Property Setter", {
"doc_type": self.dt,
"field_name": self.fieldname
})
# frappe.db.sql("""\
# DELETE FROM `tabProperty Setter`
# WHERE doc_type = %s
# AND field_name = %s""",
# (self.dt, self.fieldname))
frappe.clear_cache(doctype=self.dt)

View file

@ -20,8 +20,12 @@ from frappe.core.doctype.doctype.doctype import validate_series
class CustomizeForm(Document):
def on_update(self):
frappe.db.sql("delete from tabSingles where doctype='Customize Form'")
frappe.db.sql("delete from `tabCustomize Form Field`")
frappe.db.delete("Singles", {
"doctype": "Customize Form"
})
frappe.db.delete("Customize Form Field")
# frappe.db.sql("delete from tabSingles where doctype='Customize Form'")
# frappe.db.sql("delete from `tabCustomize Form Field`")
@frappe.whitelist()
def fetch_to_customize(self):

View file

@ -151,21 +151,29 @@ def delete_fields(args_dict, delete=0):
fields = args_dict[dt]
if not fields:
continue
frappe.db.sql("""
DELETE FROM `tabDocField`
WHERE parent='%s' AND fieldname IN (%s)
""" % (dt, ", ".join(["'{}'".format(f) for f in fields])))
frappe.db.delete("DocField", {
"parent": dt,
"fieldname": ("in", ", ".join(["'{}'".format(f) for f in fields]))
})
# frappe.db.sql("""
# DELETE FROM `tabDocField`
# WHERE parent='%s' AND fieldname IN (%s)
# """ % (dt, ", ".join(["'{}'".format(f) for f in fields])))
# Delete the data/column only if delete is specified
if not delete:
continue
if frappe.db.get_value("DocType", dt, "issingle"):
frappe.db.sql("""
DELETE FROM `tabSingles`
WHERE doctype='%s' AND field IN (%s)
""" % (dt, ", ".join("'{}'".format(f) for f in fields)))
frappe.db.delete("Singles", {
"doctype": dt,
"field": ("in", ", ".join("'{}'".format(f) for f in fields))
})
# frappe.db.sql("""
# DELETE FROM `tabSingles`
# WHERE doctype='%s' AND field IN (%s)
# """ % (dt, ", ".join("'{}'".format(f) for f in fields)))
else:
existing_fields = frappe.db.multisql({
"mariadb": "DESC `tab%s`" % dt,

View file

@ -65,12 +65,36 @@ def delete_doc(doctype=None, name=None, force=0, ignore_doctypes=None, for_reloa
update_flags(doc, flags, ignore_permissions)
check_permission_and_not_submitted(doc)
frappe.db.sql("delete from `tabCustom Field` where dt = %s", name)
frappe.db.sql("delete from `tabClient Script` where dt = %s", name)
frappe.db.sql("delete from `tabProperty Setter` where doc_type = %s", name)
frappe.db.sql("delete from `tabReport` where ref_doctype=%s", name)
frappe.db.sql("delete from `tabCustom DocPerm` where parent=%s", name)
frappe.db.sql("delete from `__global_search` where doctype=%s", name)
frappe.db.delete("Custom Field", {
"dt": name
})
frappe.db.delete("Client Script", {
"dt": name
})
frappe.db.delete("Property Setter", {
"doc_type": name
})
frappe.db.delete("Report", {
"ref_doctype": name
})
frappe.db.delete("Custom DocPerm", {
"parent": name
})
frappe.db.delete("__global_search", {
"doctype": name
})
# frappe.db.sql("delete from `tabCustom Field` where dt = %s", name)
# frappe.db.sql("delete from `tabClient Script` where dt = %s", name)
# frappe.db.sql("delete from `tabProperty Setter` where doc_type = %s", name)
# frappe.db.sql("delete from `tabReport` where ref_doctype=%s", name)
# frappe.db.sql("delete from `tabCustom DocPerm` where parent=%s", name)
# frappe.db.sql("delete from `__global_search` where doctype=%s", name)
delete_from_table(doctype, name, ignore_doctypes, None)
@ -162,9 +186,15 @@ def update_naming_series(doc):
def delete_from_table(doctype, name, ignore_doctypes, doc):
if doctype!="DocType" and doctype==name:
frappe.db.sql("delete from `tabSingles` where `doctype`=%s", name)
frappe.db.delete("Singles", {
"doctype": name
})
# frappe.db.sql("delete from `tabSingles` where `doctype`=%s", name)
else:
frappe.db.sql("delete from `tab{0}` where `name`=%s".format(doctype), name)
frappe.db.delete(f"{doctype}", {
"name": name
})
# frappe.db.sql("delete from `tab{0}` where `name`=%s".format(doctype), name)
# get child tables
if doc:

View file

@ -6,10 +6,12 @@ import frappe
import frappe.share
from frappe import _, msgprint
from frappe.utils import cint
from frappe.database.database import Database
rights = ("select", "read", "write", "create", "delete", "submit", "cancel", "amend",
"print", "email", "report", "import", "export", "set_user_permissions", "share")
def check_admin_or_system_manager(user=None):
if not user: user = frappe.session.user
@ -516,8 +518,9 @@ def reset_perms(doctype):
"""Reset permissions for given doctype."""
from frappe.desk.notifications import delete_notification_count_for
delete_notification_count_for(doctype)
frappe.db.delete(doctype="Custom DocPerm", conditions={"parent": doctype})
frappe.db.sql("""delete from `tabCustom DocPerm` where parent=%s""", doctype)
# frappe.db.sql("""delete from `tabCustom DocPerm` where parent=%s""", doctype)
def get_linked_doctypes(dt):
return list(set([dt] + [d.options for d in

View file

@ -16,6 +16,7 @@ import frappe.translate
import redis
from urllib.parse import unquote
from frappe.cache_manager import clear_user_cache
from frappe.database.database import Database
@frappe.whitelist(allow_guest=True)
def clear(user=None):
@ -76,7 +77,6 @@ def get_sessions_to_clear(user=None, keep_current=False, device=None):
def delete_session(sid=None, user=None, reason="Session Expired"):
from frappe.core.doctype.activity_log.feed import logout_feed
frappe.cache().hdel("session", sid)
frappe.cache().hdel("last_db_session_update", sid)
if sid and not user:
@ -84,7 +84,8 @@ def delete_session(sid=None, user=None, reason="Session Expired"):
if user_details: user = user_details[0].get("user")
logout_feed(user, reason)
frappe.db.sql("""delete from tabSessions where sid=%s""", sid)
frappe.db.delete(doctype="Sessions", conditions={"sid": sid})
# frappe.db.sql("""delete from tabSessions where sid=%s""", sid)
frappe.db.commit()
def clear_all_sessions(reason=None):