Browse Source

[bean] [cleanup] removed self.docs and self.children. Use only self.doclist

version-14
Anand Doshi 12 years ago
parent
commit
990fda2b4c
1 changed files with 16 additions and 15 deletions
  1. +16
    -15
      webnotes/model/bean.py

+ 16
- 15
webnotes/model/bean.py View File

@@ -41,7 +41,6 @@ class Bean:
Collection of Documents with one parent and multiple children Collection of Documents with one parent and multiple children
""" """
def __init__(self, dt=None, dn=None): def __init__(self, dt=None, dn=None):
self.docs = []
self.obj = None self.obj = None
self.ignore_permissions = False self.ignore_permissions = False
self.ignore_children_type = [] self.ignore_children_type = []
@@ -81,34 +80,36 @@ class Bean:
self.run_method("onload") self.run_method("onload")


def __iter__(self): def __iter__(self):
return self.docs.__iter__()
return self.doclist.__iter__()


def from_compressed(self, data, docname): def from_compressed(self, data, docname):
from webnotes.model.utils import expand from webnotes.model.utils import expand
self.docs = expand(data)
self.set_doclist(self.docs)
self.set_doclist(expand(data))
def set_doclist(self, docs):
for i, d in enumerate(docs):
def set_doclist(self, doclist):
for i, d in enumerate(doclist):
if isinstance(d, dict): if isinstance(d, dict):
docs[i] = Document(fielddata=d)
doclist[i] = Document(fielddata=d)
self.docs = self.doclist = webnotes.doclist(docs)
self.doc, self.children = self.doclist[0], self.doclist[1:]
self.doclist = webnotes.doclist(doclist)
self.doc = self.doclist[0]
if self.obj: if self.obj:
self.obj.doclist = self.doclist self.obj.doclist = self.doclist
self.obj.doc = self.doc self.obj.doc = self.doc


def make_obj(self): def make_obj(self):
if self.obj:
if self.obj:
# update doclist before running any method
self.obj.doclist = self.doclist
return self.obj return self.obj
self.obj = webnotes.get_obj(doc=self.doc, doclist=self.doclist) self.obj = webnotes.get_obj(doc=self.doc, doclist=self.doclist)
self.obj.bean = self self.obj.bean = self
self.controller = self.obj self.controller = self.obj
return self.obj return self.obj


def to_dict(self): def to_dict(self):
return [d.fields for d in self.docs]
return [d.fields for d in self.doclist]


def check_if_latest(self, method="save"): def check_if_latest(self, method="save"):
from webnotes.model.meta import is_single from webnotes.model.meta import is_single
@@ -165,7 +166,7 @@ class Bean:
if self.ignore_check_links: if self.ignore_check_links:
return return
ref, err_list = {}, [] ref, err_list = {}, []
for d in self.docs:
for d in self.doclist:
if not ref.get(d.doctype): if not ref.get(d.doctype):
ref[d.doctype] = d.make_link_list() ref[d.doctype] = d.make_link_list()


@@ -180,7 +181,7 @@ class Bean:
ts = now() ts = now()
user = webnotes.__dict__.get('session', {}).get('user') or 'Administrator' user = webnotes.__dict__.get('session', {}).get('user') or 'Administrator'


for d in self.docs:
for d in self.doclist:
if self.doc.fields.get('__islocal'): if self.doc.fields.get('__islocal'):
if not d.owner: if not d.owner:
d.owner = user d.owner = user
@@ -225,7 +226,7 @@ class Bean:


notify(self.obj, method) notify(self.obj, method)
self.set_doclist(self.obj.doclist)
self.doclist = self.obj.doclist


def get_method(self, method): def get_method(self, method):
self.make_obj() self.make_obj()
@@ -245,7 +246,7 @@ class Bean:


def save_children(self): def save_children(self):
child_map = {} child_map = {}
for d in self.children:
for d in self.doclist[1:]:
if d.fields.get("parent") or d.fields.get("parentfield"): if d.fields.get("parent") or d.fields.get("parentfield"):
d.parent = self.doc.name # rename if reqd d.parent = self.doc.name # rename if reqd
d.parenttype = self.doc.doctype d.parenttype = self.doc.doctype


Loading…
Cancel
Save