Commit 56d2b3c2bc0293d94837c60b0234c1342fc3f995

Authored by Zambom
1 parent 84599d97

Login next param redirect and log

Showing 1 changed file with 11 additions and 1 deletions   Show diff stats
users/views.py
@@ -11,6 +11,8 @@ from braces import views as braces_mixins @@ -11,6 +11,8 @@ from braces import views as braces_mixins
11 11
12 from security.models import Security 12 from security.models import Security
13 13
  14 +from log.decorators import log_decorator
  15 +
14 from .models import User 16 from .models import User
15 from .utils import has_dependencies 17 from .utils import has_dependencies
16 from .forms import RegisterUserForm, ProfileForm, UserForm, ChangePassForm, PassResetRequest, SetPasswordForm 18 from .forms import RegisterUserForm, ProfileForm, UserForm, ChangePassForm, PassResetRequest, SetPasswordForm
@@ -436,7 +438,7 @@ class PasswordResetConfirmView(generic.FormView): @@ -436,7 +438,7 @@ class PasswordResetConfirmView(generic.FormView):
436 messages.error(request, _('The reset password link is no longer valid.')) 438 messages.error(request, _('The reset password link is no longer valid.'))
437 return self.form_invalid(form) 439 return self.form_invalid(form)
438 440
439 - 441 +@log_decorator('user', 'access', 'system')
440 def login(request): 442 def login(request):
441 context = {} 443 context = {}
442 context['title'] = _('Log In') 444 context['title'] = _('Log In')
@@ -452,6 +454,14 @@ def login(request): @@ -452,6 +454,14 @@ def login(request):
452 if user is not None: 454 if user is not None:
453 if not security.maintence or user.is_staff: 455 if not security.maintence or user.is_staff:
454 login_user(request, user) 456 login_user(request, user)
  457 +
  458 + next_url = request.GET.get('next', None)
  459 +
  460 + request.log_context = {}
  461 +
  462 + if next_url:
  463 + return redirect(next_url)
  464 +
455 return redirect(reverse("home")) 465 return redirect(reverse("home"))
456 else: 466 else:
457 messages.error(request, _('System under maintenance. Try again later')) 467 messages.error(request, _('System under maintenance. Try again later'))