Skip to content

Commit 2f13b33

Browse files
ruchamahabalmergify[bot]
authored andcommitted
fix: only validate auto user creation before insert
(cherry picked from commit ee1aa10)
1 parent 1ddadb7 commit 2f13b33

2 files changed

Lines changed: 13 additions & 6 deletions

File tree

erpnext/setup/doctype/employee/employee.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,6 @@
460460
"fieldname": "company_email",
461461
"fieldtype": "Data",
462462
"label": "Company Email",
463-
"mandatory_depends_on": "create_user_automatically",
464463
"oldfieldname": "company_email",
465464
"oldfieldtype": "Data",
466465
"options": "Email"
@@ -834,7 +833,7 @@
834833
"image_field": "image",
835834
"is_tree": 1,
836835
"links": [],
837-
"modified": "2026-03-23 11:06:35.539765",
836+
"modified": "2026-03-23 13:36:13.708549",
838837
"modified_by": "Administrator",
839838
"module": "Setup",
840839
"name": "Employee",

erpnext/setup/doctype/employee/employee.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,6 @@ def validate(self):
126126
self.set_employee_name()
127127
self.validate_date()
128128
self.validate_email()
129-
self.validate_auto_user_creation()
130129
self.validate_status()
131130
self.validate_reports_to()
132131
self.set_preferred_email()
@@ -162,8 +161,14 @@ def validate_user_details(self):
162161
self.validate_duplicate_user_id()
163162

164163
def validate_auto_user_creation(self):
165-
if self.create_user_automatically and not self.company_email:
166-
frappe.throw(_("Email is mandatory when Create User Automatically is enabled"))
164+
if self.create_user_automatically and not (self.prefered_email or self.company_email):
165+
frappe.throw(
166+
_(
167+
"Company Email or Preferred Email is mandatory when 'Create User Automatically' is enabled"
168+
),
169+
frappe.MandatoryError,
170+
title=_("Auto User Creation Error"),
171+
)
167172

168173
def update_nsm_model(self):
169174
frappe.utils.nestedset.update_nsm(self)
@@ -176,6 +181,9 @@ def on_update(self):
176181
self.update_user_permissions()
177182
self.reset_employee_emails_cache()
178183

184+
def before_insert(self):
185+
self.validate_auto_user_creation()
186+
179187
def after_insert(self):
180188
if not self.create_user_automatically:
181189
return
@@ -185,7 +193,7 @@ def after_insert(self):
185193

186194
create_user(
187195
employee=self.name,
188-
email=self.company_email,
196+
email=self.prefered_email or self.company_email,
189197
create_user_permission=self.create_user_permission,
190198
)
191199

0 commit comments

Comments
 (0)