first commit

Change-Id: I8a65ee5527dd16d81e87c8ac5d4bdb471e5e759d
Signed-off-by: lombardof <flombardo@cnit.it>
diff --git a/sf_user/views.py b/sf_user/views.py
new file mode 100644
index 0000000..fb33347
--- /dev/null
+++ b/sf_user/views.py
@@ -0,0 +1,89 @@
+#
+#   Copyright 2018 CNIT - Consorzio Nazionale Interuniversitario per le Telecomunicazioni
+#
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an  BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#
+
+from django.shortcuts import render
+from django.contrib.auth import login, logout, authenticate
+from django.http import HttpResponseRedirect
+from sf_user.models import CustomUser
+import urllib
+import uuid
+
+
+# Create your views here.
+def login_view(request):
+    if hasattr(request.user, "is_guest_user") and request.user.is_guest_user == True:
+        print "is_guest", request.user.is_guest_user
+        CustomUser.objects.get(id=request.user.id).delete()
+    logout(request)
+    extra_data = {}
+    next_page = ""
+    if request.GET:
+        next_page = request.GET['next']
+    error_message = ''
+    if request.POST:
+        print request.POST.get('username')
+        print request.POST.get('password')
+        next_page = request.POST.get('next')
+        next_page = urllib.unquote(next_page).decode('iso-8859-2')
+        user = authenticate(username=request.POST.get('username'), password=request.POST.get('password'))
+        print "Auth Result: " + str(user) + " -> " + str(user)
+        if user and user.is_active:
+            if user.is_authenticated():
+                login(request, user)
+                print next_page
+                if next_page == "" or next_page is None:
+                    return HttpResponseRedirect('/home')
+                else:
+                    return HttpResponseRedirect(next_page)
+        else:
+            error_message = 'Login failed!'
+    return render(request, 'login.html', {'error_message':error_message, 'collapsed_sidebar': False})
+
+
+def guest_login(request):
+    #user = CustomUser.objects.get(id=request.user.id)
+    if hasattr(request.user, "is_guest_user") and request.user.is_guest_user == True:
+        CustomUser.objects.get(id=request.user.id).delete()
+    logout(request)
+    next = ""
+
+    guest_user_name = "Guest_"+str(uuid.uuid4())
+    guest_user_email = guest_user_name+"@guest.it"
+    guest_user = CustomUser.objects.create(username=guest_user_name, is_guest_user="True", email=guest_user_email, first_name='User', last_name='Guest')
+    print guest_user.username
+
+    if guest_user and guest_user.is_active:
+        if guest_user.is_authenticated():
+            login(request, guest_user)
+            if next == "":
+                return HttpResponseRedirect('/home')
+            else:
+                return HttpResponseRedirect(next)
+
+    return render(request, 'login.html', {'error_message': 'New Guest session failed.'})
+
+
+def register_view(request):
+
+    logout(request)
+    extra_data = {}
+    next = ""
+    if request.GET:
+        next = request.GET['next']
+    error_message = ''
+    if request.POST:
+        print "new user"
+    return render(request, 'register_user.html', {'error_message': error_message, 'collapsed_sidebar': False})
\ No newline at end of file