# HG changeset patch # User Marcin Kuzminski # Date 2011-02-15 23:19:01 # Node ID 520d27f40b51e58668eca9f2ce0500b657331548 # Parent 903aadbf9047be8b3c350b56bfd30a7b24f1facd #113 removed anonymous access from forking, added system messages in login box. diff --git a/rhodecode/controllers/settings.py b/rhodecode/controllers/settings.py --- a/rhodecode/controllers/settings.py +++ b/rhodecode/controllers/settings.py @@ -35,9 +35,12 @@ from pylons.controllers.util import redi from pylons.i18n.translation import _ import rhodecode.lib.helpers as h -from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAllDecorator + +from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAllDecorator, \ + NotAnonymous from rhodecode.lib.base import BaseRepoController, render from rhodecode.lib.utils import invalidate_cache, action_logger + from rhodecode.model.forms import RepoSettingsForm, RepoForkForm from rhodecode.model.repo import RepoModel from rhodecode.model.db import User @@ -157,6 +160,7 @@ class SettingsController(BaseRepoControl return redirect(url('home')) + @NotAnonymous() @HasRepoPermissionAllDecorator('repository.read') def fork(self, repo_name): repo_model = RepoModel() @@ -172,7 +176,7 @@ class SettingsController(BaseRepoControl return render('settings/repo_fork.html') - + @NotAnonymous() @HasRepoPermissionAllDecorator('repository.read') def fork_create(self, repo_name): repo_model = RepoModel() diff --git a/rhodecode/lib/auth.py b/rhodecode/lib/auth.py --- a/rhodecode/lib/auth.py +++ b/rhodecode/lib/auth.py @@ -33,6 +33,7 @@ from decorator import decorator from pylons import config, session, url, request from pylons.controllers.util import abort, redirect +from pylons.i18n.translation import _ from rhodecode.lib.exceptions import LdapPasswordError, LdapUsernameError from rhodecode.lib.utils import get_repo_slug @@ -384,6 +385,10 @@ class NotAnonymous(object): p += request.environ.get('PATH_INFO') if request.environ.get('QUERY_STRING'): p += '?' + request.environ.get('QUERY_STRING') + + import rhodecode.lib.helpers as h + h.flash(_('You need to be a registered user to perform this action'), + category='warning') return redirect(url('login_home', came_from=p)) else: return func(*fargs, **fkwargs) diff --git a/rhodecode/templates/login.html b/rhodecode/templates/login.html --- a/rhodecode/templates/login.html +++ b/rhodecode/templates/login.html @@ -12,7 +12,17 @@ -
+
+
+ <% messages = h.flash.pop_messages() %> + % if messages: +
    + % for message in messages: +
  • ${message}
  • + % endfor +
+ % endif +
${_('Sign In to')} ${c.rhodecode_name}