diff --git a/home/__init__.py b/home/__init__.py
index e508ac70fb..9667efd212 100644
--- a/home/__init__.py
+++ b/home/__init__.py
@@ -87,5 +87,5 @@ def update_feed(controller, method=None):
doc = controller.doc
if method in ['on_update', 'on_submit']:
subject, color = feed_dict.get(doc.doctype, [None, None])
- if subject:
+ if subject:
make_feed('', doc.doctype, doc.name, doc.owner, subject % doc.fields, color)
diff --git a/home/page/latest_updates/latest_updates.js b/home/page/latest_updates/latest_updates.js
index d8b81bda05..b9296f2424 100644
--- a/home/page/latest_updates/latest_updates.js
+++ b/home/page/latest_updates/latest_updates.js
@@ -1,4 +1,12 @@
erpnext.updates = [
+ ["28th December 2012", [
+ "Workflow: Added System for Multi-level approval before Submission. \
+
See video at https://www.youtube.com/watch?v=zuGv59_wJKw.",
+ ]],
+ ["27th December 2012", [
+ "Website: Added auto-generated Contact Us and About Us Pages",
+ "Website: Added option to create slideshows and add them to Pages, Products and Product Groups",
+ ]],
["25th December 2012", [
"Stock Balance Report: Inflow, outflow and balance of stock within a defined period",
"Stock Reports: Added Brand filter on some of the reports"
diff --git a/hr/doctype/expense_claim/expense_claim.py b/hr/doctype/expense_claim/expense_claim.py
index 9e476e5595..b3a132ed45 100644
--- a/hr/doctype/expense_claim/expense_claim.py
+++ b/hr/doctype/expense_claim/expense_claim.py
@@ -32,6 +32,11 @@ class DocType:
def validate(self):
# if self.doc.exp_approver == self.doc.owner:
# webnotes.msgprint("""Self Approval is not allowed.""", raise_exception=1)
+
+ if self.doc.status not in ("Draft", "Approved", "Rejected"):
+ webnotes.msgprint("Status must be one of 'Draft', 'Approved' or 'Rejected'",
+ raise_exception=True)
+
self.validate_fiscal_year()
self.validate_exp_details()
diff --git a/hr/doctype/leave_application/leave_application.js b/hr/doctype/leave_application/leave_application.js
index 63b5e6e0f6..3c26a51d25 100755
--- a/hr/doctype/leave_application/leave_application.js
+++ b/hr/doctype/leave_application/leave_application.js
@@ -47,20 +47,22 @@ cur_frm.cscript.refresh = function(doc, dt, dn) {
} else {
cur_frm.set_intro("This Leave Application is pending approval. Only the Leave Apporver can update status.")
cur_frm.toggle_enable("status", false);
- if(!doc.__islocal) cur_frm.frm_head.appframe.buttons.Submit.remove();
+ if(!doc.__islocal) {
+ if(cur_frm.frm_head.appframe.buttons.Submit)
+ cur_frm.frm_head.appframe.buttons.Submit.remove();
+ }
}
} else {
if(doc.status=="Approved") {
cur_frm.set_intro("Leave application has been approved.");
+ if(cur_frm.doc.docstatus==0) {
+ cur_frm.set_intro("Please submit to update Leave Balance.");
+ }
} else if(doc.status=="Rejected") {
cur_frm.set_intro("Leave application has been rejected.");
}
}
- }
-
- if(doc.status=="Approved" && doc.docstatus==0) {
- cur_frm.savesubmit()
- }
+ }
}
cur_frm.cscript.employee = function (doc, dt, dn){
diff --git a/hr/doctype/leave_application/leave_application.py b/hr/doctype/leave_application/leave_application.py
index d945367e79..e61f7b5137 100755
--- a/hr/doctype/leave_application/leave_application.py
+++ b/hr/doctype/leave_application/leave_application.py
@@ -33,6 +33,9 @@ class DocType:
def validate(self):
# if self.doc.leave_approver == self.doc.owner:
# webnotes.msgprint("""Self Approval is not allowed.""", raise_exception=1)
+ if self.doc.status not in ("Open", "Approved", "Rejected"):
+ webnotes.msgprint("Status must be one of 'Open', 'Approved' or 'Rejected'",
+ raise_exception=True)
self.validate_to_date()
self.validate_balance_leaves()
diff --git a/manufacturing/page/manufacturing_home/manufacturing_home.html b/manufacturing/page/manufacturing_home/manufacturing_home.html
index ec77b91fa7..737a7c1b11 100644
--- a/manufacturing/page/manufacturing_home/manufacturing_home.html
+++ b/manufacturing/page/manufacturing_home/manufacturing_home.html
@@ -28,7 +28,7 @@
- Companies
+ Companies
List of companies (not customers / suppliers)
- Fiscal Years
+ Fiscal Years
Financial Years for books of accounts
- Currencies
+ Currencies
Currency Master
- Users
+ Users
Add/remove users, set roles, passwords etc
- Permission Manager
+ Permission Manager
Set permissions on transactions / masters
- Amount based Authorization Rules
+ Workflow Manager
+ Set workflow rules.
+
+ Amount based Authorization Rules
Restrict submission rights based on amount
- Data Import Tool
+ Data Import Tool
Import data from spreadsheet (csv) files
- Global Defaults
+ Global Defaults
Set default values for entry
- Recycle Bin
+ Recycle Bin
Un-trash items
@@ -53,75 +57,75 @@
- Email Settings
+ Email Settings
Out going mail server and support ticket mailbox
- Auto Notifications
+ Auto Notifications
Automatic email sending to customers and suppliers
- Email Digests
+ Email Digests
Daily, weekly, monthly email Digests
- SMS Setup
+ SMS Setup
Setup outgoing SMS via your bulk SMS provider
- Send Bulk SMS
+ Send Bulk SMS
Send bulk SMS to leads, customers, contacts
- Customize Forms
+ Customize Forms
Change entry properties (hide fields, make mandatory etc)
- Custom Fields
+ Custom Fields
Add fields to forms
- Custom Scripts
+ Custom Scripts
Add custom code to forms
- Disable Features
+ Disable Features
Simplify entry forms by disabling features
- Modules Setup
+ Modules Setup
Show, hide modules
- Numbering Series
+ Numbering Series
Set multiple numbering series for transactions
- Letter Heads
+ Letter Heads
Letter heads for print
- Print Formats
+ Print Formats
HTML print formats for quotes, invoices etc
- Print Headings
+ Print Headings
Add headers for standard print formats
- Style Settings
+ Style Settings
Change background fonts etc