Merge branch 'develop' into lead-cleanup
diff --git a/erpnext/accounts/doctype/subscription_plan/subscription_plan.json b/erpnext/accounts/doctype/subscription_plan/subscription_plan.json
index 46ce093..771611a 100644
--- a/erpnext/accounts/doctype/subscription_plan/subscription_plan.json
+++ b/erpnext/accounts/doctype/subscription_plan/subscription_plan.json
@@ -78,7 +78,7 @@
"label": "Cost"
},
{
- "depends_on": "eval:doc.price_determination==\"Based on price list\"",
+ "depends_on": "eval:doc.price_determination==\"Based On Price List\"",
"fieldname": "price_list",
"fieldtype": "Link",
"label": "Price List",
@@ -147,7 +147,7 @@
}
],
"links": [],
- "modified": "2020-06-25 10:53:44.205774",
+ "modified": "2021-08-09 10:53:44.205774",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Subscription Plan",
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 3048624..35b248c 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -297,5 +297,5 @@
erpnext.patches.v13_0.delete_orphaned_tables
erpnext.patches.v13_0.update_export_type_for_gst
erpnext.patches.v13_0.update_tds_check_field #3
-erpnext.patches.v13_0.add_custom_field_for_south_africa
+erpnext.patches.v13_0.add_custom_field_for_south_africa #2
erpnext.patches.v13_0.shopify_deprecation_warning
diff --git a/erpnext/patches/v13_0/add_custom_field_for_south_africa.py b/erpnext/patches/v13_0/add_custom_field_for_south_africa.py
index f882fde..73ff1ca 100644
--- a/erpnext/patches/v13_0/add_custom_field_for_south_africa.py
+++ b/erpnext/patches/v13_0/add_custom_field_for_south_africa.py
@@ -3,7 +3,7 @@
from __future__ import unicode_literals
import frappe
-from erpnext.regional.south_africa.setup import make_custom_fields
+from erpnext.regional.south_africa.setup import make_custom_fields, add_permissions
def execute():
company = frappe.get_all('Company', filters = {'country': 'South Africa'})
@@ -11,3 +11,4 @@
return
make_custom_fields()
+ add_permissions()
diff --git a/erpnext/regional/report/vat_audit_report/vat_audit_report.json b/erpnext/regional/report/vat_audit_report/vat_audit_report.json
index 8917e8f..a8be7bf 100644
--- a/erpnext/regional/report/vat_audit_report/vat_audit_report.json
+++ b/erpnext/regional/report/vat_audit_report/vat_audit_report.json
@@ -18,15 +18,5 @@
"ref_doctype": "GL Entry",
"report_name": "VAT Audit Report",
"report_type": "Script Report",
- "roles": [
- {
- "role": "Accounts User"
- },
- {
- "role": "Accounts Manager"
- },
- {
- "role": "Auditor"
- }
- ]
+ "roles": []
}
\ No newline at end of file
diff --git a/erpnext/regional/report/vat_audit_report/vat_audit_report.py b/erpnext/regional/report/vat_audit_report/vat_audit_report.py
index f45ba01..292605e 100644
--- a/erpnext/regional/report/vat_audit_report/vat_audit_report.py
+++ b/erpnext/regional/report/vat_audit_report/vat_audit_report.py
@@ -189,6 +189,8 @@
row["posting_date"] = formatdate(inv_data.get("posting_date"), "dd-mm-yyyy")
row["voucher_type"] = doctype
row["voucher_no"] = inv
+ row["party_type"] = "Customer" if doctype == "Sales Invoice" else "Supplier"
+ row["party"] = inv_data.get("party")
row["remarks"] = inv_data.get("remarks")
row["gross_amount"]= item_details[0].get("gross_amount")
row["tax_amount"]= item_details[0].get("tax_amount")
@@ -227,6 +229,20 @@
"width": 150
},
{
+ "fieldname": "party_type",
+ "label": "Party Type",
+ "fieldtype": "Data",
+ "width": 140,
+ "hidden": 1
+ },
+ {
+ "fieldname": "party",
+ "label": "Party",
+ "fieldtype": "Dynamic Link",
+ "options": "party_type",
+ "width": 150
+ },
+ {
"fieldname": "remarks",
"label": "Details",
"fieldtype": "Data",
@@ -236,18 +252,18 @@
"fieldname": "net_amount",
"label": "Net Amount",
"fieldtype": "Currency",
- "width": 150
+ "width": 130
},
{
"fieldname": "tax_amount",
"label": "Tax Amount",
"fieldtype": "Currency",
- "width": 150
+ "width": 130
},
{
"fieldname": "gross_amount",
"label": "Gross Amount",
"fieldtype": "Currency",
- "width": 150
+ "width": 130
},
]
diff --git a/erpnext/regional/south_africa/setup.py b/erpnext/regional/south_africa/setup.py
index ac783b8..4657ff8 100644
--- a/erpnext/regional/south_africa/setup.py
+++ b/erpnext/regional/south_africa/setup.py
@@ -3,11 +3,12 @@
from __future__ import unicode_literals
-# import frappe, os, json
+import frappe
from frappe.custom.doctype.custom_field.custom_field import create_custom_fields
from frappe.permissions import add_permission, update_permission_property
def setup(company=None, patch=True):
+ make_custom_fields()
add_permissions()
def make_custom_fields(update=True):
@@ -27,10 +28,23 @@
create_custom_fields(custom_fields, update=update)
def add_permissions():
- """Add Permissions for South Africa VAT Settings and South Africa VAT Account"""
+ """Add Permissions for South Africa VAT Settings and South Africa VAT Account
+ and VAT Audit Report"""
for doctype in ('South Africa VAT Settings', 'South Africa VAT Account'):
add_permission(doctype, 'All', 0)
for role in ('Accounts Manager', 'Accounts User', 'System Manager'):
add_permission(doctype, role, 0)
update_permission_property(doctype, role, 0, 'write', 1)
- update_permission_property(doctype, role, 0, 'create', 1)
\ No newline at end of file
+ update_permission_property(doctype, role, 0, 'create', 1)
+
+
+ if not frappe.db.get_value('Custom Role', dict(report="VAT Audit Report")):
+ frappe.get_doc(dict(
+ doctype='Custom Role',
+ report="VAT Audit Report",
+ roles= [
+ dict(role='Accounts User'),
+ dict(role='Accounts Manager'),
+ dict(role='Auditor')
+ ]
+ )).insert()
\ No newline at end of file
diff --git a/erpnext/support/doctype/service_level_agreement/service_level_agreement.py b/erpnext/support/doctype/service_level_agreement/service_level_agreement.py
index 8739cb2..cfa264f 100644
--- a/erpnext/support/doctype/service_level_agreement/service_level_agreement.py
+++ b/erpnext/support/doctype/service_level_agreement/service_level_agreement.py
@@ -281,15 +281,18 @@
def get_documents_with_active_service_level_agreement():
- if not frappe.cache().hget("service_level_agreement", "active"):
- set_documents_with_active_service_level_agreement()
+ sla_doctypes = frappe.cache().hget("service_level_agreement", "active")
- return frappe.cache().hget("service_level_agreement", "active")
+ if sla_doctypes is None:
+ return set_documents_with_active_service_level_agreement()
+
+ return sla_doctypes
def set_documents_with_active_service_level_agreement():
active = [sla.document_type for sla in frappe.get_all("Service Level Agreement", fields=["document_type"])]
frappe.cache().hset("service_level_agreement", "active", active)
+ return active
def apply(doc, method=None):