2 # Copyright 2018 EveryUP Srl
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.
16 from django
.shortcuts
import render
17 from django
.contrib
.auth
import login
, logout
, authenticate
18 from django
.http
import HttpResponseRedirect
22 # Create your views here.
23 def user_login(request
):
30 next_page
= request
.POST
.get('next')
31 next_page
= urllib
.unquote(next_page
).decode('iso-8859-2')
33 user
= authenticate(username
=request
.POST
.get('username'),
34 password
=request
.POST
.get('password'),
35 project_id
=request
.POST
.get('project_id'))
36 except Exception as e
:
38 res
= HttpResponseRedirect('/auth')
39 res
.set_cookie('logout_reason', '', max_age
=10)
42 if user
and user
.is_active
:
43 if user
.is_authenticated
:
45 request
.session
['projects'] = user
.get_projects()
46 if next_page
== "" or next_page
is None:
47 return HttpResponseRedirect('/home')
49 return HttpResponseRedirect(next_page
)
51 error_message
= 'Login failed!'
52 return render(request
, 'login.html', {'error_message': error_message
, 'collapsed_sidebar': False})