Mercurial > kallithea
annotate rhodecode/controllers/followers.py @ 3503:7adeca7b99c2 beta
root.html: IE do not like extra ',' in maps
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Thu, 07 Mar 2013 15:23:36 +0100 |
parents | 6b176c679896 |
children | 7efc8dcc0dc4 |
rev | line source |
---|---|
1279
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
1 # -*- coding: utf-8 -*- |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
2 """ |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
3 rhodecode.controllers.followers |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
5 |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
6 Followers controller for rhodecode |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
7 |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
8 :created_on: Apr 23, 2011 |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
9 :author: marcink |
1824
89efedac4e6c
2012 copyrights
Marcin Kuzminski <marcin@python-works.com>
parents:
1421
diff
changeset
|
10 :copyright: (C) 2011-2012 Marcin Kuzminski <marcin@python-works.com> |
1279
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
11 :license: GPLv3, see COPYING for more details. |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
12 """ |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
13 # This program is free software: you can redistribute it and/or modify |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
14 # it under the terms of the GNU General Public License as published by |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
15 # the Free Software Foundation, either version 3 of the License, or |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
16 # (at your option) any later version. |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
17 # |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
18 # This program is distributed in the hope that it will be useful, |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
19 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
20 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
21 # GNU General Public License for more details. |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
22 # |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
23 # You should have received a copy of the GNU General Public License |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
24 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
25 import logging |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
26 |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
27 from pylons import tmpl_context as c, request |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
28 |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
29 from rhodecode.lib.helpers import Page |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
30 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
31 from rhodecode.lib.base import BaseRepoController, render |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
32 from rhodecode.model.db import Repository, User, UserFollowing |
2845
6b176c679896
failsafe the GET `page` argument
Marcin Kuzminski <marcin@python-works.com>
parents:
1824
diff
changeset
|
33 from rhodecode.lib.utils2 import safe_int |
1279
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
34 |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
35 log = logging.getLogger(__name__) |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
36 |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
37 |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
38 class FollowersController(BaseRepoController): |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
39 |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
40 @LoginRequired() |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
41 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write', |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
42 'repository.admin') |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
43 def __before__(self): |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
44 super(FollowersController, self).__before__() |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
45 |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
46 def followers(self, repo_name): |
2845
6b176c679896
failsafe the GET `page` argument
Marcin Kuzminski <marcin@python-works.com>
parents:
1824
diff
changeset
|
47 p = safe_int(request.params.get('page', 1), 1) |
1375
f9559677c953
added tests for forks and followers pages
Marcin Kuzminski <marcin@python-works.com>
parents:
1301
diff
changeset
|
48 repo_id = c.rhodecode_db_repo.repo_id |
1279
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
49 d = UserFollowing.get_repo_followers(repo_id)\ |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
50 .order_by(UserFollowing.follows_from) |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
51 c.followers_pager = Page(d, page=p, items_per_page=20) |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
52 |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
53 c.followers_data = render('/followers/followers_data.html') |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
54 |
1421
c6b811f11c94
Javascripts rewrite: updated yui to latest 2.9, simplified ajax loading for multiple pages. Removed YUI dev package
Marcin Kuzminski <marcin@python-works.com>
parents:
1375
diff
changeset
|
55 if request.environ.get('HTTP_X_PARTIAL_XHR'): |
1279
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
56 return c.followers_data |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
57 |
cb216757a62d
#179 Added followers page
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
58 return render('/followers/followers.html') |