# HG changeset patch # User Sverre Rabbelier # Date 1239061606 0 # Node ID 286aa6528e84222f317403d77939f5643b267358 # Parent 855daf13106065e6cd956ba4d0aa3d6bf66978b0 Properly handle exports when there are multiple lists If there are multiple lists whose index does not match their position in the contents, things weren't handled properly. Patch by: Sverre Rabbelier diff -r 855daf131060 -r 286aa6528e84 app/soc/logic/lists.py --- a/app/soc/logic/lists.py Mon Apr 06 22:55:49 2009 +0000 +++ b/app/soc/logic/lists.py Mon Apr 06 23:46:46 2009 +0000 @@ -39,6 +39,7 @@ 'next', 'first', 'last', + 'idx', ] def __init__(self, contents): diff -r 855daf131060 -r 286aa6528e84 app/soc/views/helper/lists.py --- a/app/soc/views/helper/lists.py Mon Apr 06 22:55:49 2009 +0000 +++ b/app/soc/views/helper/lists.py Mon Apr 06 23:46:46 2009 +0000 @@ -195,6 +195,7 @@ newest = generateLinkFromGetArgs(request, newest_params) content = { + 'idx': idx, 'data': data, 'export': export_link, 'first': offset+1, diff -r 855daf131060 -r 286aa6528e84 app/soc/views/models/base.py --- a/app/soc/views/models/base.py Mon Apr 06 22:55:49 2009 +0000 +++ b/app/soc/views/models/base.py Mon Apr 06 23:46:46 2009 +0000 @@ -546,8 +546,9 @@ except ValueError: export = None - if export is not None and export < len(contents): - content = contents[export] + content = [i for i in contents if i['idx'] == export] + if len(content) == 1: + content = content[0] key_order = content.get('key_order') if key_order: