diff --git a/frappe/__version__.py b/frappe/__version__.py index 39be6071fd..9f9f645091 100644 --- a/frappe/__version__.py +++ b/frappe/__version__.py @@ -1 +1 @@ -__version__ = "4.5.7" +__version__ = "4.5.8" diff --git a/frappe/cli.py b/frappe/cli.py index 8868725f03..b4cc5813f2 100755 --- a/frappe/cli.py +++ b/frappe/cli.py @@ -792,7 +792,7 @@ def run_tests(app=None, module=None, doctype=None, verbose=False, tests=(), driv import frappe.test_runner from frappe.utils import sel - sel.start(verbose, driver) + # sel.start(verbose, driver) ret = 1 try: @@ -801,7 +801,8 @@ def run_tests(app=None, module=None, doctype=None, verbose=False, tests=(), driv if len(ret.failures) == 0 and len(ret.errors) == 0: ret = 0 finally: - sel.close() + pass + # sel.close() return ret diff --git a/frappe/core/doctype/event/event.py b/frappe/core/doctype/event/event.py index a834a06a01..ed93839f2e 100644 --- a/frappe/core/doctype/event/event.py +++ b/frappe/core/doctype/event/event.py @@ -131,7 +131,7 @@ def get_events(start, end, user=None, for_reminder=False): # repeat for all years in period for year in range(start_year, end_year+1): date = str(year) + "-" + event_start - if date >= start and date <= repeat: + if date >= start and date <= end and date <= repeat: add_event(e, date) remove_events.append(e) @@ -148,7 +148,7 @@ def get_events(start, end, user=None, for_reminder=False): start_from = date for i in xrange(int(date_diff(end, start) / 30) + 3): - if date >= start and date <= repeat and date >= event_start: + if date >= start and date <= end and date <= repeat and date >= event_start: add_event(e, date) date = add_months(start_from, i+1) @@ -163,7 +163,7 @@ def get_events(start, end, user=None, for_reminder=False): date = add_days(start, weekday - start_weekday) for cnt in xrange(int(date_diff(end, start) / 7) + 3): - if date >= start and date <= repeat and date >= event_start: + if date >= start and date <= end and date <= repeat and date >= event_start: add_event(e, date) date = add_days(date, 7) @@ -173,7 +173,7 @@ def get_events(start, end, user=None, for_reminder=False): if e.repeat_on=="Every Day": for cnt in xrange(date_diff(end, start) + 1): date = add_days(start, cnt) - if date >= event_start and date <= repeat \ + if date >= event_start and date <= end and date <= repeat \ and e[weekdays[getdate(date).weekday()]]: add_event(e, date) remove_events.append(e) diff --git a/frappe/core/doctype/event/test_event.py b/frappe/core/doctype/event/test_event.py index 0da305d482..ba2ee14ecf 100644 --- a/frappe/core/doctype/event/test_event.py +++ b/frappe/core/doctype/event/test_event.py @@ -8,6 +8,8 @@ import frappe.defaults import unittest import json +from frappe.core.doctype.event.event import get_events + test_records = frappe.get_test_records('Event') class TestEvent(unittest.TestCase): @@ -94,3 +96,26 @@ class TestEvent(unittest.TestCase): # cleanup ev.delete() + def test_recurring(self): + ev = frappe.get_doc({ + "doctype":"Event", + "subject": "_Test Event", + "starts_on": "2014-02-01", + "event_type": "Public", + "repeat_this_event": 1, + "repeat_on": "Every Year" + }) + ev.insert() + + ev_list = get_events("2014-02-01", "2014-02-01", "Administrator", for_reminder=True) + self.assertTrue(filter(lambda e: e.name==ev.name, ev_list)) + + ev_list1 = get_events("2015-01-20", "2015-01-20", "Administrator", for_reminder=True) + self.assertFalse(filter(lambda e: e.name==ev.name, ev_list1)) + + ev_list2 = get_events("2014-02-20", "2014-02-20", "Administrator", for_reminder=True) + self.assertFalse(filter(lambda e: e.name==ev.name, ev_list2)) + + ev_list3 = get_events("2015-02-01", "2015-02-01", "Administrator", for_reminder=True) + self.assertTrue(filter(lambda e: e.name==ev.name, ev_list3)) + diff --git a/frappe/hooks.py b/frappe/hooks.py index f3d3218de8..704053f337 100644 --- a/frappe/hooks.py +++ b/frappe/hooks.py @@ -3,7 +3,7 @@ app_title = "Frappe Framework" app_publisher = "Web Notes Technologies Pvt. Ltd." app_description = "Full Stack Web Application Framework in Python" app_icon = "assets/frappe/images/frappe.svg" -app_version = "4.5.7" +app_version = "4.5.8" app_color = "#3498db" app_email = "support@frappe.io" diff --git a/setup.py b/setup.py index a3508f40a9..72b4637a12 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ from setuptools import setup, find_packages import os -version = "4.5.7" +version = "4.5.8" with open("requirements.txt", "r") as f: install_requires = f.readlines()