diff --git a/accounts/doctype/pos_setting/pos_setting.txt b/accounts/doctype/pos_setting/pos_setting.txt index 36b9b944fa8..73b92460a5d 100755 --- a/accounts/doctype/pos_setting/pos_setting.txt +++ b/accounts/doctype/pos_setting/pos_setting.txt @@ -2,7 +2,7 @@ { "creation": "2013-05-24 12:15:51", "docstatus": 0, - "modified": "2013-08-09 14:45:28", + "modified": "2013-08-09 16:35:03", "modified_by": "Administrator", "owner": "Administrator" }, @@ -131,12 +131,12 @@ }, { "doctype": "DocField", - "fieldname": "customer_account", + "fieldname": "customer", "fieldtype": "Link", - "label": "Customer Account", + "label": "Customer", "oldfieldname": "customer_account", "oldfieldtype": "Link", - "options": "Account", + "options": "Customer", "read_only": 0, "reqd": 0 }, diff --git a/hr/doctype/employee/employee.py b/hr/doctype/employee/employee.py index 690bd55b1f1..89f98562214 100644 --- a/hr/doctype/employee/employee.py +++ b/hr/doctype/employee/employee.py @@ -45,6 +45,7 @@ class DocType: if self.doc.user_id: self.update_user_default() self.update_profile() + self.update_dob_event() def update_user_default(self): webnotes.conn.set_default("employee", self.doc.name, self.doc.user_id) @@ -154,6 +155,31 @@ class DocType: msgprint(_("Invalid Leave Approver") + ": \"" + l.leave_approver + "\"", raise_exception=InvalidLeaveApproverError) + def update_dob_event(self): + get_events = webnotes.conn.sql("""select name from `tabEvent` where repeat_on='Every Year' + and ref_type='Employee' and ref_name=%s""", (self.doc.name), as_dict=1) + + starts_on = self.doc.date_of_birth + " 00:00:00" + ends_on = self.doc.date_of_birth + " 00:15:00" + + if get_events: + webnotes.conn.sql("""update `tabEvent` set starts_on=%s, ends_on=%s + where name=%s""", (get_events[0].name, starts_on, ends_on) + else: + event_wrapper = webnotes.bean({ + "doctype": "Event", + "subject": _("Birthday") + ": " + self.doc.employee_name, + "starts_on": starts_on, + "ends_on": ends_on, + "event_type": "Public", + "all_day": 1, + "send_reminder": 1, + "repeat_this_event": 1, + "repeat_on": "Every Year", + "ref_type": "Employee", + "ref_name": self.doc.name + }).insert() + @webnotes.whitelist() def get_retirement_date(date_of_birth=None): import datetime diff --git a/patches/august_2013/p03_pos_setting_replace_customer_account.py b/patches/august_2013/p03_pos_setting_replace_customer_account.py new file mode 100644 index 00000000000..c3a21e44e56 --- /dev/null +++ b/patches/august_2013/p03_pos_setting_replace_customer_account.py @@ -0,0 +1,24 @@ +# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. +# License: GNU General Public License v3. See license.txt + +from __future__ import unicode_literals +import webnotes + +def execute(): + webnotes.reload_doc("accounts", "doctype", "pos_setting") + if "customer_account" in webnotes.conn.get_table_columns("POS Setting"): + customer_account = webnotes.conn.sql("""select customer_account, name from `tabPOS Setting` + where ifnull(customer_account, '')!=''""") + + for cust_acc, pos_name in customer_account: + customer = webnotes.conn.sql("""select master_name, account_name from `tabAccount` + where name=%s""", (cust_acc), as_dict=1) + + if not customer[0].master_name: + customer_name = webnotes.conn.get_value('Customer', customer[0].account_name, 'name') + else: + customer_name = customer[0].master_name + + webnotes.conn.set_value('POS Setting', pos_name, 'customer', customer_name) + + webnotes.conn.sql_ddl("""alter table `tabPOS Setting` drop column `customer_account`""") diff --git a/patches/patch_list.py b/patches/patch_list.py index 95b10b7bb2d..bd6b9a3ff21 100644 --- a/patches/patch_list.py +++ b/patches/patch_list.py @@ -253,4 +253,5 @@ patch_list = [ "execute:webnotes.bean('Selling Settings').save() #2013-07-29", "patches.august_2013.p01_hr_settings", "patches.august_2013.p02_rename_price_list", + "patches.august_2013.p03_pos_setting_replace_customer_account", ] \ No newline at end of file