mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-26 05:15:20 +00:00
Merge pull request #58400 from Shllokkk/reorder-email-single-company-perm
fix: send auto reorder email to all managers in single company setup
This commit is contained in:
@@ -944,6 +944,33 @@ class TestMaterialRequest(ERPNextTestSuite):
|
||||
for perm in permissions:
|
||||
perm.delete()
|
||||
|
||||
def test_auto_email_single_company_without_user_permission(self):
|
||||
from unittest.mock import patch
|
||||
|
||||
from erpnext.stock.reorder_item import get_email_list
|
||||
|
||||
users = ["test_reorder_single_1@example.com", "test_reorder_single_2@example.com"]
|
||||
for user in users:
|
||||
if not frappe.db.exists("User", user):
|
||||
frappe.get_doc(
|
||||
{
|
||||
"doctype": "User",
|
||||
"email": user,
|
||||
"first_name": user,
|
||||
"send_notifications": 0,
|
||||
"enabled": 1,
|
||||
"user_type": "System User",
|
||||
"roles": [{"role": "Purchase Manager"}],
|
||||
}
|
||||
).insert(ignore_permissions=True)
|
||||
|
||||
# single company: managers without any Company User Permission must still be emailed
|
||||
with patch("frappe.db.count", return_value=1):
|
||||
emails = get_email_list("_Test Company")
|
||||
|
||||
for user in users:
|
||||
self.assertIn(user, emails)
|
||||
|
||||
def test_manufacture_type_status_over_wo(self):
|
||||
from erpnext.stock.doctype.material_request.material_request import raise_work_orders
|
||||
|
||||
|
||||
@@ -350,6 +350,10 @@ def get_email_list(company):
|
||||
|
||||
|
||||
def get_comapny_wise_users(company):
|
||||
# single company: no explicit permission needed, everyone has access
|
||||
if frappe.db.count("Company") == 1:
|
||||
return []
|
||||
|
||||
companies = [company]
|
||||
|
||||
if parent_company := frappe.db.get_value("Company", company, "parent_company"):
|
||||
|
||||
Reference in New Issue
Block a user