Exemple #1
0
    def token_or_redirect(**kwargs):
        token = kwargs.get('token', '')
        msg, umi, user = Token.convert_token(token)
        if user is None:
            # TODO where to redirect?
            return redirect(url_for_with_prefix('app_router.reset_token'))
        else:
            if msg is not None:
                if msg.is_already_sent() and viewfunc.__name__ is not 'message_sent':
                    return redirect(url_for_with_prefix('app_router.message_sent', token=token))
                elif not msg.is_already_sent() and user.default_info.accept_tos and viewfunc.__name__ not in ['confirm_reps', 'message_sent']:
                    return redirect(url_for_with_prefix('app_router.confirm_reps', token=token))

            kwargs.update({'msg': msg, 'umi': umi, 'user': user})
            return viewfunc(**kwargs)