Example #1
0
    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)
Example #2
0
    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)
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
 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()
Example #6
0
 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()
Example #7
0
 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()