X-Git-Url: https://git.mdrn.pl/django-cas-provider.git/blobdiff_plain/3e3322506beb1dc6f1e4a2b5343c81fbf7e77a17..a1a43977ac7fa00e65f80b8c3853e206b910599a:/cas_provider/forms.py?ds=sidebyside diff --git a/cas_provider/forms.py b/cas_provider/forms.py index 80b8913..5ddb057 100644 --- a/cas_provider/forms.py +++ b/cas_provider/forms.py @@ -1,15 +1,33 @@ from django import forms +from django.conf import settings +from django.contrib.auth import authenticate +from django.forms import ValidationError from django.utils.translation import ugettext_lazy as _ +from models import LoginTicket +import datetime -from utils import create_login_ticket class LoginForm(forms.Form): - username = forms.CharField(max_length=30, label=_('username')) - password = forms.CharField(widget=forms.PasswordInput, label=_('password')) - #warn = forms.BooleanField(required=False) # TODO: Implement - lt = forms.CharField(widget=forms.HiddenInput, initial=create_login_ticket) - def __init__(self, service=None, renew=None, gateway=None, request=None, *args, **kwargs): + email = forms.CharField(widget=forms.TextInput(attrs={'autofocus': 'autofocus', + 'placeholder': 'Email', + 'max_length': '255'})) + password = forms.CharField(widget=forms.PasswordInput(attrs={'placeholder': 'Password'})) + service = forms.CharField(widget=forms.HiddenInput, required=False) + remember_me = forms.BooleanField(required=False, label="Keep me signed in", + widget=forms.CheckboxInput(attrs={'class': 'remember_me'})) + + def __init__(self, *args, **kwargs): + # renew = kwargs.pop('renew', None) + # gateway = kwargs.pop('gateway', None) + request = kwargs.pop('request', None) super(LoginForm, self).__init__(*args, **kwargs) self.request = request - if service is not None: - self.fields['service'] = forms.CharField(widget=forms.HiddenInput, initial=service) \ No newline at end of file + + def clean_remember_me(self): + remember = self.cleaned_data['remember_me'] + if not remember and self.request is not None: + self.request.session.set_expiry(0) + + +class MergeLoginForm(LoginForm): + email = forms.CharField(max_length=255, widget=forms.HiddenInput)