Merge remote-tracking branch 'refs/remotes/tilly-q/variable-front-page'
[mediagoblin.git] / mediagoblin / views.py
index 14fbc4e67d5c5d6fbb805a794499ff3b26b02842..12b1b386af4770eca95468636f3ae7ba0768e909 100644 (file)
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 from mediagoblin import mg_globals
-from mediagoblin.db.sql.models import MediaEntry
+from mediagoblin.db.models import MediaEntry
 from mediagoblin.tools.pagination import Pagination
-from mediagoblin.tools.response import render_to_response
-from mediagoblin.decorators import uses_pagination
-
+from mediagoblin.tools.pluginapi import hook_handle
+from mediagoblin.tools.response import render_to_response, render_404
+from mediagoblin.decorators import uses_pagination, user_not_banned
 
 
+@user_not_banned
 @uses_pagination
-def root_view(request, page):
+def default_root_view(request, page):
     cursor = MediaEntry.query.filter_by(state=u'processed').\
         order_by(MediaEntry.created.desc())
 
@@ -44,3 +45,12 @@ def simple_template_render(request):
     template_name = request.matchdict['template']
     return render_to_response(
         request, template_name, {})
+
+def terms_of_service(request):
+    if mg_globals.app_config["show_tos"] is False:
+        return render_404(request)
+
+    return render_to_response(request,
+        'mediagoblin/terms_of_service.html', {})
+
+root_view = hook_handle("frontpage_view") or default_root_view