2 # Copyright 2018 CNIT - Consorzio Nazionale Interuniversitario per le Telecomunicazioni
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
17 from django
.shortcuts
import render
18 from django
.contrib
.auth
import login
, logout
, authenticate
19 from django
.http
import HttpResponseRedirect
20 from sf_user
.models
import CustomUser
25 # Create your views here.
26 def login_view(request
):
27 if hasattr(request
.user
, "is_guest_user") and request
.user
.is_guest_user
== True:
28 print "is_guest", request
.user
.is_guest_user
29 CustomUser
.objects
.get(id=request
.user
.id).delete()
34 next_page
= request
.GET
['next']
37 print request
.POST
.get('username')
38 print request
.POST
.get('password')
39 next_page
= request
.POST
.get('next')
40 next_page
= urllib
.unquote(next_page
).decode('iso-8859-2')
41 user
= authenticate(username
=request
.POST
.get('username'), password
=request
.POST
.get('password'))
42 print "Auth Result: " + str(user
) + " -> " + str(user
)
43 if user
and user
.is_active
:
44 if user
.is_authenticated():
47 if next_page
== "" or next_page
is None:
48 return HttpResponseRedirect('/home')
50 return HttpResponseRedirect(next_page
)
52 error_message
= 'Login failed!'
53 return render(request
, 'login.html', {'error_message':error_message
, 'collapsed_sidebar': False})
56 def guest_login(request
):
57 #user = CustomUser.objects.get(id=request.user.id)
58 if hasattr(request
.user
, "is_guest_user") and request
.user
.is_guest_user
== True:
59 CustomUser
.objects
.get(id=request
.user
.id).delete()
63 guest_user_name
= "Guest_"+str(uuid
.uuid4())
64 guest_user_email
= guest_user_name
+"@guest.it"
65 guest_user
= CustomUser
.objects
.create(username
=guest_user_name
, is_guest_user
="True", email
=guest_user_email
, first_name
='User', last_name
='Guest')
66 print guest_user
.username
68 if guest_user
and guest_user
.is_active
:
69 if guest_user
.is_authenticated():
70 login(request
, guest_user
)
72 return HttpResponseRedirect('/home')
74 return HttpResponseRedirect(next
)
76 return render(request
, 'login.html', {'error_message': 'New Guest session failed.'})
79 def register_view(request
):
85 next
= request
.GET
['next']
89 return render(request
, 'register_user.html', {'error_message': error_message
, 'collapsed_sidebar': False})