diff --git a/hr/doctype/leave_application/leave_application.js b/hr/doctype/leave_application/leave_application.js index 9df348a17e..025281826c 100755 --- a/hr/doctype/leave_application/leave_application.js +++ b/hr/doctype/leave_application/leave_application.js @@ -21,7 +21,8 @@ cur_frm.cscript.onload = function(doc, dt, dn) { if(!doc.posting_date) set_multiple(dt,dn,{posting_date:get_today()}); if(doc.__islocal) { - cur_frm.set_value("status", "Open") + cur_frm.set_value("status", "Open"); + cur_frm.cscript.calculate_total_days(doc, dt, dn); } cur_frm.set_df_property("leave_approver", "options", ""); cur_frm.call({ diff --git a/hr/doctype/leave_application/leave_application.py b/hr/doctype/leave_application/leave_application.py index 5170e26c25..07086dcc4d 100755 --- a/hr/doctype/leave_application/leave_application.py +++ b/hr/doctype/leave_application/leave_application.py @@ -71,7 +71,7 @@ class DocType(DocListController): for d in block_dates: webnotes.msgprint(formatdate(d.block_date) + ": " + d.reason) - if self.doc.docstatus == 1: + if self.doc.status == "Approved": raise LeaveDayBlockedError def get_holidays(self): @@ -185,7 +185,7 @@ class DocType(DocListController): args = webnotes._dict(args) from utilities.page.messages.messages import post post({"txt": args.message, "contact": args.message_to, "subject": args.subject, - "notify": True}) + "notify": cint(self.doc.follow_via_email)}) @webnotes.whitelist() def get_leave_balance(employee, leave_type, fiscal_year): diff --git a/hr/doctype/leave_application/leave_application.txt b/hr/doctype/leave_application/leave_application.txt index 1e1912873c..f0f15604e6 100644 --- a/hr/doctype/leave_application/leave_application.txt +++ b/hr/doctype/leave_application/leave_application.txt @@ -1,18 +1,20 @@ [ { - "creation": "2013-02-18 17:08:32", + "creation": "2013-02-18 18:37:56", "docstatus": 0, - "modified": "2013-02-18 17:20:50", + "modified": "2013-02-19 16:30:05", "modified_by": "Administrator", "owner": "Administrator" }, { + "allow_attach": 1, "allow_import": 1, "autoname": "LAP/.#####", "description": "Apply / Approve Leaves", "doctype": "DocType", "document_type": "Transaction", "is_submittable": 1, + "max_attachments": 3, "module": "HR", "name": "__common__", "search_fields": "employee,employee_name,leave_type,from_date,to_date,total_leave_days,fiscal_year" @@ -157,6 +159,16 @@ "label": "More Info", "permlevel": 0 }, + { + "allow_on_submit": 1, + "default": "1", + "doctype": "DocField", + "fieldname": "follow_via_email", + "fieldtype": "Check", + "label": "Follow via Email", + "permlevel": 0, + "print_hide": 1 + }, { "default": "Today", "doctype": "DocField", @@ -179,6 +191,12 @@ "reqd": 1, "search_index": 0 }, + { + "doctype": "DocField", + "fieldname": "column_break_17", + "fieldtype": "Column Break", + "permlevel": 0 + }, { "doctype": "DocField", "fieldname": "company", @@ -209,6 +227,16 @@ "print_hide": 1, "read_only": 1 }, + { + "doctype": "DocField", + "fieldname": "file_list", + "fieldtype": "Text", + "hidden": 1, + "label": "File List", + "no_copy": 1, + "permlevel": 0, + "print_hide": 1 + }, { "create": 1, "doctype": "DocPerm", @@ -218,11 +246,21 @@ "role": "Employee", "write": 1 }, + { + "amend": 0, + "cancel": 0, + "create": 0, + "doctype": "DocPerm", + "permlevel": 1, + "role": "All", + "submit": 0 + }, { "amend": 1, "cancel": 1, "create": 1, "doctype": "DocPerm", + "match": "company", "permlevel": 0, "report": 1, "role": "HR User", @@ -247,16 +285,7 @@ "create": 0, "doctype": "DocPerm", "permlevel": 1, - "role": "All", - "submit": 0 - }, - { - "amend": 0, - "cancel": 0, - "create": 0, - "doctype": "DocPerm", - "permlevel": 1, - "report": 0, + "report": 1, "role": "HR User", "submit": 0, "write": 1 @@ -267,7 +296,7 @@ "create": 0, "doctype": "DocPerm", "permlevel": 1, - "report": 0, + "report": 1, "role": "Leave Approver", "submit": 0, "write": 1 diff --git a/hr/doctype/leave_block_list/leave_block_list.txt b/hr/doctype/leave_block_list/leave_block_list.txt index b48416c3df..dec4819d07 100644 --- a/hr/doctype/leave_block_list/leave_block_list.txt +++ b/hr/doctype/leave_block_list/leave_block_list.txt @@ -1,8 +1,8 @@ [ { - "creation": "2013-02-08 15:13:29", + "creation": "2013-02-18 17:43:12", "docstatus": 0, - "modified": "2013-02-14 17:15:32", + "modified": "2013-02-19 18:42:35", "modified_by": "Administrator", "owner": "Administrator" }, @@ -83,7 +83,7 @@ "options": "Leave Block List Date" }, { - "description": "Allow the following users to make Leave Applications for block days.", + "description": "Allow the following users to approve Leave Applications for block days.", "doctype": "DocField", "fieldname": "allow_list", "fieldtype": "Section Break", diff --git a/patches/patch_list.py b/patches/patch_list.py index a121a7d9cf..edba67acc9 100644 --- a/patches/patch_list.py +++ b/patches/patch_list.py @@ -178,4 +178,11 @@ patch_list = [ "patches.february_2013.p05_leave_application", "patches.february_2013.gle_floating_point_issue_revisited", "patches.february_2013.fix_outstanding", + 'execute:webnotes.reload_doc("selling", "Print Format", "Quotation Classic") # 2013-02-19', + 'execute:webnotes.reload_doc("selling", "Print Format", "Quotation Modern") # 2013-02-19', + 'execute:webnotes.reload_doc("selling", "Print Format", "Quotation Spartan") # 2013-02-19', + "execute:webnotes.delete_doc('DocType', 'Service Order')", + "execute:webnotes.delete_doc('DocType', 'Service Quotation')", + "execute:webnotes.delete_doc('DocType', 'Service Order Detail')", + "execute:webnotes.delete_doc('DocType', 'Service Quotation Detail')", ] \ No newline at end of file diff --git a/selling/Print Format/Quotation Classic/Quotation Classic.txt b/selling/Print Format/Quotation Classic/Quotation Classic.txt index 885570ecf2..ca950a21ad 100644 --- a/selling/Print Format/Quotation Classic/Quotation Classic.txt +++ b/selling/Print Format/Quotation Classic/Quotation Classic.txt @@ -2,14 +2,14 @@ { "creation": "2012-04-17 11:29:12", "docstatus": 0, - "modified": "2013-01-25 17:11:54", + "modified": "2013-02-19 15:44:56", "modified_by": "Administrator", "owner": "Administrator" }, { "doc_type": "Quotation", "doctype": "Print Format", - "html": "\n\n\n\n\n\n\n\n\n\n\n\n
\n\t\n\t\n
\n\n", + "html": "\n\n\n\n\n\n\n\n\n\n\n\n
\n\t\n\t\n
\n\n", "module": "Selling", "name": "__common__", "standard": "Yes" diff --git a/selling/Print Format/Quotation Modern/Quotation Modern.txt b/selling/Print Format/Quotation Modern/Quotation Modern.txt index 707d5ead93..a323fbf829 100644 --- a/selling/Print Format/Quotation Modern/Quotation Modern.txt +++ b/selling/Print Format/Quotation Modern/Quotation Modern.txt @@ -2,14 +2,14 @@ { "creation": "2012-04-17 11:29:12", "docstatus": 0, - "modified": "2013-01-25 17:15:42", + "modified": "2013-02-19 15:44:22", "modified_by": "Administrator", "owner": "Administrator" }, { "doc_type": "Quotation", "doctype": "Print Format", - "html": "\n\n\n\n\n\n\n\n\n\n\n\n
\n\t\n\t\n
\n\n", + "html": "\n\n\n\n\n\n\n\n\n\n\n\n
\n\t\n\t\n
\n\n", "module": "Selling", "name": "__common__", "standard": "Yes" diff --git a/selling/Print Format/Quotation Spartan/Quotation Spartan.txt b/selling/Print Format/Quotation Spartan/Quotation Spartan.txt index f49e4c9920..d2e04dda8d 100644 --- a/selling/Print Format/Quotation Spartan/Quotation Spartan.txt +++ b/selling/Print Format/Quotation Spartan/Quotation Spartan.txt @@ -2,14 +2,14 @@ { "creation": "2012-04-17 11:29:12", "docstatus": 0, - "modified": "2013-01-25 17:09:04", + "modified": "2013-02-19 15:45:22", "modified_by": "Administrator", "owner": "Administrator" }, { "doc_type": "Quotation", "doctype": "Print Format", - "html": "\n\n\n\n\n\n\n\n\n\n\n\n
\n\t\n\t\n
\n\n", + "html": "\n\n\n\n\n\n\n\n\n\n\n\n
\n\t\n\t\n
\n\n", "module": "Selling", "name": "__common__", "standard": "Yes" diff --git a/setup/doctype/naming_series/naming_series.py b/setup/doctype/naming_series/naming_series.py index dbbc298c4c..599118152d 100644 --- a/setup/doctype/naming_series/naming_series.py +++ b/setup/doctype/naming_series/naming_series.py @@ -101,15 +101,19 @@ class DocType: from core.doctype.doctype.doctype import DocType dt = DocType() - parent = sql("select parent from `tabDocField` where fieldname='naming_series' and parent != %s", self.doc.select_doc_for_series) - sr = ([webnotes.model.doctype.get_property(p[0], 'options', 'naming_series'), p[0]] for p in parent) + parent = sql("""select dt.name from `tabDocField` df, `tabDocType` dt + where dt.name = df.parent and df.fieldname='naming_series' and dt.name != %s""", + self.doc.select_doc_for_series) + sr = ([webnotes.model.doctype.get_property(p[0], 'options', 'naming_series'), p[0]] + for p in parent) options = self.scrub_options_list(self.doc.set_options.split("\n")) for series in options: dt.validate_series(series, self.doc.select_doc_for_series) for i in sr: if i[0]: if series in i[0].split("\n"): - msgprint("Oops! Series name %s is already in use in %s. Please select a new one" % (series, i[1]), raise_exception=1) + msgprint("Oops! Series name %s is already in use in %s. \ + Please select a new one" % (series, i[1]), raise_exception=1) def validate_series_name(self, n): import re diff --git a/stock/utils.py b/stock/utils.py index 4cf3b11dc0..6fac0fdef1 100644 --- a/stock/utils.py +++ b/stock/utils.py @@ -31,7 +31,7 @@ def validate_end_of_life(item_code, end_of_life=None, verbose=1): "in Item master") % { "item_code": item_code, "date": formatdate(end_of_life), - "end_of_life_label": webnotes.get_label("Item", "end_of_life") + "end_of_life_label": webnotes.get_doctype("Item").get_label("end_of_life") } _msgprint(msg, verbose)