Merge pull request #7295 from bhupennewalkar1337/lcv
Fix#3717 entering amount in lcv is enabled
diff --git a/erpnext/accounts/page/pos/pos.js b/erpnext/accounts/page/pos/pos.js
index 5290caf..b291cbd 100644
--- a/erpnext/accounts/page/pos/pos.js
+++ b/erpnext/accounts/page/pos/pos.js
@@ -298,7 +298,7 @@
this.pos_profile_data = r.message.pos_profile;
this.default_customer = r.message.default_customer || null;
this.print_settings = locals[":Print Settings"]["Print Settings"];
- this.letter_head = frappe.boot.letter_heads[this.pos_profile_data[letter_head]] || {};
+ this.letter_head = (this.pos_profile_data.length > 0) ? frappe.boot.letter_heads[this.pos_profile_data[letter_head]] : {};
},
save_previous_entry : function(){
diff --git a/erpnext/hr/doctype/employee/employee.js b/erpnext/hr/doctype/employee/employee.js
index fe83f40..c24a6bc 100755
--- a/erpnext/hr/doctype/employee/employee.js
+++ b/erpnext/hr/doctype/employee/employee.js
@@ -48,8 +48,8 @@
});
frappe.ui.form.on('Employee',{
- prefered_contact_email:function(frm){
- frm.events.update_contact(frm)
+ prefered_contact_email:function(frm){
+ frm.events.update_contact(frm)
},
personal_email:function(frm){
frm.events.update_contact(frm)
@@ -74,5 +74,19 @@
}
});
},
+ create_user: function(frm) {
+ if (!frm.doc.prefered_email)
+ {
+ frappe.throw(__("Please enter Preferred Contact Email"))
+ }
+ frappe.call({
+ method: "erpnext.hr.doctype.employee.employee.create_user",
+ args: { employee: cur_frm.doc.name },
+ callback: function(r)
+ {
+ frm.set_value("user_id", r.message)
+ }
+ });
+ }
});
cur_frm.cscript = new erpnext.hr.EmployeeController({frm: cur_frm});
diff --git a/erpnext/hr/doctype/employee/employee.json b/erpnext/hr/doctype/employee/employee.json
index 5ded5a0..62ca61c 100644
--- a/erpnext/hr/doctype/employee/employee.json
+++ b/erpnext/hr/doctype/employee/employee.json
@@ -217,6 +217,35 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
+ "depends_on": "eval:(!doc.user_id)",
+ "fieldname": "create_user",
+ "fieldtype": "Button",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "in_standard_filter": 0,
+ "label": "Create User",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "remember_last_selected_value": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "columns": 0,
"fieldname": "image",
"fieldtype": "Attach Image",
"hidden": 1,
@@ -2244,7 +2273,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
- "modified": "2016-11-07 05:15:16.925799",
+ "modified": "2016-12-19 17:24:22.941738",
"modified_by": "Administrator",
"module": "HR",
"name": "Employee",
diff --git a/erpnext/hr/doctype/employee/employee.py b/erpnext/hr/doctype/employee/employee.py
index 58d1262..881853d 100755
--- a/erpnext/hr/doctype/employee/employee.py
+++ b/erpnext/hr/doctype/employee/employee.py
@@ -6,7 +6,7 @@
from frappe.utils import getdate, validate_email_add, today, add_years
from frappe.model.naming import make_autoname
-from frappe import throw, _
+from frappe import throw, _, scrub
import frappe.permissions
from frappe.model.document import Document
from erpnext.utilities.transaction_base import delete_events
@@ -39,6 +39,7 @@
self.validate_status()
self.validate_employee_leave_approver()
self.validate_reports_to()
+ self.validate_prefered_email()
if self.user_id:
self.validate_for_enabled_user_id()
@@ -153,6 +154,11 @@
def on_trash(self):
delete_events(self.doctype, self.name)
+ def validate_prefered_email(self):
+ if not self.get(scrub(self.prefered_contact_email)):
+ frappe.msgprint(_("Please enter " + self.prefered_contact_email))
+
+
def get_timeline_data(doctype, name):
'''Return timeline for attendance'''
return dict(frappe.db.sql('''select unix_timestamp(att_date), count(*)
@@ -250,3 +256,34 @@
sales_person = frappe.db.get_value("Sales Person", {"Employee": employee})
if sales_person:
frappe.db.set_value("Sales Person", sales_person, "enabled", 0)
+
+@frappe.whitelist()
+def create_user(employee, user = None):
+ emp = frappe.get_doc("Employee", employee)
+
+ employee_name = emp.employee_name.split(" ")
+ middle_name = last_name = ""
+
+ if len(employee_name) >= 3:
+ last_name = " ".join(employee_name[2:])
+ middle_name = employee_name[1]
+ elif len(employee_name) == 2:
+ last_name = employee_name[1]
+
+ first_name = employee_name[0]
+
+ user = frappe.new_doc("User")
+ user.update({
+ "name": emp.employee_name,
+ "email": emp.prefered_email,
+ "enabled": 1,
+ "first_name": first_name,
+ "middle_name": middle_name,
+ "last_name": last_name,
+ "gender": emp.gender,
+ "birth_date": emp.date_of_birth,
+ "phone": emp.cell_number,
+ "bio": emp.bio
+ })
+ user.insert()
+ return user.name
\ No newline at end of file