def check(self, *a, **kw): auth_check = authorization.AuthCheck(method=self.obj.__name__) self.obj(auth_check, *a, **kw) if self.raise_type == RETURN_AUTH_CHECK: return auth_check elif self.raise_type == RETURN_BOOL: return bool(auth_check) else: assert(self.raise_type in [RETURN_TEMPLATE, RETURN_DECORATOR]) if auth_check: if self.raise_type == RETURN_DECORATOR: return self.closure() else: return auth_check elif auth_check.need_login(): # Authentication might help from adhocracy.lib.helpers import login_redirect_url from pylons.controllers.util import redirect redirect(login_redirect_url()) else: from adhocracy.lib.templating import ret_abort log.debug("Aborting due to authorisation error: %s" % repr(self.obj)) ret_abort(_("We're sorry, but it seems that you lack the " "permissions to continue."), code=403)
def check(self, *a, **kw): auth_check = authorization.AuthCheck(method=self.obj.__name__) self.obj(auth_check, *a, **kw) if self.raise_type == RETURN_AUTH_CHECK: return auth_check elif self.raise_type == RETURN_BOOL: return bool(auth_check) else: assert (self.raise_type in [RETURN_TEMPLATE, RETURN_DECORATOR]) if auth_check: if self.raise_type == RETURN_DECORATOR: return self.closure() else: return auth_check elif auth_check.need_login(): # Authentication might help from adhocracy.lib.helpers import login_redirect_url from pylons.controllers.util import redirect redirect(login_redirect_url()) else: from adhocracy.lib.templating import ret_abort log.debug("Aborting due to authorisation error: %s" % repr(self.obj)) ret_abort(_("We're sorry, but it seems that you lack the " "permissions to continue."), code=403)
def test_login_redirect(self): from adhocracy.lib.helpers import login_redirect_url proposal = tt_make_proposal(title=u'testproposal') url = login_redirect_url(proposal) expected = (u'http://test.test.lan/login?came_from=' u'http%3A%2F%2Ftest.test.lan%2Fproposal%2F2-testproposal') self.assertEqual(url, expected)
def __init__(self, poll, deactivated=False, widget_class=""): self.__state = None self.__decision = None self.__dnode = None self.poll = poll self.deactivated = deactivated self.widget_size = widget_class self.widget_class = "vote " + widget_class self.widget_class += " deactivated" if self.deactivated else "" score = poll.tally.score self.count_class = "positive" if score > 0 else "negative" if score < 0 else "neutral" self.display_score = u"0" if score == 0 else u"%+d" % score self.html_id = "poll%s" % poll.id self.login_redirect_url = h.login_redirect_url(poll.scope, anchor=self.html_id) self._calculate_conditions()
def __init__(self, poll, deactivated=False, widget_class=''): self.__state = None self.__decision = None self.__dnode = None self.poll = poll self.deactivated = deactivated self.widget_size = widget_class self.widget_class = 'vote ' + widget_class self.widget_class += ' deactivated' if self.deactivated else '' score = poll.tally.score self.count_class = ('positive' if score > 0 else 'negative' if score < 0 else 'neutral') self.display_score = u'0' if score == 0 else u"%+d" % score self.html_id = 'poll%s' % poll.id self.login_redirect_url = h.login_redirect_url(poll.scope, anchor=self.html_id) self._calculate_conditions()