Révision 78775031
Ajouté par Serghei Mihai il y a presque 8 ans
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
authentication views fix