Fixed merge conflict
diff --git a/erpnext/__init__.py b/erpnext/__init__.py
index e9bdbf9..a81cc85 100644
--- a/erpnext/__init__.py
+++ b/erpnext/__init__.py
@@ -5,7 +5,7 @@
from erpnext.hooks import regional_overrides
from frappe.utils import getdate
-__version__ = '10.1.58'
+__version__ = '10.1.59'
def get_default_company(user=None):
'''Get default company for user'''
diff --git a/erpnext/hr/doctype/employee/employee.py b/erpnext/hr/doctype/employee/employee.py
index 1401a4d..cb4c190 100755
--- a/erpnext/hr/doctype/employee/employee.py
+++ b/erpnext/hr/doctype/employee/employee.py
@@ -49,8 +49,7 @@
self.validate_onboarding_process()
if self.user_id:
- self.validate_for_enabled_user_id()
- self.validate_duplicate_user_id()
+ self.validate_user_details()
else:
existing_user_id = frappe.db.get_value("Employee", self.name, "user_id")
if existing_user_id:
@@ -60,6 +59,14 @@
def set_employee_name(self):
self.employee_name = ' '.join(filter(lambda x: x, [self.first_name, self.middle_name, self.last_name]))
+ def validate_user_details(self):
+ data = frappe.db.get_value('User',
+ self.user_id, ['enabled', 'user_image'], as_dict=1)
+
+ self.image = data.get("user_image")
+ self.validate_for_enabled_user_id(data.get("enabled", 0))
+ self.validate_duplicate_user_id()
+
def update_nsm_model(self):
frappe.utils.nestedset.update_nsm(self)
@@ -143,10 +150,10 @@
if self.status == 'Left' and not self.relieving_date:
throw(_("Please enter relieving date."))
- def validate_for_enabled_user_id(self):
+ def validate_for_enabled_user_id(self, enabled):
if not self.status == 'Active':
return
- enabled = frappe.db.get_value("User", self.user_id, "enabled")
+
if enabled is None:
frappe.throw(_("User {0} does not exist").format(self.user_id))
if enabled == 0:
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.py b/erpnext/hr/doctype/expense_claim/expense_claim.py
index 5cf9570..09cdd54 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim.py
+++ b/erpnext/hr/doctype/expense_claim/expense_claim.py
@@ -215,10 +215,11 @@
self.total_advance_amount += flt(d.allocated_amount)
if self.total_advance_amount:
- if flt(self.total_advance_amount) > flt(self.total_claimed_amount):
+ precision = self.precision("total_advance_amount")
+ if flt(self.total_advance_amount, precision) > flt(self.total_claimed_amount, precision):
frappe.throw(_("Total advance amount cannot be greater than total claimed amount"))
if self.total_sanctioned_amount \
- and flt(self.total_advance_amount) > flt(self.total_sanctioned_amount):
+ and flt(self.total_advance_amount, precision) > flt(self.total_sanctioned_amount, precision):
frappe.throw(_("Total advance amount cannot be greater than total sanctioned amount"))
def validate_sanctioned_amount(self):
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 26c3306..9c56948 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -571,3 +571,4 @@
erpnext.patches.v11_0.ewaybill_fields_gst_india
erpnext.patches.v11_0.drop_column_max_days_allowed
erpnext.patches.v11_0.change_healthcare_desktop_icons
+erpnext.patches.v10_0.update_user_image_in_employee
diff --git a/erpnext/patches/v10_0/update_user_image_in_employee.py b/erpnext/patches/v10_0/update_user_image_in_employee.py
new file mode 100644
index 0000000..72d5d2a
--- /dev/null
+++ b/erpnext/patches/v10_0/update_user_image_in_employee.py
@@ -0,0 +1,19 @@
+# Copyright (c) 2017, Frappe and Contributors
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import frappe
+
+def execute():
+ frappe.reload_doc('hr', 'doctype', 'employee')
+
+ frappe.db.sql("""
+ UPDATE
+ `tabEmployee`, `tabUser`
+ SET
+ `tabEmployee`.image = `tabUser`.user_image
+ WHERE
+ `tabEmployee`.user_id = `tabUser`.name and
+ `tabEmployee`.user_id is not null and
+ `tabEmployee`.user_id != '' and `tabEmployee`.image is null
+ """)