from django import http from django.contrib import auth from django.contrib.auth.models import User from django.core.urlresolvers import reverse from django.contrib.auth.decorators import login_required from django.utils.translation import ugettext_lazy as _ from django.utils.encoding import smart_str from turbion.bits.openid import forms, utils, models, backend from turbion.bits.utils.urls import uri_reverse from turbion.bits.profiles import get_profile from turbion.bits.utils.decorators import templated, special_titled titled = special_titled(section=_("OpenID authentication")) def get_redirect(request): redirect = request.REQUEST.get("next", request.META.get("HTTP_REFERER", "/")) return redirect @templated('turbion/openid/login.html') @titled(page=_("OpendID login")) def login(request): if request.method == 'POST': form = forms.OpenidLoginForm(request, data=request.POST) if form.is_valid(): after_auth_redirect = form.auth_redirect(get_redirect(request)) return http.HttpResponseRedirect(after_auth_redirect) else: form = forms.OpenidLoginForm(request)
from django.conf import settings from django.contrib.auth.decorators import login_required from django.utils.translation import ugettext_lazy as _ from django import http from django.core.urlresolvers import reverse from turbion.bits.blogs.models import Post from turbion.bits.profiles.models import Profile from turbion.bits.utils.decorators import special_titled, templated, paged from turbion.bits import watchlist from turbion.bits.profiles import get_profile from turbion.bits.utils.pagination import paginate from turbion.bits.utils.views import status_redirect from turbion.bits.watchlist.forms import SubscriptionForm titled = special_titled(section=_('Watchlist')) @paged @login_required @templated('turbion/watchlist/index.html') @titled(page=_('Recent comments')) def index(request): profile = get_profile(request) return { 'profile': profile, 'comments_page': paginate( watchlist.get_subcription_comments(profile), request.page, settings.TURBION_BLOG_POSTS_PER_PAGE ), 'subscriptions': profile.subscriptions.filter(event__name='new_comment').\
import re from django.conf import settings from django.core.urlresolvers import reverse from django.http import HttpResponseRedirect from django.contrib.auth.decorators import login_required from django.http import Http404, HttpResponsePermanentRedirect from django.shortcuts import * from turbion.bits.blogs.models import Post from turbion.bits.utils.decorators import special_titled from turbion.bits.profiles import get_profile titled = special_titled(section=settings.TURBION_BLOG_NAME) def post_view(view_func): def _decor(request, *args, **kwargs): if request.user.is_authenticated(): query_set = Post.objects.all() else: query_set = Post.published.all() if not get_profile(request).is_trusted(): query_set = query_set.filter(showing=Post.show_settings.everybody) published_on = dict( published_on__year=int(kwargs.pop('year_id')), published_on__month=int(kwargs.pop('month_id')), published_on__day=int(kwargs.pop('day_id')), ) query_set = query_set.filter(slug=kwargs.pop('post_slug'), **published_on)
from django.http import HttpResponseRedirect from django.contrib.auth.decorators import login_required from django.utils.translation import ugettext_lazy as _ from django.shortcuts import get_object_or_404 from turbion.bits.profiles import get_profile, forms from turbion.bits.profiles.models import Profile from turbion.bits.utils.decorators import special_titled, templated titled = special_titled(section=_("Profile {{profile}}")) @templated('turbion/profiles/profile.html') @titled(page=_("Profile")) def profile(request, profile_id): profile = get_object_or_404(Profile, pk=profile_id) return { "profile": profile } @login_required @templated('turbion/profiles/edit.html') @titled(page=_("Edit")) def edit_profile(request): profile = get_profile(request) updated = False if request.method == "POST": profile_form = forms.ProfileForm( data=request.POST,
from django.utils.translation import ugettext_lazy as _ from django.utils.encoding import force_unicode from django.conf import settings from turbion.bits.profiles import get_profile from turbion.bits.openid import forms, utils, models from turbion.bits.utils.urls import uri_reverse from turbion.bits.utils.decorators import templated, special_titled from turbion.bits.utils.views import status_redirect # Maps sreg data fields to Turbion's profile if not equal SREG_TO_PROFILE_MAP = { 'fullname': 'full_name', } titled = special_titled(section=_("OpenID Server")) def is_identity_profile(request): return get_profile(request).pk == int(settings.TURBION_OPENID_IDENTITY_PROFILE) def identity_profile_required(view): def _decorator(request, *args, **kwargs): if not is_identity_profile(request): return http.HttpResponseForbidden('Access restricted') return view(request, *args, **kwargs) return _decorator def is_trust(url): try: trust = models.Trust.objects.get(url=url) return True