Mercurial > kallithea
annotate rhodecode/controllers/home.py @ 936:e1c9903d7e38 beta
fixed wrong clone url for anonymous access
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Mon, 10 Jan 2011 20:37:46 +0100 |
parents | 07a6e8c65526 |
children | 520e67cbb494 |
rev | line source |
---|---|
861
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
691
diff
changeset
|
1 # -*- coding: utf-8 -*- |
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
691
diff
changeset
|
2 """ |
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
691
diff
changeset
|
3 rhodecode.controllers.home |
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
691
diff
changeset
|
4 ~~~~~~~~~~~~~~~~~~~~~~~~~~ |
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
691
diff
changeset
|
5 |
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
691
diff
changeset
|
6 Home controller for Rhodecode |
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
691
diff
changeset
|
7 |
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
691
diff
changeset
|
8 :created_on: Feb 18, 2010 |
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
691
diff
changeset
|
9 :author: marcink |
902
07a6e8c65526
fixed copyright year to 2011
Marcin Kuzminski <marcin@python-works.com>
parents:
861
diff
changeset
|
10 :copyright: (C) 2009-2011 Marcin Kuzminski <marcin@python-works.com> |
861
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
691
diff
changeset
|
11 :license: GPLv3, see COPYING for more details. |
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
691
diff
changeset
|
12 """ |
252
3782a6d698af
licensing updates, code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
245
diff
changeset
|
13 # This program is free software; you can redistribute it and/or |
3782a6d698af
licensing updates, code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
245
diff
changeset
|
14 # modify it under the terms of the GNU General Public License |
3782a6d698af
licensing updates, code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
245
diff
changeset
|
15 # as published by the Free Software Foundation; version 2 |
3782a6d698af
licensing updates, code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
245
diff
changeset
|
16 # of the License or (at your opinion) any later version of the license. |
3782a6d698af
licensing updates, code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
245
diff
changeset
|
17 # |
3782a6d698af
licensing updates, code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
245
diff
changeset
|
18 # This program is distributed in the hope that it will be useful, |
3782a6d698af
licensing updates, code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
245
diff
changeset
|
19 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
3782a6d698af
licensing updates, code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
245
diff
changeset
|
20 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3782a6d698af
licensing updates, code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
245
diff
changeset
|
21 # GNU General Public License for more details. |
3782a6d698af
licensing updates, code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
245
diff
changeset
|
22 # |
3782a6d698af
licensing updates, code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
245
diff
changeset
|
23 # You should have received a copy of the GNU General Public License |
3782a6d698af
licensing updates, code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
245
diff
changeset
|
24 # along with this program; if not, write to the Free Software |
3782a6d698af
licensing updates, code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
245
diff
changeset
|
25 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
3782a6d698af
licensing updates, code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
245
diff
changeset
|
26 # MA 02110-1301, USA. |
861
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
691
diff
changeset
|
27 |
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
691
diff
changeset
|
28 import logging |
93
aec4c0071cb3
added empty controllers for branches tags files graph, routing and test for them
Marcin Kuzminski <marcin@python-works.com>
parents:
82
diff
changeset
|
29 from operator import itemgetter |
861
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
691
diff
changeset
|
30 |
252
3782a6d698af
licensing updates, code cleanups
Marcin Kuzminski <marcin@python-works.com>
parents:
245
diff
changeset
|
31 from pylons import tmpl_context as c, request |
861
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
691
diff
changeset
|
32 |
547
1e757ac98988
renamed project to rhodecode
Marcin Kuzminski <marcin@python-works.com>
parents:
447
diff
changeset
|
33 from rhodecode.lib.auth import LoginRequired |
1e757ac98988
renamed project to rhodecode
Marcin Kuzminski <marcin@python-works.com>
parents:
447
diff
changeset
|
34 from rhodecode.lib.base import BaseController, render |
691
7486da5f0628
Refactor codes for scm model
Marcin Kuzminski <marcin@python-works.com>
parents:
636
diff
changeset
|
35 from rhodecode.model.scm import ScmModel |
861
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
691
diff
changeset
|
36 |
10
525ed90e4577
major app speedup moved the wsgi creation to app globals, in order to make it run only once.
Marcin Kuzminski
parents:
8
diff
changeset
|
37 log = logging.getLogger(__name__) |
0 | 38 |
636
ffd07396d315
Fixes for raw_id, needed for git
Marcin Kuzminski <marcin@python-works.com>
parents:
629
diff
changeset
|
39 class HomeController(BaseController): |
21 | 40 |
191
b68b2246e5a6
Authenticated controller with LoginRequired decorator, and cleaned __before__ (used in baseController now). fixed User for clone url with logged in session user.
Marcin Kuzminski <marcin@python-works.com>
parents:
169
diff
changeset
|
41 @LoginRequired() |
21 | 42 def __before__(self): |
636
ffd07396d315
Fixes for raw_id, needed for git
Marcin Kuzminski <marcin@python-works.com>
parents:
629
diff
changeset
|
43 super(HomeController, self).__before__() |
ffd07396d315
Fixes for raw_id, needed for git
Marcin Kuzminski <marcin@python-works.com>
parents:
629
diff
changeset
|
44 |
55
e00dccb6f211
Implemented index page using vcs
Marcin Kuzminski <marcin@python-blog.com>
parents:
43
diff
changeset
|
45 def index(self): |
338
1eb2267a5469
fixed bug when, sortables have wrong value
Marcin Kuzminski <marcin@python-works.com>
parents:
252
diff
changeset
|
46 sortables = ['name', 'description', 'last_change', 'tip', 'contact'] |
447
70c2750531d3
rewrote sorting on main page, to clickable headers.
Marcin Kuzminski <marcin@python-works.com>
parents:
353
diff
changeset
|
47 current_sort = request.GET.get('sort', 'name') |
70c2750531d3
rewrote sorting on main page, to clickable headers.
Marcin Kuzminski <marcin@python-works.com>
parents:
353
diff
changeset
|
48 current_sort_slug = current_sort.replace('-', '') |
636
ffd07396d315
Fixes for raw_id, needed for git
Marcin Kuzminski <marcin@python-works.com>
parents:
629
diff
changeset
|
49 |
447
70c2750531d3
rewrote sorting on main page, to clickable headers.
Marcin Kuzminski <marcin@python-works.com>
parents:
353
diff
changeset
|
50 if current_sort_slug not in sortables: |
70c2750531d3
rewrote sorting on main page, to clickable headers.
Marcin Kuzminski <marcin@python-works.com>
parents:
353
diff
changeset
|
51 c.sort_by = 'name' |
70c2750531d3
rewrote sorting on main page, to clickable headers.
Marcin Kuzminski <marcin@python-works.com>
parents:
353
diff
changeset
|
52 current_sort_slug = c.sort_by |
70c2750531d3
rewrote sorting on main page, to clickable headers.
Marcin Kuzminski <marcin@python-works.com>
parents:
353
diff
changeset
|
53 else: |
70c2750531d3
rewrote sorting on main page, to clickable headers.
Marcin Kuzminski <marcin@python-works.com>
parents:
353
diff
changeset
|
54 c.sort_by = current_sort |
70c2750531d3
rewrote sorting on main page, to clickable headers.
Marcin Kuzminski <marcin@python-works.com>
parents:
353
diff
changeset
|
55 c.sort_slug = current_sort_slug |
691
7486da5f0628
Refactor codes for scm model
Marcin Kuzminski <marcin@python-works.com>
parents:
636
diff
changeset
|
56 cached_repo_list = ScmModel().get_repos() |
636
ffd07396d315
Fixes for raw_id, needed for git
Marcin Kuzminski <marcin@python-works.com>
parents:
629
diff
changeset
|
57 |
447
70c2750531d3
rewrote sorting on main page, to clickable headers.
Marcin Kuzminski <marcin@python-works.com>
parents:
353
diff
changeset
|
58 sort_key = current_sort_slug + '_sort' |
70c2750531d3
rewrote sorting on main page, to clickable headers.
Marcin Kuzminski <marcin@python-works.com>
parents:
353
diff
changeset
|
59 if c.sort_by.startswith('-'): |
861
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
691
diff
changeset
|
60 c.repos_list = sorted(cached_repo_list, key=itemgetter(sort_key), |
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
691
diff
changeset
|
61 reverse=True) |
353
07f50e9b308f
fixed sorting bug.
Marcin Kuzminski <marcin@python-works.com>
parents:
338
diff
changeset
|
62 else: |
861
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
691
diff
changeset
|
63 c.repos_list = sorted(cached_repo_list, key=itemgetter(sort_key), |
fd2ea6ceadc8
updated docs on every controller
Marcin Kuzminski <marcin@python-works.com>
parents:
691
diff
changeset
|
64 reverse=False) |
636
ffd07396d315
Fixes for raw_id, needed for git
Marcin Kuzminski <marcin@python-works.com>
parents:
629
diff
changeset
|
65 |
55
e00dccb6f211
Implemented index page using vcs
Marcin Kuzminski <marcin@python-blog.com>
parents:
43
diff
changeset
|
66 return render('/index.html') |