comparison pylons_app/controllers/hg.py @ 447:70c2750531d3

rewrote sorting on main page, to clickable headers. Update my account with better repo list some css fixes
author Marcin Kuzminski <marcin@python-works.com>
date Fri, 03 Sep 2010 07:34:38 +0200
parents 07f50e9b308f
children
comparison
equal deleted inserted replaced
446:a0a93357f954 447:70c2750531d3
35 @LoginRequired() 35 @LoginRequired()
36 def __before__(self): 36 def __before__(self):
37 super(HgController, self).__before__() 37 super(HgController, self).__before__()
38 38
39 def index(self): 39 def index(self):
40 c.current_sort = request.GET.get('sort', 'name')
41 sort_by = c.current_sort
42 sortables = ['name', 'description', 'last_change', 'tip', 'contact'] 40 sortables = ['name', 'description', 'last_change', 'tip', 'contact']
41 current_sort = request.GET.get('sort', 'name')
42 current_sort_slug = current_sort.replace('-', '')
43 43
44 c.cs_slug = sort_by.replace('-', '') 44 if current_sort_slug not in sortables:
45 45 c.sort_by = 'name'
46 if c.cs_slug not in sortables: 46 current_sort_slug = c.sort_by
47 sort_by = 'name' 47 else:
48 48 c.sort_by = current_sort
49 c.sort_slug = current_sort_slug
49 cached_repo_list = HgModel().get_repos() 50 cached_repo_list = HgModel().get_repos()
50 51
51 sort_key = c.cs_slug + '_sort' 52 sort_key = current_sort_slug + '_sort'
52 if sort_by.startswith('-'): 53 if c.sort_by.startswith('-'):
53 c.repos_list = sorted(cached_repo_list, key=itemgetter(sort_key), reverse=True) 54 c.repos_list = sorted(cached_repo_list, key=itemgetter(sort_key), reverse=True)
54 else: 55 else:
55 c.repos_list = sorted(cached_repo_list, key=itemgetter(sort_key), reverse=False) 56 c.repos_list = sorted(cached_repo_list, key=itemgetter(sort_key), reverse=False)
56 57
57 return render('/index.html') 58 return render('/index.html')