From d5f3479f580a34f6e837b030a3537fb2fe284afd Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Mon, 5 Jan 2015 16:18:36 +0530 Subject: [PATCH] [fix] calendar and dirty --- frappe/desk/doctype/event/event.py | 4 ++-- frappe/public/js/frappe/views/calendar.js | 11 +++++++++-- frappe/public/js/legacy/form.js | 3 ++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/frappe/desk/doctype/event/event.py b/frappe/desk/doctype/event/event.py index a50364109c..829a9268ef 100644 --- a/frappe/desk/doctype/event/event.py +++ b/frappe/desk/doctype/event/event.py @@ -14,8 +14,8 @@ class Event(Document): def validate(self): if self.starts_on and self.ends_on and self.starts_on > self.ends_on: frappe.msgprint(frappe._("Event end must be after start"), raise_exception=True) - if self.starts_on and self.ends_on and int(date_diff(self.ends_on.split(" ")[0], self.starts_on.split(" ")[0])) > 0 \ - and self.repeat_on == "Every Day": + if self.repeat_on == "Every Day" and self.starts_on and self.ends_on \ + and int(date_diff(self.ends_on.split(" ")[0], self.starts_on.split(" ")[0])) > 0: frappe.msgprint(frappe._("Every day events should finish on the same day."), raise_exception=True) def get_permission_query_conditions(user): diff --git a/frappe/public/js/frappe/views/calendar.js b/frappe/public/js/frappe/views/calendar.js index 3e10de3169..f63f62056c 100644 --- a/frappe/public/js/frappe/views/calendar.js +++ b/frappe/public/js/frappe/views/calendar.js @@ -153,8 +153,15 @@ frappe.views.Calendar = Class.extend({ if(me.field_map.end) event[me.field_map.end] = frappe.datetime.get_datetime_as_string(endDate); - if(me.field_map.allDay) - event[me.field_map.allDay] = (startDate._ambigTime && endDate._ambigTime) ? 1 : 0; + if(me.field_map.allDay) { + var all_day = (startDate._ambigTime && endDate._ambigTime) ? 1 : 0; + + event[me.field_map.allDay] = all_day; + + if (all_day) + event[me.field_map.end] = frappe.datetime.get_datetime_as_string(endDate.subtract(1, "s")); + } + frappe.set_route("Form", me.doctype, event.name); }, diff --git a/frappe/public/js/legacy/form.js b/frappe/public/js/legacy/form.js index af5377da3f..8e73059411 100644 --- a/frappe/public/js/legacy/form.js +++ b/frappe/public/js/legacy/form.js @@ -704,7 +704,8 @@ _f.get_value = function(dt, dn, fn) { _f.Frm.prototype.dirty = function() { this.doc.__unsaved = 1; - $(this.wrapper).trigger('dirty') + $(this.wrapper).trigger('dirty'); + this.toolbar.set_primary_action(true); } _f.Frm.prototype.get_docinfo = function() {