@@ -1 +1 @@ | |||||
__version__ = "4.5.7" | |||||
__version__ = "4.5.8" |
@@ -792,7 +792,7 @@ def run_tests(app=None, module=None, doctype=None, verbose=False, tests=(), driv | |||||
import frappe.test_runner | import frappe.test_runner | ||||
from frappe.utils import sel | from frappe.utils import sel | ||||
sel.start(verbose, driver) | |||||
# sel.start(verbose, driver) | |||||
ret = 1 | ret = 1 | ||||
try: | 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: | if len(ret.failures) == 0 and len(ret.errors) == 0: | ||||
ret = 0 | ret = 0 | ||||
finally: | finally: | ||||
sel.close() | |||||
pass | |||||
# sel.close() | |||||
return ret | return ret | ||||
@@ -131,7 +131,7 @@ def get_events(start, end, user=None, for_reminder=False): | |||||
# repeat for all years in period | # repeat for all years in period | ||||
for year in range(start_year, end_year+1): | for year in range(start_year, end_year+1): | ||||
date = str(year) + "-" + event_start | date = str(year) + "-" + event_start | ||||
if date >= start and date <= repeat: | |||||
if date >= start and date <= end and date <= repeat: | |||||
add_event(e, date) | add_event(e, date) | ||||
remove_events.append(e) | remove_events.append(e) | ||||
@@ -148,7 +148,7 @@ def get_events(start, end, user=None, for_reminder=False): | |||||
start_from = date | start_from = date | ||||
for i in xrange(int(date_diff(end, start) / 30) + 3): | 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) | add_event(e, date) | ||||
date = add_months(start_from, i+1) | 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) | date = add_days(start, weekday - start_weekday) | ||||
for cnt in xrange(int(date_diff(end, start) / 7) + 3): | 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) | add_event(e, date) | ||||
date = add_days(date, 7) | 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": | if e.repeat_on=="Every Day": | ||||
for cnt in xrange(date_diff(end, start) + 1): | for cnt in xrange(date_diff(end, start) + 1): | ||||
date = add_days(start, cnt) | 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()]]: | and e[weekdays[getdate(date).weekday()]]: | ||||
add_event(e, date) | add_event(e, date) | ||||
remove_events.append(e) | remove_events.append(e) | ||||
@@ -8,6 +8,8 @@ import frappe.defaults | |||||
import unittest | import unittest | ||||
import json | import json | ||||
from frappe.core.doctype.event.event import get_events | |||||
test_records = frappe.get_test_records('Event') | test_records = frappe.get_test_records('Event') | ||||
class TestEvent(unittest.TestCase): | class TestEvent(unittest.TestCase): | ||||
@@ -94,3 +96,26 @@ class TestEvent(unittest.TestCase): | |||||
# cleanup | # cleanup | ||||
ev.delete() | 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)) | |||||
@@ -3,7 +3,7 @@ app_title = "Frappe Framework" | |||||
app_publisher = "Web Notes Technologies Pvt. Ltd." | app_publisher = "Web Notes Technologies Pvt. Ltd." | ||||
app_description = "Full Stack Web Application Framework in Python" | app_description = "Full Stack Web Application Framework in Python" | ||||
app_icon = "assets/frappe/images/frappe.svg" | app_icon = "assets/frappe/images/frappe.svg" | ||||
app_version = "4.5.7" | |||||
app_version = "4.5.8" | |||||
app_color = "#3498db" | app_color = "#3498db" | ||||
app_email = "support@frappe.io" | app_email = "support@frappe.io" | ||||
@@ -1,7 +1,7 @@ | |||||
from setuptools import setup, find_packages | from setuptools import setup, find_packages | ||||
import os | import os | ||||
version = "4.5.7" | |||||
version = "4.5.8" | |||||
with open("requirements.txt", "r") as f: | with open("requirements.txt", "r") as f: | ||||
install_requires = f.readlines() | install_requires = f.readlines() | ||||