blob: f82f4dd04fdaf0f448a30da23ceb4da7bdfdc501 [file] [log] [blame]
lombardofr84d0a012018-06-12 11:21:02 +02001#
2# Copyright 2018 EveryUP Srl
3#
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
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
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.
15#
16from django.shortcuts import render
17from django.contrib.auth import login, logout, authenticate
18from django.http import HttpResponseRedirect
19import urllib
20
21
22# Create your views here.
23def user_login(request):
24
25 logout(request)
26
27 error_message = ''
28 if request.POST:
29 print request.POST.get('username')
30 print request.POST.get('password')
31 next_page = request.POST.get('next')
32 next_page = urllib.unquote(next_page).decode('iso-8859-2')
lombardofr236e3e32018-07-17 17:27:36 +020033 try:
34 user = authenticate(username=request.POST.get('username'),
35 password=request.POST.get('password'),
36 project_id=request.POST.get('project_id'))
37 except Exception as e:
38 print e
39 res = HttpResponseRedirect('/auth')
40 res.set_cookie('logout_reason', '', max_age=10)
41 return res
42
lombardofr84d0a012018-06-12 11:21:02 +020043 if user and user.is_active:
lombardofr236e3e32018-07-17 17:27:36 +020044 if user.is_authenticated:
lombardofr84d0a012018-06-12 11:21:02 +020045 login(request, user)
lombardofrb4d6cec2018-07-18 15:26:16 +020046 request.session['projects'] = user.get_projects()
lombardofr84d0a012018-06-12 11:21:02 +020047 if next_page == "" or next_page is None:
48 return HttpResponseRedirect('/home')
49 else:
50 return HttpResponseRedirect(next_page)
51 else:
52 error_message = 'Login failed!'
lombardofrb4d6cec2018-07-18 15:26:16 +020053 return render(request, 'login.html', {'error_message': error_message, 'collapsed_sidebar': False})