mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-30 23:18:02 +00:00
Merge branch 'develop' into prateekkaramchandani/develop
This commit is contained in:
@@ -8,7 +8,6 @@ from frappe.permissions import (
|
||||
get_doc_permissions,
|
||||
has_permission,
|
||||
remove_user_permission,
|
||||
set_user_permission_if_allowed,
|
||||
)
|
||||
from frappe.utils import cstr, getdate, today, validate_email_address
|
||||
from frappe.utils.nestedset import NestedSet
|
||||
@@ -96,7 +95,7 @@ class Employee(NestedSet):
|
||||
return
|
||||
|
||||
add_user_permission("Employee", self.name, self.user_id)
|
||||
set_user_permission_if_allowed("Company", self.company, self.user_id)
|
||||
add_user_permission("Company", self.company, self.user_id)
|
||||
|
||||
def update_user(self):
|
||||
# add employee role if missing
|
||||
|
||||
@@ -3,13 +3,17 @@
|
||||
|
||||
|
||||
import frappe
|
||||
from frappe import _
|
||||
from frappe import _, qb
|
||||
from frappe.desk.notifications import clear_notifications
|
||||
from frappe.model.document import Document
|
||||
from frappe.utils import cint
|
||||
from frappe.utils import cint, create_batch
|
||||
|
||||
|
||||
class TransactionDeletionRecord(Document):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(TransactionDeletionRecord, self).__init__(*args, **kwargs)
|
||||
self.batch_size = 5000
|
||||
|
||||
def validate(self):
|
||||
frappe.only_for("System Manager")
|
||||
self.validate_doctypes_to_be_ignored()
|
||||
@@ -155,8 +159,9 @@ class TransactionDeletionRecord(Document):
|
||||
"DocField", filters={"fieldtype": "Table", "parent": doctype}, pluck="options"
|
||||
)
|
||||
|
||||
for table in child_tables:
|
||||
frappe.db.delete(table, {"parent": ["in", parent_docs_to_be_deleted]})
|
||||
for batch in create_batch(parent_docs_to_be_deleted, self.batch_size):
|
||||
for table in child_tables:
|
||||
frappe.db.delete(table, {"parent": ["in", batch]})
|
||||
|
||||
def delete_docs_linked_with_specified_company(self, doctype, company_fieldname):
|
||||
frappe.db.delete(doctype, {company_fieldname: self.company})
|
||||
@@ -181,13 +186,16 @@ class TransactionDeletionRecord(Document):
|
||||
frappe.db.sql("""update `tabSeries` set current = %s where name=%s""", (last, prefix))
|
||||
|
||||
def delete_version_log(self, doctype, company_fieldname):
|
||||
frappe.db.sql(
|
||||
"""delete from `tabVersion` where ref_doctype=%s and docname in
|
||||
(select name from `tab{0}` where `{1}`=%s)""".format(
|
||||
doctype, company_fieldname
|
||||
),
|
||||
(doctype, self.company),
|
||||
)
|
||||
dt = qb.DocType(doctype)
|
||||
names = qb.from_(dt).select(dt.name).where(dt[company_fieldname] == self.company).run(as_list=1)
|
||||
names = [x[0] for x in names]
|
||||
|
||||
if names:
|
||||
versions = qb.DocType("Version")
|
||||
for batch in create_batch(names, self.batch_size):
|
||||
qb.from_(versions).delete().where(
|
||||
(versions.ref_doctype == doctype) & (versions.docname.isin(batch))
|
||||
).run()
|
||||
|
||||
def delete_communications(self, doctype, company_fieldname):
|
||||
reference_docs = frappe.get_all(doctype, filters={company_fieldname: self.company})
|
||||
@@ -199,7 +207,8 @@ class TransactionDeletionRecord(Document):
|
||||
)
|
||||
communication_names = [c.name for c in communications]
|
||||
|
||||
frappe.delete_doc("Communication", communication_names, ignore_permissions=True)
|
||||
for batch in create_batch(communication_names, self.batch_size):
|
||||
frappe.delete_doc("Communication", batch, ignore_permissions=True)
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
|
||||
@@ -4015,34 +4015,6 @@
|
||||
"tax_rate": 18.00
|
||||
}
|
||||
},
|
||||
|
||||
"Saudi Arabia": {
|
||||
"KSA VAT 15%": {
|
||||
"account_name": "VAT 15%",
|
||||
"tax_rate": 15.00
|
||||
},
|
||||
"KSA VAT 5%": {
|
||||
"account_name": "VAT 5%",
|
||||
"tax_rate": 5.00
|
||||
},
|
||||
"KSA VAT Zero": {
|
||||
"account_name": "VAT Zero",
|
||||
"tax_rate": 0.00
|
||||
},
|
||||
"KSA VAT Exempted": {
|
||||
"account_name": "VAT Exempted",
|
||||
"tax_rate": 0.00
|
||||
},
|
||||
"KSA Excise 50%": {
|
||||
"account_name": "Excise 50%",
|
||||
"tax_rate": 50.00
|
||||
},
|
||||
"KSA Excise 100%": {
|
||||
"account_name": "Excise 100%",
|
||||
"tax_rate": 100.00
|
||||
}
|
||||
},
|
||||
|
||||
"Serbia": {
|
||||
"Serbia Tax": {
|
||||
"account_name": "VAT",
|
||||
|
||||
Reference in New Issue
Block a user