diff -r 651f67b66c51 -r 7c994c98d1df web/ldt/user/forms.py --- a/web/ldt/user/forms.py Tue Jun 08 15:10:46 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ -from django import forms -from django.contrib.auth.models import User, Permission, Group -from django.forms.util import ErrorList -from django.contrib.auth.forms import UserCreationForm -from django.utils.translation import gettext as _ -from models import ldt, IriGroup -from ldt.management import get_content_type_list - - -class ldtForm(UserCreationForm): - - class Meta: - model = ldt - - def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None, - initial=None, error_class=ErrorList, label_suffix=':', - empty_permitted=False, instance=None): - - if instance: - initial = initial or {} - - super(ldtForm, self).__init__(data, files, auto_id, prefix, - initial, error_class, label_suffix, empty_permitted, instance) - - # filtre les permissions necessaires - content_type_list = get_content_type_list() - self.fields['user_permissions'].queryset = Permission.objects.filter(content_type__in = content_type_list) - - if instance: - self.fields['password1'].required = False - self.fields['password1'].label = _('New password') - self.fields['password2'].required = False - self.fields['password2'].label = _('New password confirmation') - - self._password_change = True - - def clean_username(self): - if self.instance: - return self.cleaned_data['username'] - return super(ldtForm, self).clean_username() - - def clean_password2(self): - if self.instance and self.cleaned_data['password1'] == '' and self.cleaned_data['password2'] == '': - self._password_change = False - return u'' - return super(ldtForm, self).clean_password2() - - - def save(self, commit=True): - Super = self._password_change and ldtForm or UserCreationForm - user = super(Super, self).save(commit=False) - # if user.pk != None: - # self.save_m2m() - - if commit: - user.save() - - return user - -class IriGroupForm(forms.ModelForm): - class meta: - model = IriGroup - - def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None, - initial=None, error_class=ErrorList, label_suffix=':', - empty_permitted=False, instance=None): - if instance: - initial = initial or {} - - super(IriGroupForm, self).__init__(data, files, auto_id, prefix, - initial, error_class, label_suffix, empty_permitted, instance) - - # filtre les permissions necessaires - content_type_list = get_content_type_list() - self.fields['permissions'].queryset = Permission.objects.filter(content_type__in = content_type_list) - -class EmailChangeForm(forms.Form): - email1 = forms.EmailField(label=_("E-mail"), max_length=75) - email2 = forms.EmailField(label=_("E-mail"), max_length=75) - - def __init__(self, user=None, *args, **kwargs): - self.user = user - super(EmailChangeForm, self).__init__(*args, **kwargs) - - def clean_email2(self): - email1 = self.cleaned_data.get('email1') - email2 = self.cleaned_data.get('email2') - if email1 and email2: - if email1 != email2: - raise forms.ValidationError(_("The two emails didn't match.")) - return email2 - - - def save(self): - self.user.email=self.cleaned_data['email1'] - self.user.save() - return self.user -