Commit | Line | Data |
---|---|---|
8e1e744d | 1 | # GNU MediaGoblin -- federated, autonomous media hosting |
cf29e8a8 | 2 | # Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. |
e5572c60 ML |
3 | # |
4 | # This program is free software: you can redistribute it and/or modify | |
5 | # it under the terms of the GNU Affero General Public License as published by | |
6 | # the Free Software Foundation, either version 3 of the License, or | |
7 | # (at your option) any later version. | |
8 | # | |
9 | # This program is distributed in the hope that it will be useful, | |
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 | # GNU Affero General Public License for more details. | |
13 | # | |
14 | # You should have received a copy of the GNU Affero General Public License | |
15 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
16 | ||
13677ef9 | 17 | from mediagoblin import mg_globals |
b0c8328e | 18 | from mediagoblin.db.models import MediaEntry |
152a3bfa | 19 | from mediagoblin.tools.pagination import Pagination |
b1f996d7 | 20 | from mediagoblin.tools.pluginapi import hook_handle |
9d2b0161 | 21 | from mediagoblin.tools.response import render_to_response, render_404 |
6bba33d7 | 22 | from mediagoblin.decorators import uses_pagination, user_not_banned |
ef7cdac5 | 23 | |
243c3843 | 24 | |
6bba33d7 | 25 | @user_not_banned |
2542aa30 | 26 | @uses_pagination |
b1f996d7 | 27 | def default_root_view(request, page): |
8379046d | 28 | cursor = request.db.query(MediaEntry).filter_by(state=u'processed').\ |
0efe9e27 | 29 | order_by(MediaEntry.created.desc()) |
2542aa30 CAW |
30 | |
31 | pagination = Pagination(page, cursor) | |
32 | media_entries = pagination() | |
9038c9f9 | 33 | return render_to_response( |
2262b2a9 | 34 | request, 'mediagoblin/root.html', |
13677ef9 | 35 | {'media_entries': media_entries, |
2542aa30 | 36 | 'allow_registration': mg_globals.app_config["allow_registration"], |
4535f759 | 37 | 'pagination': pagination}) |
2262b2a9 CAW |
38 | |
39 | ||
c5b8ff2c CAW |
40 | |
41 | def root_view(request): | |
42 | """ | |
43 | Proxies to the real root view that's displayed | |
44 | """ | |
45 | view = hook_handle("frontpage_view") or default_root_view | |
46 | return view(request) | |
47 | ||
48 | ||
49 | ||
2262b2a9 CAW |
50 | def simple_template_render(request): |
51 | """ | |
52 | A view for absolutely simple template rendering. | |
53 | Just make sure 'template' is in the matchdict! | |
54 | """ | |
55 | template_name = request.matchdict['template'] | |
56 | return render_to_response( | |
57 | request, template_name, {}) | |
6acf4ee6 | 58 | |
59 | def terms_of_service(request): | |
9d2b0161 CAW |
60 | if mg_globals.app_config["show_tos"] is False: |
61 | return render_404(request) | |
62 | ||
6acf4ee6 | 63 | return render_to_response(request, |
64 | 'mediagoblin/terms_of_service.html', {}) |