# Path: startup/accounts/models.py
# class User(AbstractBaseUser, PermissionsMixin):
#     """
#     Users within the Django authentication system are represented by this
#     model.
# 
#     Username, password and email are required. Other fields are optional.
#     """
# 
#     username = models.CharField(
#         _('username'),
#         max_length=30,
#         unique=True,
#         help_text=_('Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only.'),
#         validators=[validators.RegexValidator(r'^[\w.@+-]+$', _('Enter a valid username.'), 'invalid')]
#     )
# 
#     first_name = models.CharField(_('first name'), max_length=30, blank=True)
#     last_name = models.CharField(_('last name'), max_length=30, blank=True)
#     email = models.EmailField(_('email address'), blank=True)
# 
#     photo = models.ImageField(upload_to='users', blank=True, null=True)
# 
#     is_staff = models.BooleanField(
#         _('staff status'), default=False,
#         help_text=_('Designates whether the user can log into this admin '
#                     'site.'))
#     is_active = models.BooleanField(
#         _('active'), default=True,
#         help_text=_('Designates whether this user should be treated as '
#                     'active. Unselect this instead of deleting accounts.'))
#     date_joined = models.DateTimeField(_('date joined'), default=timezone.now)
# 
#     objects = UserManager()
# 
#     USERNAME_FIELD = 'username'
#     REQUIRED_FIELDS = ['email']
# 
#     class Meta:
#         verbose_name = _('user')
#         verbose_name_plural = _('users')
# 
#     @property
#     def full_name(self):
#         return self.get_full_name()
# 
#     def get_absolute_url(self):
#         return settings.LOGIN_REDIRECT_URL
# 
#     def get_full_name(self):
#         """
#         Returns the first_name plus the last_name, with a space in between.
#         """
#         full_name = '%s %s' % (self.first_name, self.last_name)
#         return full_name.strip()
# 
#     def get_short_name(self):
#         "Returns the short name for the user."
#         return self.first_name
# 
#     def email_user(self, subject, message, from_email=None, **kwargs):
#         """
#         Sends an email to this User.
#         """
#         send_mail(subject, message, from_email, [self.email], **kwargs)


from django import forms
from django.utils.translation import ugettext as _
from startup.accounts.models import User
# coding=utf-8




class UserCreationForm(forms.ModelForm):
    """A form for creating new users. Includes all the required
    fields, plus a repeated password."""
    password1 = forms.CharField(label=_('Password'), widget=forms.PasswordInput)
    password2 = forms.CharField(label=_('Password confirmation'), widget=forms.PasswordInput)

    class Meta:

# Path: startup/accounts/models.py
# class User(AbstractBaseUser, PermissionsMixin):
#     """
#     Users within the Django authentication system are represented by this
#     model.
# 
#     Username, password and email are required. Other fields are optional.
#     """
# 
#     username = models.CharField(
#         _('username'),
#         max_length=30,
#         unique=True,
#         help_text=_('Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only.'),
#         validators=[validators.RegexValidator(r'^[\w.@+-]+$', _('Enter a valid username.'), 'invalid')]
#     )
# 
#     first_name = models.CharField(_('first name'), max_length=30, blank=True)
#     last_name = models.CharField(_('last name'), max_length=30, blank=True)
#     email = models.EmailField(_('email address'), blank=True)
# 
#     photo = models.ImageField(upload_to='users', blank=True, null=True)
# 
#     is_staff = models.BooleanField(
#         _('staff status'), default=False,
#         help_text=_('Designates whether the user can log into this admin '
#                     'site.'))
#     is_active = models.BooleanField(
#         _('active'), default=True,
#         help_text=_('Designates whether this user should be treated as '
#                     'active. Unselect this instead of deleting accounts.'))
#     date_joined = models.DateTimeField(_('date joined'), default=timezone.now)
# 
#     objects = UserManager()
# 
#     USERNAME_FIELD = 'username'
#     REQUIRED_FIELDS = ['email']
# 
#     class Meta:
#         verbose_name = _('user')
#         verbose_name_plural = _('users')
# 
#     @property
#     def full_name(self):
#         return self.get_full_name()
# 
#     def get_absolute_url(self):
#         return settings.LOGIN_REDIRECT_URL
# 
#     def get_full_name(self):
#         """
#         Returns the first_name plus the last_name, with a space in between.
#         """
#         full_name = '%s %s' % (self.first_name, self.last_name)
#         return full_name.strip()
# 
#     def get_short_name(self):
#         "Returns the short name for the user."
#         return self.first_name
# 
#     def email_user(self, subject, message, from_email=None, **kwargs):
#         """
#         Sends an email to this User.
#         """
#         send_mail(subject, message, from_email, [self.email], **kwargs)


# Path: startup/accounts/forms.py
from django import forms
from django.utils.translation import ugettext as _
from startup.accounts.models import User

# coding=utf-8




class UserCreationForm(forms.ModelForm):
    """A form for creating new users. Includes all the required
    fields, plus a repeated password."""
    password1 = forms.CharField(label=_('Password'), widget=forms.PasswordInput)
    password2 = forms.CharField(label=_('Password confirmation'), widget=forms.PasswordInput)

    class Meta:

        model = User