From e11b7375910d8cfaba2b117f43cbba58164d6275 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Thu, 3 Apr 2014 15:04:19 +0530 Subject: [PATCH 1/3] frappe/frappe#478 fix and added print heading --- frappe/config/setup.py | 11 +++++++++++ frappe/widgets/form/load.py | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/frappe/config/setup.py b/frappe/config/setup.py index 3db8336266..5c5b98d75c 100644 --- a/frappe/config/setup.py +++ b/frappe/config/setup.py @@ -101,6 +101,17 @@ data = [ }, ] }, + { + "label": _("Printing and Branding"), + "icon": "icon-print", + "items": [ + { + "type": "doctype", + "name": "Print Format", + "description": _("Customized HTML Templates for printing transctions.") + }, + ] + }, { "label": _("Customize"), "icon": "icon-glass", diff --git a/frappe/widgets/form/load.py b/frappe/widgets/form/load.py index 9c7882cb06..67e23369a2 100644 --- a/frappe/widgets/form/load.py +++ b/frappe/widgets/form/load.py @@ -68,7 +68,7 @@ def getdoctype(doctype, with_parent=False, cached_timestamp=None): def get_meta_bundle(doctype): bundle = [frappe.widgets.form.meta.get_meta(doctype)] - for df in bundle[0].as_dict(): + for df in bundle[0].fields: if df.fieldtype=="Table": bundle.append(frappe.widgets.form.meta.get_meta(df.options)) return bundle From fed21f63e72336202c56a6f63782706d1233f9b5 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Thu, 3 Apr 2014 15:37:46 +0530 Subject: [PATCH 2/3] #478, tests pass (hopefully) --- frappe/database.py | 3 ++- frappe/tests/test_document.py | 4 ++-- frappe/utils/__init__.py | 11 +++++++---- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/frappe/database.py b/frappe/database.py index 64f0b31699..c4c29755eb 100644 --- a/frappe/database.py +++ b/frappe/database.py @@ -159,7 +159,8 @@ class Database: self.sql(query) def check_transaction_status(self, query): - if self.transaction_writes and query and query.strip().split()[0].lower() in ['start', 'alter', 'drop', 'create', "begin"]: + if not frappe.flags.in_test and self.transaction_writes and \ + query and query.strip().split()[0].lower() in ['start', 'alter', 'drop', 'create', "begin"]: raise Exception, 'This statement can cause implicit commit' if query and query.strip().lower() in ('commit', 'rollback'): diff --git a/frappe/tests/test_document.py b/frappe/tests/test_document.py index c48fc3b701..39be2462d3 100644 --- a/frappe/tests/test_document.py +++ b/frappe/tests/test_document.py @@ -13,9 +13,9 @@ class TestDocument(unittest.TestCase): self.assertEquals(d.doctype, "DocType") self.assertEquals(d.name, "User") self.assertEquals(d.allow_rename, 1) - self.assertTrue(isinstance(d.as_dict(), list)) + self.assertTrue(isinstance(d.fields, list)) self.assertTrue(isinstance(d.permissions, list)) - self.assertTrue(filter(lambda d: d.fieldname=="email", d.as_dict())) + self.assertTrue(filter(lambda d: d.fieldname=="email", d.fields)) def test_load_single(self): d = frappe.get_doc("Website Settings", "Website Settings") diff --git a/frappe/utils/__init__.py b/frappe/utils/__init__.py index b877452c2e..7d7adf90b5 100644 --- a/frappe/utils/__init__.py +++ b/frappe/utils/__init__.py @@ -216,12 +216,15 @@ def get_datetime(datetime_str): from datetime import datetime if isinstance(datetime_str, datetime): return datetime_str.replace(tzinfo=None) - - try: + + if datetime_str=='0000-00-00 00:00:00.000000': + return None + + if len(datetime_str)==26: return datetime.strptime(datetime_str, '%Y-%m-%d %H:%M:%S.%f') - except ValueError: + else: return datetime.strptime(datetime_str, '%Y-%m-%d %H:%M:%S') - + def get_datetime_str(datetime_obj): if isinstance(datetime_obj, basestring): datetime_obj = get_datetime(datetime_obj) From 9f266a72ee3879025516690f753cfc241a2be317 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Thu, 3 Apr 2014 15:45:33 +0530 Subject: [PATCH 3/3] #478, tests pass (hopefully) --- frappe/tests/test_document.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frappe/tests/test_document.py b/frappe/tests/test_document.py index 39be2462d3..3cc8b1ae1d 100644 --- a/frappe/tests/test_document.py +++ b/frappe/tests/test_document.py @@ -26,14 +26,14 @@ class TestDocument(unittest.TestCase): def test_insert(self): d = frappe.get_doc({ "doctype":"Event", - "subject":"_Test Event 1", + "subject":"test-doc-test-event 1", "starts_on": "2014-01-01", "event_type": "Public" }) d.insert() self.assertTrue(d.name.startswith("EV")) self.assertEquals(frappe.db.get_value("Event", d.name, "subject"), - "_Test Event 1") + "test-doc-test-event 1") # test if default values are added self.assertEquals(d.send_reminder, 1) @@ -42,7 +42,7 @@ class TestDocument(unittest.TestCase): def test_insert_with_child(self): d = frappe.get_doc({ "doctype":"Event", - "subject":"_Test Event 2", + "subject":"test-doc-test-event 2", "starts_on": "2014-01-01", "event_type": "Public", "event_individuals": [ @@ -54,7 +54,7 @@ class TestDocument(unittest.TestCase): d.insert() self.assertTrue(d.name.startswith("EV")) self.assertEquals(frappe.db.get_value("Event", d.name, "subject"), - "_Test Event 2") + "test-doc-test-event 2") d1 = frappe.get_doc("Event", d.name) self.assertTrue(d1.event_individuals[0].person, "Administrator")