소스 검색

Merge branch 'stable' into live

version-14
Nabin Hait 14 년 전
부모
커밋
cea5b3d846
1개의 변경된 파일4개의 추가작업 그리고 8개의 파일을 삭제
  1. +4
    -8
      cgi-bin/webnotes/utils/nestedset.py

+ 4
- 8
cgi-bin/webnotes/utils/nestedset.py 파일 보기

@@ -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")


불러오는 중...
취소
저장