From 0efb2e4da22eba194b215c5bdeff89435c09877f Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Wed, 2 Apr 2014 18:09:37 +0530 Subject: [PATCH] frappe/frappe#478 erpnext install works --- .../outgoing_email_settings/outgoing_email_settings.py | 1 - frappe/core/doctype/property_setter/property_setter.py | 2 +- frappe/model/document.py | 5 ++++- frappe/utils/__init__.py | 5 ++++- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/frappe/core/doctype/outgoing_email_settings/outgoing_email_settings.py b/frappe/core/doctype/outgoing_email_settings/outgoing_email_settings.py index b128b6b50a..5ee88d31a8 100644 --- a/frappe/core/doctype/outgoing_email_settings/outgoing_email_settings.py +++ b/frappe/core/doctype/outgoing_email_settings/outgoing_email_settings.py @@ -11,7 +11,6 @@ from frappe.model.document import Document class OutgoingEmailSettings(Document): def validate(self): - self.encode() if self.mail_server: from frappe.utils import cint from frappe.utils.email_lib.smtp import SMTPServer diff --git a/frappe/core/doctype/property_setter/property_setter.py b/frappe/core/doctype/property_setter/property_setter.py index 32bd0ca88b..af529b84d6 100644 --- a/frappe/core/doctype/property_setter/property_setter.py +++ b/frappe/core/doctype/property_setter/property_setter.py @@ -20,7 +20,7 @@ class PropertySetter(Document): doctype_or_field = %(doctype_or_field)s and doc_type = %(doc_type)s and ifnull(field_name,'') = ifnull(%(field_name)s, '') - and property = %(property)s""", self.fields) + and property = %(property)s""", self.get_valid_dict()) # clear cache frappe.clear_cache(doctype = self.doc_type) diff --git a/frappe/model/document.py b/frappe/model/document.py index cfd6b9877d..b8d7f073b7 100644 --- a/frappe/model/document.py +++ b/frappe/model/document.py @@ -324,9 +324,12 @@ class Document(BaseDocument): frappe.throw("{}: {}".format(_("Could not find the following documents"), msg), frappe.LinkValidationError) - def get_all_children(self): + def get_all_children(self, parenttype=None): ret = [] for df in self.meta.get("fields", {"fieldtype": "Table"}): + if parenttype: + if df.options==parenttype: + return self.get(df.fieldname) value = self.get(df.fieldname) if isinstance(value, list): ret.extend(value) diff --git a/frappe/utils/__init__.py b/frappe/utils/__init__.py index 1dcf7a094b..b877452c2e 100644 --- a/frappe/utils/__init__.py +++ b/frappe/utils/__init__.py @@ -217,7 +217,10 @@ def get_datetime(datetime_str): if isinstance(datetime_str, datetime): return datetime_str.replace(tzinfo=None) - return datetime.strptime(datetime_str, '%Y-%m-%d %H:%M:%S.%f') + try: + return datetime.strptime(datetime_str, '%Y-%m-%d %H:%M:%S.%f') + except ValueError: + return datetime.strptime(datetime_str, '%Y-%m-%d %H:%M:%S') def get_datetime_str(datetime_obj): if isinstance(datetime_obj, basestring):