Commit 686fe41d8d1da60381e500af8a1fe6d95ff0ac80

Authored by Matheus de Sousa Faria
1 parent 8a875cca

Deleting unused accounts forms

Signed-off-by: Matheus Faria <matheus.sousa.faria@gmail.com>
Signed-off-by: TomazMartins <tomaz.r.martins@gmail.com>
Showing 1 changed file with 1 additions and 242 deletions   Show diff stats
colab/accounts/forms.py
1 1 # -*- coding: utf-8 -*-
2 2  
3   -from collections import OrderedDict
4   -
5 3 from django import forms
6 4 from django.conf import settings
7   -from django.contrib.auth import authenticate, get_user_model
  5 +from django.contrib.auth import get_user_model
8 6 from django.contrib.auth.forms import ReadOnlyPasswordHashField
9   -from django.contrib.auth.tokens import default_token_generator
10   -from django.contrib.sites.shortcuts import get_current_site
11 7 from django.core.urlresolvers import reverse
12   -from django.template import loader
13   -from django.utils.encoding import force_bytes
14 8 from django.utils.functional import lazy
15   -from django.utils.http import urlsafe_base64_encode
16   -from django.utils.text import capfirst
17 9 from django.utils.translation import ugettext_lazy as _
18 10 from django.utils.safestring import mark_safe
19 11  
... ... @@ -285,236 +277,3 @@ class UserChangeForm(forms.ModelForm):
285 277 # This is done here, rather than on the field, because the
286 278 # field does not have access to the initial value
287 279 return self.initial["password"]
288   -
289   -
290   -class AuthenticationForm(forms.Form):
291   - """
292   - Base class for authenticating users. Extend this to get a form that accepts
293   - username/password logins.
294   - """
295   - username = forms.CharField(max_length=254)
296   - password = forms.CharField(label=_("Password"), widget=forms.PasswordInput)
297   -
298   - error_messages = {
299   - 'invalid_login': _("Please enter a correct %(username)s and password. "
300   - "Note that both fields may be case-sensitive."),
301   - 'inactive': _("This account is inactive."),
302   - }
303   -
304   - def __init__(self, request=None, *args, **kwargs):
305   - """
306   - The 'request' parameter is set for custom auth use by subclasses.
307   - The form data comes in via the standard 'data' kwarg.
308   - """
309   - self.request = request
310   - self.user_cache = None
311   - super(AuthenticationForm, self).__init__(*args, **kwargs)
312   -
313   - # Set the label for the "username" field.
314   - UserModel = get_user_model()
315   - self.username_field = UserModel._meta.get_field(
316   - UserModel.USERNAME_FIELD)
317   - if self.fields['username'].label is None:
318   - self.fields['username'].label = capfirst(
319   - self.username_field.verbose_name)
320   -
321   - def clean(self):
322   - username = self.cleaned_data.get('username')
323   - password = self.cleaned_data.get('password')
324   -
325   - if username and password:
326   - self.user_cache = authenticate(username=username,
327   - password=password)
328   - if self.user_cache is None:
329   - raise forms.ValidationError(
330   - self.error_messages['invalid_login'],
331   - code='invalid_login',
332   - params={'username': self.username_field.verbose_name},
333   - )
334   - else:
335   - self.confirm_login_allowed(self.user_cache)
336   -
337   - return self.cleaned_data
338   -
339   - def confirm_login_allowed(self, user):
340   - """
341   - Controls whether the given User may log in. This is a policy setting,
342   - independent of end-user authentication. This default behavior is to
343   - allow login by active users, and reject login by inactive users.
344   - If the given user cannot log in, this method should raise a
345   - ``forms.ValidationError``.
346   - If the given user may log in, this method should return None.
347   - """
348   - if not user.is_active:
349   - raise forms.ValidationError(
350   - self.error_messages['inactive'],
351   - code='inactive',
352   - )
353   -
354   - def get_user_id(self):
355   - if self.user_cache:
356   - return self.user_cache.id
357   - return None
358   -
359   - def get_user(self):
360   - return self.user_cache
361   -
362   -
363   -class PasswordResetForm(forms.Form):
364   - email = forms.EmailField(label=_("Email"), max_length=254)
365   -
366   - def save(self, domain_override=None,
367   - subject_template_name='registration/password_reset_subject.txt',
368   - email_template_name='registration/password_reset_email.html',
369   - use_https=False, token_generator=default_token_generator,
370   - from_email=None, request=None, html_email_template_name=None):
371   - """
372   - Generates a one-use only link for resetting password and sends to the
373   - user.
374   - """
375   - from django.core.mail import send_mail
376   - UserModel = get_user_model()
377   - email = self.cleaned_data["email"]
378   - active_users = UserModel._default_manager.filter(
379   - email__iexact=email, is_active=True)
380   - for user in active_users:
381   - # Make sure that no email is sent to a user that actually has
382   - # a password marked as unusable
383   - if not user.has_usable_password():
384   - continue
385   - if not domain_override:
386   - current_site = get_current_site(request)
387   - site_name = current_site.name
388   - domain = current_site.domain
389   - else:
390   - site_name = domain = domain_override
391   - c = {
392   - 'email': user.email,
393   - 'domain': domain,
394   - 'site_name': site_name,
395   - 'uid': urlsafe_base64_encode(force_bytes(user.pk)),
396   - 'user': user,
397   - 'token': token_generator.make_token(user),
398   - 'protocol': 'https' if use_https else 'http',
399   - }
400   - subject = loader.render_to_string(subject_template_name, c)
401   - # Email subject *must not* contain newlines
402   - subject = ''.join(subject.splitlines())
403   - email = loader.render_to_string(email_template_name, c)
404   -
405   - if html_email_template_name:
406   - html_email = loader.render_to_string(html_email_template_name,
407   - c)
408   - else:
409   - html_email = None
410   - send_mail(subject, email, from_email, [user.email],
411   - html_message=html_email)
412   -
413   -
414   -class SetPasswordForm(forms.Form):
415   - """
416   - A form that lets a user change set their password without entering the old
417   - password
418   - """
419   - error_messages = {
420   - 'password_mismatch': _("The two password fields didn't match."),
421   - }
422   - new_password1 = forms.CharField(label=_("New password"),
423   - widget=forms.PasswordInput)
424   - new_password2 = forms.CharField(label=_("New password confirmation"),
425   - widget=forms.PasswordInput)
426   -
427   - def __init__(self, user, *args, **kwargs):
428   - self.user = user
429   - super(SetPasswordForm, self).__init__(*args, **kwargs)
430   -
431   - def clean_new_password2(self):
432   - password1 = self.cleaned_data.get('new_password1')
433   - password2 = self.cleaned_data.get('new_password2')
434   - if password1 and password2:
435   - if password1 != password2:
436   - raise forms.ValidationError(
437   - self.error_messages['password_mismatch'],
438   - code='password_mismatch',
439   - )
440   - return password2
441   -
442   - def save(self, commit=True):
443   - self.user.set_password(self.cleaned_data['new_password1'])
444   - if commit:
445   - self.user.save()
446   - return self.user
447   -
448   -
449   -class PasswordChangeForm(SetPasswordForm):
450   - """
451   - A form that lets a user change their password by entering their old
452   - password.
453   - """
454   - error_messages = dict(SetPasswordForm.error_messages, **{
455   - 'password_incorrect': _("Your old password was entered incorrectly. "
456   - "Please enter it again."),
457   - })
458   - old_password = forms.CharField(label=_("Old password"),
459   - widget=forms.PasswordInput)
460   -
461   - def clean_old_password(self):
462   - """
463   - Validates that the old_password field is correct.
464   - """
465   - old_password = self.cleaned_data["old_password"]
466   - if not self.user.check_password(old_password):
467   - raise forms.ValidationError(
468   - self.error_messages['password_incorrect'],
469   - code='password_incorrect',
470   - )
471   - return old_password
472   -
473   -PasswordChangeForm.base_fields = OrderedDict(
474   - (k, PasswordChangeForm.base_fields[k])
475   - for k in ['old_password', 'new_password1', 'new_password2']
476   -)
477   -
478   -
479   -class AdminPasswordChangeForm(forms.Form):
480   - """
481   - A form used to change the password of a user in the admin interface.
482   - """
483   - error_messages = {
484   - 'password_mismatch': _("The two password fields didn't match."),
485   - }
486   - password1 = forms.CharField(label=_("Password"),
487   - widget=forms.PasswordInput)
488   - password2 = forms.CharField(label=_("Password (again)"),
489   - widget=forms.PasswordInput)
490   -
491   - def __init__(self, user, *args, **kwargs):
492   - self.user = user
493   - super(AdminPasswordChangeForm, self).__init__(*args, **kwargs)
494   -
495   - def clean_password2(self):
496   - password1 = self.cleaned_data.get('password1')
497   - password2 = self.cleaned_data.get('password2')
498   - if password1 and password2:
499   - if password1 != password2:
500   - raise forms.ValidationError(
501   - self.error_messages['password_mismatch'],
502   - code='password_mismatch',
503   - )
504   - return password2
505   -
506   - def save(self, commit=True):
507   - """
508   - Saves the new password.
509   - """
510   - self.user.set_password(self.cleaned_data["password1"])
511   - if commit:
512   - self.user.save()
513   - return self.user
514   -
515   - def _get_changed_data(self):
516   - data = super(AdminPasswordChangeForm, self).changed_data
517   - for name in self.fields.keys():
518   - if name not in data:
519   - return []
520   - return ['password']
... ...