diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index b2351ac515..9c532af7bc 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -124,7 +124,8 @@ doc_events = {
},
"User": {
"validate": "erpnext.hr.doctype.employee.employee.validate_employee_role",
- "on_update": "erpnext.hr.doctype.employee.employee.update_user_permissions"
+ "on_update": "erpnext.hr.doctype.employee.employee.update_user_permissions",
+ "on_update": "erpnext.utilities.doctype.contact.contact.update_contact"
},
"Sales Taxes and Charges Template": {
"on_update": "erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings.validate_cart_settings"
diff --git a/erpnext/templates/pages/edit-profile.html b/erpnext/templates/pages/edit-profile.html
deleted file mode 100644
index f10e0a3526..0000000000
--- a/erpnext/templates/pages/edit-profile.html
+++ /dev/null
@@ -1,55 +0,0 @@
-{% extends "templates/web.html" %}
-
-{% block title %} {{ "My Profile" }} {% endblock %}
-
-{% block header %}
My Profile
{% endblock %}
-
-{% block page_content %}
-
-
-
-{% endblock %}
-
diff --git a/erpnext/templates/pages/edit_profile.py b/erpnext/templates/pages/edit_profile.py
deleted file mode 100644
index 5ab5545d87..0000000000
--- a/erpnext/templates/pages/edit_profile.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-import frappe
-from frappe import _
-from frappe.utils import cstr
-from erpnext.shopping_cart.cart import get_customer
-
-no_cache = 1
-no_sitemap = 1
-
-def get_context(context):
- party = get_customer()
- mobile_no, phone = frappe.db.get_value("Contact", {"email_id": frappe.session.user,
- "customer": party.name}, ["mobile_no", "phone"])
-
- return {
- "company_name": cstr(party.customer_name if party.doctype == "Customer" else party.company_name),
- "mobile_no": cstr(mobile_no),
- "phone": cstr(phone)
- }
-
-@frappe.whitelist()
-def update_user(fullname, password=None, company_name=None, mobile_no=None, phone=None):
- from erpnext.shopping_cart.cart import update_party
- update_party(fullname, company_name, mobile_no, phone)
-
- if not fullname:
- return _("Name is required")
-
- frappe.db.set_value("User", frappe.session.user, "first_name", fullname)
- frappe.local.cookie_manager.set_cookie("full_name", fullname)
-
- return _("Updated")
diff --git a/erpnext/utilities/doctype/contact/contact.py b/erpnext/utilities/doctype/contact/contact.py
index dff05bc462..ae2fdfb6f8 100644
--- a/erpnext/utilities/doctype/contact/contact.py
+++ b/erpnext/utilities/doctype/contact/contact.py
@@ -92,3 +92,13 @@ def get_contact_details(contact):
"contact_department": contact.get("department")
}
return out
+
+def update_contact(doc, method):
+ '''Update contact when user is updated, if contact is found. Called via hooks'''
+ contact_name = frappe.db.get_value("Contact", {"email_id": doc.name})
+ if contact_name:
+ contact = frappe.get_doc("Contact", contact_name)
+ contact.first_name = doc.first_name
+ contact.last_name = doc.last_name
+ contact.phone = doc.phone
+ contact.save(ignore_permissions=True)