Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/controllers/accounts_controller.py b/controllers/accounts_controller.py
index f73d16a..822717b 100644
--- a/controllers/accounts_controller.py
+++ b/controllers/accounts_controller.py
@@ -20,7 +20,7 @@
from webnotes.utils import flt, cint, today, cstr
from setup.utils import get_company_currency, get_price_list_currency
from accounts.utils import get_fiscal_year, validate_fiscal_year
-from utilities.transaction_base import TransactionBase, validate_conversion_rate, validate_uom_is_integer
+from utilities.transaction_base import TransactionBase, validate_conversion_rate
import json
class AccountsController(TransactionBase):
@@ -55,15 +55,15 @@
label=self.meta.get_label(date_field))
def validate_for_freezed_account(self):
- for fld in ["customer", "supplier"]:
- if self.meta.get_field(fld):
- accounts = webnotes.conn.get_values("Account", {"master_type": fld.upper(),
- "master_name": self.doc.fields[fld], "company": self.doc.company},
+ for fieldname in ["customer", "supplier"]:
+ if self.meta.get_field(fieldname) and self.doc.fields.get(fieldname):
+ accounts = webnotes.conn.get_values("Account", {"master_type": fieldname.title(),
+ "master_name": self.doc.fields[fieldname], "company": self.doc.company},
"freeze_account", as_dict=1)
if accounts:
if not filter(lambda x: cstr(x.freeze_account) in ["", "No"], accounts):
- msgprint(_("Account for this ") + fld + _(" has been freezed. ") +
+ msgprint(_("Account for this ") + fieldname + _(" has been freezed. ") +
self.doc.doctype + _(" can not be made."), raise_exception=1)
def set_price_list_currency(self, buying_or_selling):
diff --git a/docs/docs.user.tools.calendar.md b/docs/docs.user.tools.calendar.md
index bf2923a..df70186 100644
--- a/docs/docs.user.tools.calendar.md
+++ b/docs/docs.user.tools.calendar.md
@@ -4,3 +4,18 @@
}
---
The Calendar is a tool where you can create and share Events and also see auto-generated events from the system.
+
+### Repeating Events
+
+You can set events to repeat on every interval by Checking the "Repeat This Event"
+as shown in the example.
+
+
+
+You can see the repeat events by switching back to the calendar.
+
+
+
+### Reminders
+
+You will also get a daily digest of all upcoming events for the day if any if the reminder field is checked.
\ No newline at end of file
diff --git a/hr/doctype/grade/grade.txt b/hr/doctype/grade/grade.txt
index 0050ed9..fdfa5c7 100644
--- a/hr/doctype/grade/grade.txt
+++ b/hr/doctype/grade/grade.txt
@@ -2,7 +2,7 @@
{
"creation": "2013-01-10 16:34:14",
"docstatus": 0,
- "modified": "2013-07-22 15:27:26",
+ "modified": "2013-07-26 15:24:31",
"modified_by": "Administrator",
"owner": "Administrator"
},
@@ -16,11 +16,17 @@
},
{
"doctype": "DocField",
+ "fieldname": "grade_name",
+ "fieldtype": "Data",
+ "label": "Grade",
"name": "__common__",
+ "oldfieldname": "grade_name",
+ "oldfieldtype": "Data",
"parent": "Grade",
"parentfield": "fields",
"parenttype": "DocType",
- "permlevel": 0
+ "permlevel": 0,
+ "reqd": 1
},
{
"cancel": 1,
@@ -42,22 +48,7 @@
"name": "Grade"
},
{
- "doctype": "DocField",
- "fieldname": "trash_reason",
- "fieldtype": "Small Text",
- "label": "Trash Reason",
- "oldfieldname": "trash_reason",
- "oldfieldtype": "Small Text",
- "read_only": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "grade_name",
- "fieldtype": "Data",
- "label": "Grade",
- "oldfieldname": "grade_name",
- "oldfieldtype": "Data",
- "reqd": 1
+ "doctype": "DocField"
},
{
"doctype": "DocPerm"
diff --git a/setup/doctype/email_digest/email_digest.py b/setup/doctype/email_digest/email_digest.py
index 881e35a..0354b50 100644
--- a/setup/doctype/email_digest/email_digest.py
+++ b/setup/doctype/email_digest/email_digest.py
@@ -294,7 +294,7 @@
def get_calendar_events(self, user_id):
from core.doctype.event.event import get_events
- events = get_events(self.future_from_date, self.future_to_date)
+ events = get_events(self.future_from_date.strftime("%Y-%m-%d"), self.future_to_date.strftime("%Y-%m-%d"))
html = ""
if events:
diff --git a/startup/open_count.py b/startup/open_count.py
index 7a4866b..04e0029 100644
--- a/startup/open_count.py
+++ b/startup/open_count.py
@@ -41,14 +41,10 @@
def get_todays_events():
"""Returns a count of todays events in calendar"""
+ from core.doctype.event.event import get_events
from webnotes.utils import nowdate
- todays_events = webnotes.conn.sql("""\
- SELECT COUNT(*) FROM `tabEvent`
- WHERE owner = %s
- AND event_type != 'Cancel'
- AND %s between date(starts_on) and date(ends_on)""", (
- webnotes.session.user, nowdate()))
- return todays_events[0][0]
+ today = nowdate()
+ return len(get_events(today, today))
def get_unread_messages():
"returns unread (docstatus-0 messages for a user)"
diff --git a/startup/schedule_handlers.py b/startup/schedule_handlers.py
index 99cc05b..28ff2ae 100644
--- a/startup/schedule_handlers.py
+++ b/startup/schedule_handlers.py
@@ -39,6 +39,10 @@
run_fn(flush)
def execute_daily():
+ # event reminders
+ from core.doctype.event.event import send_event_digest
+ run_fn(send_event_digest)
+
# email digest
from setup.doctype.email_digest.email_digest import send
run_fn(send)
diff --git a/website/css/website.css b/website/css/website.css
index f2880e8..cdd277b 100644
--- a/website/css/website.css
+++ b/website/css/website.css
@@ -185,9 +185,4 @@
fieldset[disabled] .btn-default.active {
background-color: #a7a9aa;
border-color: #a7a9aa;
-}
-
-.breadcrumb {
- margin: 0 -20px 20px;
- border-radius: 0px;
}
\ No newline at end of file