Sfoglia il codice sorgente

Merge branch 'stable' into live

version-14
Nabin Hait 14 anni fa
parent
commit
cea5b3d846
1 ha cambiato i file con 4 aggiunte e 8 eliminazioni
  1. +4
    -8
      cgi-bin/webnotes/utils/nestedset.py

+ 4
- 8
cgi-bin/webnotes/utils/nestedset.py Vedi File

@@ -153,19 +153,16 @@ def rebuild_tree(doctype, parent_field):
"""
# get all roots
right = 1
result = webnotes.conn.sql("SELECT name FROM `tab%s` WHERE `%s`='' or `%s` IS NULL" % (doctype, parent_field, parent_field))
result = webnotes.conn.sql("SELECT name FROM `tab%s` WHERE `%s`='' or `%s` IS NULL ORDER BY name ASC" % (doctype, parent_field, parent_field))
for r in result:
right = rebuild_node(doctype, r[0], right, parent_field)
webnotes.conn.sql("commit")
webnotes.conn.sql("start transaction")
cnt = 0

def rebuild_node(doctype, parent, left, parent_field):
def rebuild_node(doctype, parent, left, parent_field, cnt = 0):
"""
reset lft, rgt and recursive call for all children
"""
global cnt
from webnotes.utils import now
n = now()
@@ -175,8 +172,7 @@ def rebuild_node(doctype, parent, left, parent_field):
# get all children of this node
result = webnotes.conn.sql("SELECT name FROM `tab%s` WHERE `%s`='%s'" % (doctype, parent_field, parent))
for r in result:

right = rebuild_node(doctype, r[0], right, parent_field)
right = rebuild_node(doctype, r[0], right, parent_field, cnt)

# we've got the left value, and now that we've processed
# the children of this node we also know the right value
@@ -184,7 +180,7 @@ def rebuild_node(doctype, parent, left, parent_field):

# commit after every 100
cnt += 1
if cnt % 500 == 0:
if cnt % 100 == 0:
cnt = 0
webnotes.conn.sql("commit")
webnotes.conn.sql("start transaction")


Caricamento…
Annulla
Salva