From 5d4e39bef61d27a76650dba8cb5d40c18e11f02e Mon Sep 17 00:00:00 2001
From: Rushabh Mehta
Date: Thu, 3 Apr 2014 14:30:49 +0530
Subject: [PATCH] frappe/frappe#478, more changes, removed bean
---
frappe/api.py | 10 +++---
frappe/client.py | 34 +++++++++----------
.../doctype/communication/communication.py | 10 +++---
.../doctype/customize_form/customize_form.py | 6 ++--
frappe/core/doctype/doctype/doctype.py | 9 ++---
.../notification_count/notification_count.py | 4 +--
.../core/doctype/print_format/print_format.py | 6 ++--
frappe/core/page/data_import_tool/importer.py | 6 ++--
frappe/handler.py | 7 ++--
frappe/model/meta.py | 18 +++++-----
frappe/model/naming.py | 2 +-
frappe/permissions.py | 6 ++--
frappe/templates/generators/blog_post.py | 4 +--
frappe/templates/generators/web_page.py | 4 +--
frappe/templates/generators/website_group.py | 12 +++----
frappe/templates/includes/comments.py | 2 +-
frappe/templates/pages/about.html | 8 ++---
frappe/templates/pages/about.py | 2 +-
frappe/templates/pages/contact.py | 10 +++---
frappe/templates/website_group/post.py | 4 +--
frappe/templates/website_group/settings.py | 2 +-
frappe/test_runner.py | 1 +
frappe/tests/test_document.py | 4 +--
frappe/utils/datautils.py | 20 +++++------
frappe/utils/file_manager.py | 4 +--
frappe/utils/user.py | 2 +-
frappe/utils/verified_command.py | 14 ++++----
frappe/website/context.py | 12 +++----
.../doctype/blog_post/test_blog_post.py | 26 +++++++-------
frappe/website/doctype/post/post.py | 2 +-
.../website_slideshow/website_slideshow.py | 4 +--
frappe/website/statics.py | 16 ++++-----
frappe/widgets/event.py | 2 +-
frappe/widgets/form/load.py | 2 +-
frappe/widgets/query_report.py | 10 +++---
35 files changed, 142 insertions(+), 143 deletions(-)
diff --git a/frappe/api.py b/frappe/api.py
index 01cec3b335..676a589e49 100644
--- a/frappe/api.py
+++ b/frappe/api.py
@@ -41,17 +41,17 @@ def handle():
elif call=="resource":
if "run_method" in frappe.local.form_dict:
- bean = frappe.get_doc(doctype, name)
+ doc = frappe.get_doc(doctype, name)
if frappe.local.request.method=="GET":
- if not bean.has_permission("read"):
+ if not doc.has_permission("read"):
frappe.throw("No Permission", frappe.PermissionError)
- bean.run_method(frappe.local.form_dict.run_method, **frappe.local.form_dict)
+ doc.run_method(frappe.local.form_dict.run_method, **frappe.local.form_dict)
if frappe.local.request.method=="POST":
- if not bean.has_permission("write"):
+ if not doc.has_permission("write"):
frappe.throw("No Permission", frappe.PermissionError)
- bean.run_method(frappe.local.form_dict.run_method, **frappe.local.form_dict)
+ doc.run_method(frappe.local.form_dict.run_method, **frappe.local.form_dict)
frappe.db.commit()
else:
diff --git a/frappe/client.py b/frappe/client.py
index 108868f192..f11c55bcfd 100644
--- a/frappe/client.py
+++ b/frappe/client.py
@@ -32,16 +32,16 @@ def set_value(doctype, name, fieldname, value):
doc = frappe.db.get_value(doctype, name, ["parenttype", "parent"], as_dict=True)
if doc and doc.parent:
- bean = frappe.get_doc(doc.parenttype, doc.parent)
- child = bean.getone({"doctype": doctype, "name": name})
+ doc = frappe.get_doc(doc.parenttype, doc.parent)
+ child = doc.getone({"doctype": doctype, "name": name})
child.set(fieldname, value)
else:
- bean = frappe.get_doc(doctype, name)
- bean.set(fieldname, value)
+ doc = frappe.get_doc(doctype, name)
+ doc.set(fieldname, value)
- bean.save()
+ doc.save()
- return bean.as_dict()
+ return doc.as_dict()
@frappe.whitelist()
def insert(doclist):
@@ -54,21 +54,21 @@ def insert(doclist):
if doclist[0].get("parent") and doclist[0].get("parenttype"):
# inserting a child record
d = doclist[0]
- bean = frappe.get_doc(d["parenttype"], d["parent"])
- bean.append(d)
- bean.save()
+ doc = frappe.get_doc(d["parenttype"], d["parent"])
+ doc.append(d)
+ doc.save()
return [d]
else:
- bean = frappe.get_doc(doclist).insert()
- return bean.as_dict()
+ doc = frappe.get_doc(doclist).insert()
+ return doc.as_dict()
@frappe.whitelist()
def save(doclist):
if isinstance(doclist, basestring):
doclist = json.loads(doclist)
- bean = frappe.get_doc(doclist).save()
- return bean.as_dict()
+ doc = frappe.get_doc(doclist).save()
+ return doc.as_dict()
@frappe.whitelist()
def rename_doc(doctype, old_name, new_name, merge=False):
@@ -104,7 +104,7 @@ def set_default(key, value, parent=None):
@frappe.whitelist()
def make_width_property_setter():
- doc = json.loads(frappe.form_dict.doc)
+ doc = json.loads(frappe.form_dict)
if doc["doctype"]=="Property Setter" and doc["property"]=="width":
frappe.get_doc(doc).insert(ignore_permissions = True)
@@ -117,9 +117,9 @@ def bulk_update(docs):
ddoc = {key: val for key, val in doc.iteritems() if key not in ['doctype', 'docname']}
doctype = doc['doctype']
docname = doc['docname']
- bean = frappe.get_doc(doctype, docname)
- bean.update(ddoc)
- bean.save()
+ doc = frappe.get_doc(doctype, docname)
+ doc.update(ddoc)
+ doc.save()
except:
failed_docs.append({
'doc': doc,
diff --git a/frappe/core/doctype/communication/communication.py b/frappe/core/doctype/communication/communication.py
index b17780da83..8c77a1f5bf 100644
--- a/frappe/core/doctype/communication/communication.py
+++ b/frappe/core/doctype/communication/communication.py
@@ -15,12 +15,12 @@ from frappe.utils import scrub_urls
from frappe.model.document import Document
class Communication(Document):
- def get_parent_bean(self):
+ def get_parent_doc(self):
return frappe.get_doc(self.parenttype, self.parent)
def update_parent(self):
"""update status of parent Lead or Contact based on who is replying"""
- observer = self.get_parent_bean().get_attr("on_communication")
+ observer = self.get_parent_doc().get_attr("on_communication")
if observer:
observer()
@@ -58,8 +58,8 @@ def _make(doctype=None, name=None, content=None, subject=None, sent_or_received
if isinstance(sender, (tuple, list)) and len(sender)==2:
sender = formataddr(sender)
- comm = frappe.new_bean('Communication')
- d = comm.doc
+ comm = frappe.new_doc('Communication')
+ d = comm
d.subject = subject
d.content = content
d.sent_or_received = sent_or_received
@@ -81,7 +81,7 @@ def _make(doctype=None, name=None, content=None, subject=None, sent_or_received
comm.insert()
if send_email:
- d = comm.doc
+ d = comm
send_comm_email(d, name, sent_via, print_html, attachments, send_me_a_copy)
@frappe.whitelist()
diff --git a/frappe/core/doctype/customize_form/customize_form.py b/frappe/core/doctype/customize_form/customize_form.py
index b871cab778..1fe5007cd2 100644
--- a/frappe/core/doctype/customize_form/customize_form.py
+++ b/frappe/core/doctype/customize_form/customize_form.py
@@ -152,7 +152,7 @@ class CustomizeForm(Document):
if ref_d.get("__custom_field"):
# update custom field
if self.has_property_changed(ref_d, new_d, prop):
- # using set_value not bean because validations are called
+ # using set_value not doc because validations are called
# in the end anyways
frappe.db.set_value("Custom Field", ref_d.name, prop, new_d.get(prop))
else:
@@ -294,13 +294,13 @@ class CustomizeForm(Document):
frappe.db.sql("""
DELETE FROM `tabProperty Setter`
WHERE doc_type = %(doc_type)s
- AND property = %(property)s""", d.fields)
+ AND property = %(property)s""", d.as_dict())
else:
frappe.db.sql("""
DELETE FROM `tabProperty Setter`
WHERE doc_type = %(doc_type)s
AND field_name = %(field_name)s
- AND property = %(property)s""", d.fields)
+ AND property = %(property)s""", d.as_dict())
# Save the property setter doc if not marked for deletion i.e. delete=0
if not d.delete:
diff --git a/frappe/core/doctype/doctype/doctype.py b/frappe/core/doctype/doctype/doctype.py
index 916351a8f2..a1017c0c5d 100644
--- a/frappe/core/doctype/doctype/doctype.py
+++ b/frappe/core/doctype/doctype/doctype.py
@@ -176,23 +176,24 @@ def validate_fields(fields):
def check_illegal_mandatory(d):
if d.fieldtype in ('HTML', 'Button', 'Section Break', 'Column Break') and d.reqd:
- frappe.msgprint('%(label)s [%(fieldtype)s] cannot be mandatory' % d.fields,
+ print d.fieldname, d.reqd
+ frappe.msgprint('%(parent)s, %(label)s [%(fieldtype)s] cannot be mandatory' % d.as_dict(),
raise_exception=1)
def check_link_table_options(d):
if d.fieldtype in ("Link", "Table"):
if not d.options:
- frappe.msgprint("""#%(idx)s %(label)s: Options must be specified for Link and Table type fields""" % d.fields,
+ frappe.msgprint("""#%(idx)s %(label)s: Options must be specified for Link and Table type fields""" % d.as_dict(),
raise_exception=1)
if d.options=="[Select]":
return
if d.options != d.parent and not frappe.db.exists("DocType", d.options):
- frappe.msgprint("""#%(idx)s %(label)s: Options %(options)s must be a valid "DocType" for Link and Table type fields""" % d.fields,
+ frappe.msgprint("""#%(idx)s %(label)s: Options %(options)s must be a valid "DocType" for Link and Table type fields""" % d.as_dict(),
raise_exception=1)
def check_hidden_and_mandatory(d):
if d.hidden and d.reqd and not d.default:
- frappe.msgprint("""#%(idx)s %(label)s: Cannot be hidden and mandatory (reqd) without default""" % d.fields,
+ frappe.msgprint("""#%(idx)s %(label)s: Cannot be hidden and mandatory (reqd) without default""" % d.as_dict(),
raise_exception=True)
def check_min_items_in_list(fields):
diff --git a/frappe/core/doctype/notification_count/notification_count.py b/frappe/core/doctype/notification_count/notification_count.py
index d58f650a59..36c624a5f6 100644
--- a/frappe/core/doctype/notification_count/notification_count.py
+++ b/frappe/core/doctype/notification_count/notification_count.py
@@ -59,12 +59,12 @@ def delete_notification_count_for(doctype):
def delete_event_notification_count():
delete_notification_count_for("Event")
-def clear_doctype_notifications(bean, method=None):
+def clear_doctype_notifications(doc, method=None):
if frappe.flags.in_import:
return
config = get_notification_config()
- doctype = bean.doctype
+ doctype = doc.doctype
if doctype in config.for_doctype:
delete_notification_count_for(doctype)
diff --git a/frappe/core/doctype/print_format/print_format.py b/frappe/core/doctype/print_format/print_format.py
index 52a12536a4..0a8953a1a3 100644
--- a/frappe/core/doctype/print_format/print_format.py
+++ b/frappe/core/doctype/print_format/print_format.py
@@ -48,16 +48,16 @@ def get_args():
%s
""" % repr(frappe.form_dict)
}
- bean = frappe.get_doc(frappe.form_dict.doctype, frappe.form_dict.name)
+ doc = frappe.get_doc(frappe.form_dict.doctype, frappe.form_dict.name)
for ptype in ("read", "print"):
- if not frappe.has_permission(bean.doctype, ptype, bean):
+ if not frappe.has_permission(doc.doctype, ptype, doc):
return {
"body": """Error
No {ptype} permission
""".format(ptype=ptype)
}
return {
- "body": get_html(bean),
+ "body": get_html(doc),
"css": get_print_style(frappe.form_dict.style),
"comment": frappe.session.user
}
diff --git a/frappe/core/page/data_import_tool/importer.py b/frappe/core/page/data_import_tool/importer.py
index ba292ee6fa..5e2ed8ff9a 100644
--- a/frappe/core/page/data_import_tool/importer.py
+++ b/frappe/core/page/data_import_tool/importer.py
@@ -181,7 +181,7 @@ def upload(rows = None, submit_after_import=None, ignore_encoding_errors=False,
continue
row_idx = i + start_row
- bean = None
+ doc = None
doc = get_doc(row_idx)
try:
@@ -209,8 +209,8 @@ def upload(rows = None, submit_after_import=None, ignore_encoding_errors=False,
ret.append('Submitted row (#%d) %s' % (row_idx + 1, getlink(doc.doctype, doc.name)))
except Exception, e:
error = True
- if bean:
- frappe.errprint(bean.as_dict())
+ if doc:
+ frappe.errprint(doc.as_dict())
err_msg = frappe.local.message_log and "
".join(frappe.local.message_log) or cstr(e)
ret.append('Error for row (#%d) %s : %s' % (row_idx + 1,
len(row)>1 and row[1] or "", err_msg))
diff --git a/frappe/handler.py b/frappe/handler.py
index 4ad72503e6..2e3f39602e 100755
--- a/frappe/handler.py
+++ b/frappe/handler.py
@@ -33,10 +33,9 @@ def web_logout():
@frappe.whitelist(allow_guest=True)
def run_custom_method(doctype, name, custom_method):
"""cmd=run_custom_method&doctype={doctype}&name={name}&custom_method={custom_method}"""
- bean = frappe.get_doc(doctype, name)
- controller = bean.get_controller()
- if getattr(controller, custom_method, frappe._dict()).is_whitelisted:
- frappe.call(getattr(controller, custom_method), **frappe.local.form_dict)
+ doc = frappe.get_doc(doctype, name)
+ if getattr(doc, custom_method, frappe._dict()).is_whitelisted:
+ frappe.call(getattr(doc, custom_method), **frappe.local.form_dict)
else:
frappe.throw("Not Allowed")
diff --git a/frappe/model/meta.py b/frappe/model/meta.py
index 534b03ad4d..4d759abf54 100644
--- a/frappe/model/meta.py
+++ b/frappe/model/meta.py
@@ -21,10 +21,10 @@ def get_meta(doctype, cached=True):
class Meta(Document):
_metaclass = True
- _fields = {}
default_fields = default_fields[1:]
special_doctypes = ("DocField", "DocPerm", "Role", "DocType", "Module Def")
def __init__(self, doctype):
+ self._fields = {}
super(Meta, self).__init__("DocType", doctype)
self.process()
@@ -108,19 +108,19 @@ class Meta(Document):
def apply_property_setters(self):
for ps in frappe.db.sql("""select * from `tabProperty Setter` where
doc_type=%s""", (self.name,), as_dict=1):
- if ps['doctype_or_field']=='DocType':
- if ps.get('property_type', None) in ('Int', 'Check'):
- ps['value'] = cint(ps['value'])
+ if ps.doctype_or_field=='DocType':
+ if ps.property_type in ('Int', 'Check'):
+ ps.value = cint(ps.value)
- self.set(ps["property"], ps["value"])
+ self.set(ps.property, ps.value)
else:
- docfield = self.get("fields", {"fieldname":ps["fieldname"]}, limit=1)[0]
+ docfield = self.get("fields", {"fieldname":ps.field_name}, limit=1)[0]
if not docfield: continue
- if ps["property"] in integer_docfield_properties:
- ps['value'] = cint(ps['value'])
+ if ps.property in integer_docfield_properties:
+ ps.value = cint(ps.value)
- docfield.set(ps["property"], ps["value"])
+ docfield.set(ps.property, ps.value)
def sort_fields(self):
"""sort on basis of previous_field"""
diff --git a/frappe/model/naming.py b/frappe/model/naming.py
index 659247134b..4e36156ae4 100644
--- a/frappe/model/naming.py
+++ b/frappe/model/naming.py
@@ -8,7 +8,7 @@ from frappe.utils import now_datetime, cint
def set_new_name(doc):
if getattr(doc, "_new_name_set", False):
- # already set by bean
+ # already set by doc
return
doc._new_name_set = True
diff --git a/frappe/permissions.py b/frappe/permissions.py
index 7ceca5dda2..6a61257b56 100644
--- a/frappe/permissions.py
+++ b/frappe/permissions.py
@@ -105,13 +105,13 @@ def has_unrestricted_access(doc, verbose=True):
def has_controller_permissions(doc):
if doc.get("__islocal"):
- bean = frappe.get_doc([doc])
+ doc = frappe.get_doc([doc])
else:
- bean = frappe.get_doc(doc.doctype, doc.name)
+ doc = frappe.get_doc(doc.doctype, doc.name)
condition_methods = frappe.get_hooks("has_permission:" + doc.doctype)
for method in frappe.get_hooks("has_permission:" + doc.doctype):
- if not frappe.call(frappe.get_attr(method), doc=doc, bean=bean):
+ if not frappe.call(frappe.get_attr(method), doc=doc, doc=doc):
return False
return True
diff --git a/frappe/templates/generators/blog_post.py b/frappe/templates/generators/blog_post.py
index 17ee3e6460..fd24ce9abd 100644
--- a/frappe/templates/generators/blog_post.py
+++ b/frappe/templates/generators/blog_post.py
@@ -13,7 +13,7 @@ sort_by = "published_on"
sort_order = "desc"
def get_context(context):
- blog_post = context.bean.doc
+ blog_post = context.doc
# this is for double precaution. usually it wont reach this code if not published
if not cint(blog_post.published):
@@ -37,7 +37,7 @@ def get_context(context):
and comment_docname=%s order by creation""", (blog_post.name,), as_dict=1) or []
- return blog_post.fields
+ return blog_post.as_dict()
@frappe.whitelist(allow_guest=True)
def get_blog_list(start=0, by=None, category=None):
diff --git a/frappe/templates/generators/web_page.py b/frappe/templates/generators/web_page.py
index 8887ae154b..74f49521f4 100644
--- a/frappe/templates/generators/web_page.py
+++ b/frappe/templates/generators/web_page.py
@@ -9,7 +9,7 @@ doctype = "Web Page"
condition_field = "published"
def get_context(context):
- web_page = context.bean
+ web_page = context.doc
if web_page.slideshow:
web_page.update(get_slideshow(web_page))
@@ -29,4 +29,4 @@ def get_context(context):
web_page.update(context)
- return web_page.fields
+ return web_page.as_dict()
diff --git a/frappe/templates/generators/website_group.py b/frappe/templates/generators/website_group.py
index 14bdc20fbe..51e5a6a949 100644
--- a/frappe/templates/generators/website_group.py
+++ b/frappe/templates/generators/website_group.py
@@ -34,7 +34,7 @@ def get_context(context):
def get_group_context(group, view, context):
cache_key = "website_group_context:{}:{}".format(group, view)
- views = get_views(context.bean.group_type)
+ views = get_views(context.doc.group_type)
view = frappe._dict(views.get(view))
if can_cache(view.no_cache):
@@ -50,10 +50,10 @@ def get_group_context(group, view, context):
return group_context
def build_group_context(group, view, views, context):
- title = "{} - {}".format(context.bean.group_title, view.get("label"))
+ title = "{} - {}".format(context.doc.group_title, view.get("label"))
group_context = frappe._dict({
- "group": context.bean.fields,
+ "group": context.doc.as_dict(),
"view": view,
"views": [v[1] for v in sorted(views.iteritems(), key=lambda (k, v): v.get("idx"))],
"title": title,
@@ -87,7 +87,7 @@ def build_view_context(context):
def guess_group_view(context):
group = context.docname
- view = frappe.form_dict.view or get_default_view(context.bean.group_type)
+ view = frappe.form_dict.view or get_default_view(context.doc.group_type)
return group, view
def get_default_view(group_type):
@@ -138,8 +138,8 @@ def clear_event_cache():
for group in frappe.db.sql_list("""select name from `tabWebsite Group` where group_type='Event'"""):
clear_unit_views(website_group=group)
-def clear_cache_on_doc_event(bean, method, *args, **kwargs):
- clear_cache(path=bean.website_route, website_group=bean.website_group)
+def clear_cache_on_doc_event(doc, method, *args, **kwargs):
+ clear_cache(path=doc.website_route, website_group=doc.website_group)
def get_pathname(group):
return frappe.db.get_value("Website Route", {"ref_doctype": "Website Group",
diff --git a/frappe/templates/includes/comments.py b/frappe/templates/includes/comments.py
index 59b1b9f453..e25429b9d5 100644
--- a/frappe/templates/includes/comments.py
+++ b/frappe/templates/includes/comments.py
@@ -57,5 +57,5 @@ def add_comment(args=None):
template = frappe.get_template("templates/includes/comment.html")
- return template.render({"comment": comment.fields})
+ return template.render({"comment": comment.as_dict()})
\ No newline at end of file
diff --git a/frappe/templates/pages/about.html b/frappe/templates/pages/about.html
index 2da2f9b97e..e1242c86e5 100644
--- a/frappe/templates/pages/about.html
+++ b/frappe/templates/pages/about.html
@@ -10,9 +10,9 @@
Be sure to update your company history and
list of key team members in Website > About Us Settings
""" }}
- {% if obj.doclist.get({"doctype":"Company History"}) %}
+ {% if obj.get({"doctype":"Company History"}) %}
{{ obj.doc.company_history_heading or "Company History" }}
- {% for d in obj.doclist.get({"doctype":"Company History"}) %}
+ {% for d in obj.get({"doctype":"Company History"}) %}
{{ d.year }}
{{ d.highlight }}
@@ -20,9 +20,9 @@
{% endfor %}
{% endif %}
- {% if obj.doclist.get({"doctype":"About Us Team Member"}) %}
+ {% if obj.get({"doctype":"About Us Team Member"}) %}
{{ obj.doc.team_members_heading or "Team Members" }}
- {% for d in obj.doclist.get({"doctype":"About Us Team Member"}) %}
+ {% for d in obj.get({"doctype":"About Us Team Member"}) %}
diff --git a/frappe/templates/pages/about.py b/frappe/templates/pages/about.py
index 8039f55ba0..13554fe53b 100644
--- a/frappe/templates/pages/about.py
+++ b/frappe/templates/pages/about.py
@@ -5,4 +5,4 @@ from __future__ import unicode_literals
import frappe
def get_context(context):
- return { "obj": frappe.get_doc("About Us Settings", "About Us Settings").get_controller() }
+ return { "obj": frappe.get_doc("About Us Settings", "About Us Settings") }
diff --git a/frappe/templates/pages/contact.py b/frappe/templates/pages/contact.py
index 9f94dd96b3..cab5013ab4 100644
--- a/frappe/templates/pages/contact.py
+++ b/frappe/templates/pages/contact.py
@@ -7,17 +7,17 @@ import frappe
from frappe.utils import now
def get_context(context):
- bean = frappe.get_doc("Contact Us Settings", "Contact Us Settings")
+ doc = frappe.get_doc("Contact Us Settings", "Contact Us Settings")
- query_options = filter(None, bean.query_options.replace(",", "\n").split()) if \
- bean.query_options else ["Sales", "Support", "General"]
+ query_options = filter(None, doc.query_options.replace(",", "\n").split()) if \
+ doc.query_options else ["Sales", "Support", "General"]
- address = frappe.get_doc("Address", bean.address).doc if bean.address else None
+ address = frappe.get_doc("Address", doc.address) if doc.address else None
out = {
"query_options": query_options
}
- out.update(bean.fields)
+ out.update(doc.as_dict())
return out
diff --git a/frappe/templates/website_group/post.py b/frappe/templates/website_group/post.py
index 80e8648bd7..da450a715e 100644
--- a/frappe/templates/website_group/post.py
+++ b/frappe/templates/website_group/post.py
@@ -26,12 +26,12 @@ def get_post_context(context):
return frappe.cache().get_value(cache_key, lambda: _get_post_context())
def get_parent_post_html(post, context):
- user = frappe.get_doc("User", post.owner).doc
+ user = frappe.get_doc("User", post.owner)
for fieldname in ("first_name", "last_name", "user_image", "location"):
post.set(fieldname, user.get(fieldname))
return frappe.get_template("templates/includes/inline_post.html")\
- .render({"post": post.fields, "view": context.view})
+ .render({"post": post.as_dict(), "view": context.view})
def get_child_posts_html(post, context):
posts = frappe.db.sql("""select p.*, pr.user_image, pr.first_name, pr.last_name
diff --git a/frappe/templates/website_group/settings.py b/frappe/templates/website_group/settings.py
index ed9e6aff8b..d7397f7be9 100644
--- a/frappe/templates/website_group/settings.py
+++ b/frappe/templates/website_group/settings.py
@@ -44,7 +44,7 @@ def add_sitemap_permission(group, user):
})
permission.insert(ignore_permissions=True)
- user = permission.fields
+ user = permission.as_dict()
user.update(frappe.db.get_value("User", user.user,
["name", "first_name", "last_name", "user_image", "location"], as_dict=True))
diff --git a/frappe/test_runner.py b/frappe/test_runner.py
index 7636a48eed..47677d6ee1 100644
--- a/frappe/test_runner.py
+++ b/frappe/test_runner.py
@@ -149,6 +149,7 @@ def make_test_objects(doctype, test_records, verbose=None):
if frappe.local.test_objects.get(d.doctype):
# do not create test records, if already exists
return []
+
if d.meta.get_field("naming_series"):
if not d.naming_series:
d.naming_series = "_T-" + d.doctype + "-"
diff --git a/frappe/tests/test_document.py b/frappe/tests/test_document.py
index 39be2462d3..c48fc3b701 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.fields, list))
+ self.assertTrue(isinstance(d.as_dict(), list))
self.assertTrue(isinstance(d.permissions, list))
- self.assertTrue(filter(lambda d: d.fieldname=="email", d.fields))
+ self.assertTrue(filter(lambda d: d.fieldname=="email", d.as_dict()))
def test_load_single(self):
d = frappe.get_doc("Website Settings", "Website Settings")
diff --git a/frappe/utils/datautils.py b/frappe/utils/datautils.py
index 88761f7319..070b155346 100644
--- a/frappe/utils/datautils.py
+++ b/frappe/utils/datautils.py
@@ -128,27 +128,27 @@ def import_doc(d, doctype, overwrite, row_idx, submit=False, ignore_links=False)
"""import main (non child) document"""
if d.get("name") and frappe.db.exists(doctype, d['name']):
if overwrite:
- bean = frappe.get_doc(doctype, d['name'])
- bean.ignore_links = ignore_links
- bean.update(d)
+ doc = frappe.get_doc(doctype, d['name'])
+ doc.ignore_links = ignore_links
+ doc.update(d)
if d.get("docstatus") == 1:
- bean.update_after_submit()
+ doc.update_after_submit()
else:
- bean.save()
+ doc.save()
return 'Updated row (#%d) %s' % (row_idx + 1, getlink(doctype, d['name']))
else:
return 'Ignored row (#%d) %s (exists)' % (row_idx + 1,
getlink(doctype, d['name']))
else:
- bean = frappe.get_doc([d])
- bean.ignore_links = ignore_links
- bean.insert()
+ doc = frappe.get_doc([d])
+ doc.ignore_links = ignore_links
+ doc.insert()
if submit:
- bean.submit()
+ doc.submit()
return 'Inserted row (#%d) %s' % (row_idx + 1, getlink(doctype,
- bean.get('name')))
+ doc.get('name')))
def getlink(doctype, name):
return '
%(name)s' % locals()
diff --git a/frappe/utils/file_manager.py b/frappe/utils/file_manager.py
index e0a23e962a..767994b712 100644
--- a/frappe/utils/file_manager.py
+++ b/frappe/utils/file_manager.py
@@ -56,7 +56,7 @@ def save_url(file_url, dt, dn):
f.insert();
except frappe.DuplicateEntryError:
return frappe.get_doc("File Data", f.duplicate_entry)
- return f.doc
+ return f
def get_uploaded_content():
# should not be unicode when reading a file, hence using frappe.form
@@ -153,7 +153,7 @@ def save_file(fname, content, dt, dn, decode=False):
except frappe.DuplicateEntryError:
return frappe.get_doc("File Data", f.duplicate_entry)
- return f.doc
+ return f
def get_file_versions(files_path, main, extn):
out = []
diff --git a/frappe/utils/user.py b/frappe/utils/user.py
index 55b0614dc7..59ce22ea0b 100644
--- a/frappe/utils/user.py
+++ b/frappe/utils/user.py
@@ -199,7 +199,7 @@ def add_role(user, role):
def add_system_manager(email, first_name=None, last_name=None):
# add user
- user = frappe.new_bean("User")
+ user = frappe.new_doc("User")
user.update({
"name": email,
"email": email,
diff --git a/frappe/utils/verified_command.py b/frappe/utils/verified_command.py
index 8d4c30a3f4..b3bf4316cc 100644
--- a/frappe/utils/verified_command.py
+++ b/frappe/utils/verified_command.py
@@ -23,12 +23,10 @@ def get_signature(params, nonce, secret=None):
signature.update(params)
return signature.hexdigest()
-def verify_using_bean(bean, signature, cmd):
- controller = bean.get_controller()
- params = controller.get_signature_params()
- return signature == get_signature(params, controller.get_nonce())
+def verify_using_doc(doc, signature, cmd):
+ params = doc.get_signature_params()
+ return signature == get_signature(params, doc.get_nonce())
-def get_url_using_bean(bean, cmd):
- controller = bean.get_controller()
- params = controller.get_signature_params()
- return get_url(cmd, params, controller.get_nonce())
+def get_url_using_doc(doc, cmd):
+ params = doc.get_signature_params()
+ return get_url(cmd, params, doc.get_nonce())
diff --git a/frappe/website/context.py b/frappe/website/context.py
index 0656157a77..035f5def1b 100644
--- a/frappe/website/context.py
+++ b/frappe/website/context.py
@@ -44,13 +44,13 @@ def get_context(path):
return context
def build_context(sitemap_options):
- """get_context method of bean or module is supposed to render content templates and push it into context"""
+ """get_context method of doc or module is supposed to render content templates and push it into context"""
context = frappe._dict(sitemap_options)
context.update(get_website_settings())
- # provide bean
+ # provide doc
if context.doctype and context.docname:
- context.bean = frappe.get_doc(context.doctype, context.docname)
+ context.doc = frappe.get_doc(context.doctype, context.docname)
if context.controller:
module = frappe.get_module(context.controller)
@@ -61,8 +61,8 @@ def build_context(sitemap_options):
if context.get("base_template_path") != context.get("template_path") and not context.get("rendered"):
context.data = render_blocks(context)
- # remove bean, as it is not pickle friendly and its purpose is over
- if context.bean:
- del context["bean"]
+ # remove doc, as it is not pickle friendly and its purpose is over
+ if context.doc:
+ del context["doc"]
return context
diff --git a/frappe/website/doctype/blog_post/test_blog_post.py b/frappe/website/doctype/blog_post/test_blog_post.py
index 3e9064827a..15b615f5de 100644
--- a/frappe/website/doctype/blog_post/test_blog_post.py
+++ b/frappe/website/doctype/blog_post/test_blog_post.py
@@ -37,7 +37,7 @@ class TestBlogPost(unittest.TestCase):
post = frappe.get_doc("Blog Post", "_test-blog-post")
self.assertTrue(post.has_permission("read"))
- def test_restriction_in_bean(self):
+ def test_restriction_in_doc(self):
frappe.defaults.add_default("Blog Category", "_Test Blog Category 1", "test1@example.com",
"Restriction")
@@ -68,7 +68,7 @@ class TestBlogPost(unittest.TestCase):
and ifnull(permlevel,0)=0""")
frappe.clear_cache(doctype="Blog Post")
- def test_owner_match_bean(self):
+ def test_owner_match_doc(self):
self.add_restricted_on_blogger()
frappe.set_user("test2@example.com")
@@ -111,12 +111,12 @@ class TestBlogPost(unittest.TestCase):
frappe.set_user("test2@example.com")
# user can only access restricted blog post
- bean = frappe.get_doc("Blog Post", "_test-blog-post")
- self.assertTrue(bean.has_permission("read"))
+ doc = frappe.get_doc("Blog Post", "_test-blog-post")
+ self.assertTrue(doc.has_permission("read"))
# and not this one
- bean = frappe.get_doc("Blog Post", "_test-blog-post-1")
- self.assertFalse(bean.has_permission("read"))
+ doc = frappe.get_doc("Blog Post", "_test-blog-post-1")
+ self.assertFalse(doc.has_permission("read"))
def test_not_allowed_to_remove_self(self):
self.add_restriction_to_user2()
@@ -132,21 +132,21 @@ class TestBlogPost(unittest.TestCase):
self.add_restricted_on_blogger()
frappe.set_user("test2@example.com")
- bean = frappe.get_doc("Blog Post", "_test-blog-post-1")
- self.assertFalse(bean.has_permission("read"))
+ doc = frappe.get_doc("Blog Post", "_test-blog-post-1")
+ self.assertFalse(doc.has_permission("read"))
frappe.set_user("test1@example.com")
add("test2@example.com", "Blog Post", "_test-blog-post-1")
frappe.set_user("test2@example.com")
- bean = frappe.get_doc("Blog Post", "_test-blog-post-1")
+ doc = frappe.get_doc("Blog Post", "_test-blog-post-1")
- self.assertTrue(bean.has_permission("read"))
+ self.assertTrue(doc.has_permission("read"))
def test_set_only_once(self):
blog_post = frappe.get_meta("Blog Post")
blog_post.get_field("title").set_only_once = 1
- bean = frappe.get_doc("Blog Post", "_test-blog-post-1")
- bean.title = "New"
- self.assertRaises(frappe.CannotChangeConstantError, bean.save)
+ doc = frappe.get_doc("Blog Post", "_test-blog-post-1")
+ doc.title = "New"
+ self.assertRaises(frappe.CannotChangeConstantError, doc.save)
blog_post.get_field("title").set_only_once = 0
\ No newline at end of file
diff --git a/frappe/website/doctype/post/post.py b/frappe/website/doctype/post/post.py
index 0533eb101e..c3e51e8324 100644
--- a/frappe/website/doctype/post/post.py
+++ b/frappe/website/doctype/post/post.py
@@ -54,7 +54,7 @@ class Post(Document):
def send_email_on_reply(self):
owner_fullname = get_fullname(self.owner)
- parent_post = frappe.get_doc("Post", self.parent_post).doc
+ parent_post = frappe.get_doc("Post", self.parent_post)
message = self.get_reply_email_message(self.name, owner_fullname)
diff --git a/frappe/website/doctype/website_slideshow/website_slideshow.py b/frappe/website/doctype/website_slideshow/website_slideshow.py
index 59547416a3..40ed85da0a 100644
--- a/frappe/website/doctype/website_slideshow/website_slideshow.py
+++ b/frappe/website/doctype/website_slideshow/website_slideshow.py
@@ -15,8 +15,8 @@ class WebsiteSlideshow(Document):
from frappe.website.render import clear_cache
clear_cache()
-def get_slideshow(bean):
- slideshow = frappe.get_doc("Website Slideshow", bean.slideshow)
+def get_slideshow(doc):
+ slideshow = frappe.get_doc("Website Slideshow", doc.slideshow)
return {
"slides": slideshow.get({"doctype":"Website Slideshow Item"}),
diff --git a/frappe/website/statics.py b/frappe/website/statics.py
index 3bdfed5f54..aa19ada618 100644
--- a/frappe/website/statics.py
+++ b/frappe/website/statics.py
@@ -135,13 +135,13 @@ class sync(object):
# update timestamp
- route_bean = frappe.get_doc("Website Route", {"ref_doctype": "Web Page",
+ route_doc = frappe.get_doc("Website Route", {"ref_doctype": "Web Page",
"docname": page.name})
- route_bean.static_file_timestamp = cint(os.path.getmtime(fpath))
- route_bean.save()
+ route_doc.static_file_timestamp = cint(os.path.getmtime(fpath))
+ route_doc.save()
self.updated += 1
- print route_bean.name + " inserted"
+ print route_doc.name + " inserted"
self.synced.append(route)
def update_web_page(self, route_details, fpath, priority, parent_website_route):
@@ -153,11 +153,11 @@ class sync(object):
page.idx = priority
page.save()
- route_bean = frappe.get_doc("Website Route", route_details.name)
- route_bean.static_file_timestamp = cint(os.path.getmtime(fpath))
- route_bean.save()
+ route_doc = frappe.get_doc("Website Route", route_details.name)
+ route_doc.static_file_timestamp = cint(os.path.getmtime(fpath))
+ route_doc.save()
- print route_bean.name + " updated"
+ print route_doc.name + " updated"
self.updated += 1
self.synced.append(route_details.name)
diff --git a/frappe/widgets/event.py b/frappe/widgets/event.py
index 0ce7a7abf2..68c2f2ebb6 100644
--- a/frappe/widgets/event.py
+++ b/frappe/widgets/event.py
@@ -37,7 +37,7 @@ def get_cal_events(m_st, m_end):
doclist, rl = [], []
for r in res1 + res2 + res3 + res4:
if not r in rl:
- doclist += frappe.model.get('Event', r[0])
+ doclist += frappe.get_doc('Event', r[0])
rl.append(r)
return doclist
diff --git a/frappe/widgets/form/load.py b/frappe/widgets/form/load.py
index 67e23369a2..9c7882cb06 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].fields:
+ for df in bundle[0].as_dict():
if df.fieldtype=="Table":
bundle.append(frappe.widgets.form.meta.get_meta(df.options))
return bundle
diff --git a/frappe/widgets/query_report.py b/frappe/widgets/query_report.py
index 17182a6471..d6e5d2f7f3 100644
--- a/frappe/widgets/query_report.py
+++ b/frappe/widgets/query_report.py
@@ -13,15 +13,15 @@ from frappe.utils import flt, cint
import frappe.widgets.reportview
def get_report_doc(report_name):
- bean = frappe.get_doc("Report", report_name)
- if not bean.has_permission("read"):
+ doc = frappe.get_doc("Report", report_name)
+ if not doc.has_permission("read"):
raise frappe.PermissionError("You don't have access to: {report}".format(report=report_name))
- if not frappe.has_permission(bean.ref_doctype, "report"):
+ if not frappe.has_permission(doc.ref_doctype, "report"):
raise frappe.PermissionError("You don't have access to get a report on: {doctype}".format(
- doctype=bean.ref_doctype))
+ doctype=doc.ref_doctype))
- return bean.doc
+ return doc
@frappe.whitelist()
def get_script(report_name):