fixed error with referenced_by, thanks Marin
This commit is contained in:
@@ -1 +1 @@
|
|||||||
Version 2.00.1 (2012-08-29 10:12:06) rc4
|
Version 2.00.1 (2012-08-29 10:27:58) rc4
|
||||||
|
|||||||
@@ -78,6 +78,7 @@
|
|||||||
'New simple application': 'New simple application',
|
'New simple application': 'New simple application',
|
||||||
'Overwrite installed app': 'Overwrite installed app',
|
'Overwrite installed app': 'Overwrite installed app',
|
||||||
'Pack all': 'Pack all',
|
'Pack all': 'Pack all',
|
||||||
|
'Peeking at file': 'Peeking at file',
|
||||||
'Plugins': 'Plugins',
|
'Plugins': 'Plugins',
|
||||||
'plugins': 'plugins',
|
'plugins': 'plugins',
|
||||||
'Plural-Forms:': 'Plural-Forms:',
|
'Plural-Forms:': 'Plural-Forms:',
|
||||||
|
|||||||
+7
-8
@@ -1042,20 +1042,19 @@ class SQLFORM(FORM):
|
|||||||
# build a link
|
# build a link
|
||||||
if record and linkto:
|
if record and linkto:
|
||||||
db = linkto.split('/')[-1]
|
db = linkto.split('/')[-1]
|
||||||
for (rtable, rfield) in table._referenced_by:
|
for rfld in table._referenced_by:
|
||||||
if keyed:
|
if keyed:
|
||||||
rfld = table._db[rtable][rfield]
|
|
||||||
query = urllib.quote('%s.%s==%s' % (db,rfld,record[rfld.type[10:].split('.')[1]]))
|
query = urllib.quote('%s.%s==%s' % (db,rfld,record[rfld.type[10:].split('.')[1]]))
|
||||||
else:
|
else:
|
||||||
query = urllib.quote('%s.%s==%s' % (db,table._db[rtable][rfield],record[self.id_field_name]))
|
query = urllib.quote('%s.%s==%s' % (db,rfld,record[self.id_field_name]))
|
||||||
lname = olname = '%s.%s' % (rtable, rfield)
|
lname = olname = '%s.%s' % (rfld.tablename, rfld.name)
|
||||||
if ofields and not olname in ofields:
|
if ofields and not olname in ofields:
|
||||||
continue
|
continue
|
||||||
if labels and lname in labels:
|
if labels and lname in labels:
|
||||||
lname = labels[lname]
|
lname = labels[lname]
|
||||||
widget = A(lname,
|
widget = A(lname,
|
||||||
_class='reference',
|
_class='reference',
|
||||||
_href='%s/%s?query=%s' % (linkto, rtable, query))
|
_href='%s/%s?query=%s' % (linkto, rfld.tablename, query))
|
||||||
xfields.append((olname.replace('.', '__')+SQLFORM.ID_ROW_SUFFIX,
|
xfields.append((olname.replace('.', '__')+SQLFORM.ID_ROW_SUFFIX,
|
||||||
'',widget,col3.get(olname,'')))
|
'',widget,col3.get(olname,'')))
|
||||||
self.custom.linkto[olname.replace('.', '__')] = widget
|
self.custom.linkto[olname.replace('.', '__')] = widget
|
||||||
@@ -2218,9 +2217,9 @@ class SQLFORM(FORM):
|
|||||||
del kwargs[key]
|
del kwargs[key]
|
||||||
check = {}
|
check = {}
|
||||||
id_field_name = table._id.name
|
id_field_name = table._id.name
|
||||||
for tablename,fieldname in table._referenced_by:
|
for field in table._referenced_by:
|
||||||
if db[tablename][fieldname].readable:
|
if field.readable:
|
||||||
check[tablename] = check.get(tablename,[])+[fieldname]
|
check[field.tablename] = check.get(field.tablename,[])+[field.name]
|
||||||
for tablename in sorted(check):
|
for tablename in sorted(check):
|
||||||
linked_fieldnames = check[tablename]
|
linked_fieldnames = check[tablename]
|
||||||
tb = db[tablename]
|
tb = db[tablename]
|
||||||
|
|||||||
Reference in New Issue
Block a user