24 lines
881 B
Python
24 lines
881 B
Python
# 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.utils import get_fullname
|
|
|
|
def execute():
|
|
for user_id in frappe.db.sql_list("""select distinct user_id from `tabEmployee`
|
|
where ifnull(user_id, '')!=''
|
|
group by user_id having count(name) > 1"""):
|
|
|
|
fullname = get_fullname(user_id)
|
|
employee = frappe.db.get_value("Employee", {"employee_name": fullname, "user_id": user_id})
|
|
|
|
if employee:
|
|
frappe.db.sql("""update `tabEmployee` set user_id=null
|
|
where user_id=%s and name!=%s""", (user_id, employee))
|
|
else:
|
|
count = frappe.db.sql("""select count(*) from `tabEmployee` where user_id=%s""", user_id)[0][0]
|
|
frappe.db.sql("""update `tabEmployee` set user_id=null
|
|
where user_id=%s limit %s""", (user_id, count - 1))
|