Projet

Général

Profil

« Précédent | Suivant » 

Révision 78775031

Ajouté par Serghei Mihai il y a presque 8 ans

authentication views fix

Voir les différences:

corbo/views.py
1 1
from datetime import datetime
2
import urllib
2 3

  
3 4
from django.conf import settings
4 5
from django.core import signing
......
6 7
from django.views.generic import CreateView, UpdateView, DeleteView, \
7 8
                                 ListView, TemplateView
8 9
from django.contrib.syndication.views import Feed
10
from django.shortcuts import resolve_url
9 11
from django.utils.feedgenerator import Atom1Feed
10 12
from django.utils.http import urlencode
11 13
from django.http import Http404
14
from django.contrib.auth import logout as auth_logout
15
from django.contrib.auth import views as auth_views
16
from django.http import HttpResponseRedirect
12 17

  
13 18
import models
14 19
from .forms import AnnounceForm, CategoryForm
15 20

  
21
try:
22
    from mellon.utils import get_idps
23
except ImportError:
24
    get_idps = lambda: []
25

  
26
def login(request, *args, **kwargs):
27
    if any(get_idps()):
28
        if not 'next' in request.GET:
29
            return HttpResponseRedirect(resolve_url('mellon_login'))
30
        return HttpResponseRedirect(resolve_url('mellon_login') + '?next='
31
                                    + urllib.quote(request.GET.get('next')))
32
    return auth_views.login(request, *args, **kwargs)
33

  
34
def logout(request, next_page=None):
35
    if any(get_idps()):
36
        return HttpResponseRedirect(resolve_url('mellon_logout'))
37
    auth_logout(request)
38
    if next_page is not None:
39
        next_page = resolve_url(next_page)
40
    else:
41
        next_page = '/'
42
    return HttpResponseRedirect(next_page)
43

  
44

  
16 45
class HomepageView(ListView):
17 46
    model = models.Announce
18 47
    template_name = 'corbo/homepage.html'

Formats disponibles : Unified diff