コード例 #1
0
ファイル: views.py プロジェクト: ccosse/gimu
    def create_user(self, form, commit=True, **kwargs):
        user = get_user_model()(**kwargs)

        code = form.cleaned_data['code']
        if SignupCodeExtended.objects.filter(signupcode__code = code).exists():
            username = SignupCodeExtended.objects.get(signupcode__code = code).username
        else:
            username = form.cleaned_data["username"].strip()
 
        user.username = username
        user.email = form.cleaned_data["email"].strip()
        password = form.cleaned_data.get("password")
        """
        logging.debug("create_user")
        logging.debug(`form`)
        logging.debug(form.cleaned_data.get("organization"))
        logging.debug(form.cleaned_data.get("position"))
        """
		
		
        if password:
            user.set_password(password)
        else:
            user.set_unusable_password()
        if commit:
            user.save()
		
		
		
        return user
コード例 #2
0
    def create_user(self, form, commit=True, **kwargs):
        user = get_user_model()(**kwargs)

        code = form.cleaned_data['code']
        if SignupCodeExtended.objects.filter(signupcode__code=code).exists():
            username = SignupCodeExtended.objects.get(
                signupcode__code=code).username
        else:
            username = form.cleaned_data["username"].strip()

        user.username = username
        user.email = form.cleaned_data["email"].strip()
        user.organization = form.cleaned_data["organization"].strip()
        user.title = form.cleaned_data["title"].strip()
        user.first_name = form.cleaned_data["first_name"].strip()
        user.last_name = form.cleaned_data["last_name"].strip()
        user.position = form.cleaned_data["position"].strip()
        password = form.cleaned_data.get("password")
        if password:
            user.set_password(password)
        else:
            user.set_unusable_password()
        if commit:
            user.save()
        return user
コード例 #3
0
ファイル: views.py プロジェクト: jinktv/django-user-accounts
 def get_user(self):
     User = get_user_model()
     try:
         if type(User._meta.pk) == models.IntegerField or type(User._meta.pk) == models.AutoField:
             uid = base36_to_int(self.kwargs["uidb36"])
         else:
             uid = uuid.UUID(self.kwargs["uidb36"])
     except ValueError:
         raise Http404()
     return get_object_or_404(User, pk=uid)
コード例 #4
0
ファイル: forms.py プロジェクト: ccosse/gimu
 def clean_username(self):
     if not alnum_re.search(self.cleaned_data["username"].replace('.', '')):
         raise forms.ValidationError(_("Usernames can only contain letters, numbers, dots and underscores."))
     User = get_user_model()
     lookup_kwargs = get_user_lookup_kwargs({
         "{username}__iexact": self.cleaned_data["username"]
     })
     qs = User.objects.filter(**lookup_kwargs)
     if not qs.exists():
         return self.cleaned_data["username"]
     raise forms.ValidationError(_("This username is already taken. Please choose another."))
コード例 #5
0
ファイル: forms.py プロジェクト: jinktv/django-user-accounts
 def clean_username(self):
     if not alnum_re.search(self.cleaned_data["username"]):
         raise forms.ValidationError(_("Usernames can only contain letters, numbers and the following special characters ./+/-/_"))
     User = get_user_model()
     lookup_kwargs = get_user_lookup_kwargs({
         "{username}__iexact": self.cleaned_data["username"]
     })
     qs = User.objects.filter(**lookup_kwargs)
     if not qs.exists():
         return self.cleaned_data["username"]
     raise forms.ValidationError(_("This username is already taken. Please choose another."))
コード例 #6
0
 def clean_username(self):
     if not alnum_re.search(self.cleaned_data["username"].replace('.', '')):
         raise forms.ValidationError(_("Usernames can only contain letters, numbers, dots and underscores."))
     User = get_user_model()
     lookup_kwargs = get_user_lookup_kwargs({
         "{username}__iexact": self.cleaned_data["username"]
     })
     qs = User.objects.filter(**lookup_kwargs)
     if not qs.exists():
         return self.cleaned_data["username"]
     raise forms.ValidationError(_("This username is already taken. Please choose another."))
コード例 #7
0
 def authenticate(self, **credentials):
     User = get_user_model()
     lookup_kwargs = get_user_lookup_kwargs(
         {"{username}__iexact": credentials["username"]})
     try:
         user = User.objects.get(**lookup_kwargs)
     except (User.DoesNotExist, KeyError):
         return None
     else:
         try:
             if user.check_password(credentials["password"]):
                 return user
         except KeyError:
             return None
コード例 #8
0
ファイル: views.py プロジェクト: Amechi101/indieapp
 def create_user(self, form, commit=True, **kwargs):
     user = get_user_model()(**kwargs)
     username = form.cleaned_data.get("username")
     if username is None:
         username = self.generate_username(form)
     user.username = username
     user.email = form.cleaned_data["email"].strip()
     password = form.cleaned_data.get("password")
     if password:
         user.set_password(password)
     else:
         user.set_unusable_password()
     if commit:
         user.save()
     return user
コード例 #9
0
 def create_user(self, form, commit=True, **kwargs):
     user = get_user_model()(**kwargs)
     username = form.cleaned_data.get("username")
     if username is None:
         username = self.generate_username(form)
     user.username = username
     user.email = form.cleaned_data["email"].strip()
     password = form.cleaned_data.get("password")
     if password:
         user.set_password(password)
     else:
         user.set_unusable_password()
     if commit:
         user.save()
     return user
コード例 #10
0
 def authenticate(self, **credentials):
     User = get_user_model()
     lookup_kwargs = get_user_lookup_kwargs({
         "{username}__iexact": credentials["username"]
     })
     try:
         user = User.objects.get(**lookup_kwargs)
     except (User.DoesNotExist, KeyError):
         return None
     else:
         try:
             if user.check_password(credentials["password"]):
                 return user
         except KeyError:
            return None 
コード例 #11
0
ファイル: forms.py プロジェクト: miurahr/pinax-teams
 def clean_invitee(self):
     User = get_user_model()
     try:
         invitee = User.objects.get(email=self.cleaned_data["invitee"])
         if self.team.is_on_team(invitee):
             raise forms.ValidationError("User already on team.")
     except User.DoesNotExist:
         try:
             invitee = User.objects.get(username=self.cleaned_data["invitee"])
             if self.team.is_on_team(invitee):
                 raise forms.ValidationError("User already on team.")
         except User.DoesNotExist:
             invitee = self.cleaned_data["invitee"]
             if self.team.memberships.filter(invite__signup_code__email=invitee).exists():
                 raise forms.ValidationError("Invite already sent.")
     return invitee
コード例 #12
0
ファイル: views.py プロジェクト: miurahr/pinax-teams
def autocomplete_users(request):
    User = get_user_model()
    team = request.team
    role = team.role_for(request.user)
    if role not in [Membership.ROLE_MANAGER, Membership.ROLE_OWNER]:
        raise Http404()
    users = User.objects.exclude(pk__in=[
        x.user.pk for x in team.memberships.exclude(user__isnull=True)
    ])
    q = request.GET.get("query")
    results = []
    if q:
        results.extend([
            hookset.get_autocomplete_result(x)
            for x in hookset.search_queryset(q, users)
        ])
    return HttpResponse(json.dumps(results), content_type="application/json")
コード例 #13
0
 def authenticate(self, **credentials):
     User = get_user_model()
     if email_re.search(credentials["username"]):
         qs = EmailAddress.objects.filter(Q(primary=True) | Q(verified=True))
         try: email_address = qs.get(email__iexact=credentials["username"])
         except (EmailAddress.DoesNotExist, KeyError): return None
         else: user = email_address.user
     else:
         lookup_kwargs = get_user_lookup_kwargs({
             "{username}__iexact": credentials["username"]
         })
         try: user = User.objects.get(**lookup_kwargs)
         except (User.DoesNotExist, KeyError): return None
     try:
         if user.check_password(credentials["password"]):
             return user
     except KeyError:
         return None
コード例 #14
0
 def send_email(self, email):
     User = get_user_model()
     protocol = getattr(settings, "DEFAULT_HTTP_PROTOCOL", "http")
     current_site = get_current_site(self.request)
     email_qs = EmailAddress.objects.filter(email__iexact=email)
     for user in User.objects.filter(pk__in=email_qs.values("user")):
         uid = int_to_base36(user.id)
         token = self.make_token(user)
         password_reset_url = "{0}://{1}{2}".format(
             protocol, current_site.domain,
             reverse("account_password_reset_token",
                     kwargs=dict(uidb36=uid, token=token)))
         ctx = {
             "user": user,
             "current_site": current_site,
             "password_reset_url": password_reset_url,
         }
         hookset.send_password_reset_email([user.email], ctx)
コード例 #15
0
ファイル: views.py プロジェクト: Amechi101/indieapp
 def send_email(self, email):
     User = get_user_model()
     protocol = getattr(settings, "DEFAULT_HTTP_PROTOCOL", "http")
     current_site = get_current_site(self.request)
     email_qs = EmailAddress.objects.filter(email__iexact=email)
     for user in User.objects.filter(pk__in=email_qs.values("user")):
         uid = int_to_base36(user.id)
         token = self.make_token(user)
         password_reset_url = "{0}://{1}{2}".format(
             protocol,
             current_site.domain,
             reverse("account_password_reset_token", kwargs=dict(uidb36=uid, token=token))
         )
         ctx = {
             "user": user,
             "current_site": current_site,
             "password_reset_url": password_reset_url,
         }
         hookset.send_password_reset_email([user.email], ctx)
コード例 #16
0
ファイル: views.py プロジェクト: bhermansyah/DRR-datacenter
    def create_user(self, form, commit=True, **kwargs):
        user = get_user_model()(**kwargs)

        code = form.cleaned_data['code']
        if SignupCodeExtended.objects.filter(signupcode__code = code).exists():
            username = SignupCodeExtended.objects.get(signupcode__code = code).username
        else:
            username = form.cleaned_data["username"].strip()
 
        user.username = username
        user.email = form.cleaned_data["email"].strip()
        user.organization = form.cleaned_data["organization"].strip()
        user.title = form.cleaned_data["title"].strip()
        user.first_name = form.cleaned_data["first_name"].strip()
        user.last_name = form.cleaned_data["last_name"].strip()
        user.position = form.cleaned_data["position"].strip()
        password = form.cleaned_data.get("password")
        if password:
            user.set_password(password)
        else:
            user.set_unusable_password()
        if commit:
            user.save()
        return user
コード例 #17
0
 def get_user(self):
     try:
         uid_int = base36_to_int(self.kwargs["uidb36"])
     except ValueError:
         raise Http404()
     return get_object_or_404(get_user_model(), id=uid_int)
コード例 #18
0
ファイル: models.py プロジェクト: NickConnelly/Tort
        Given a datetime object as value convert it to the timezone of
        the account.
        """
        timezone = settings.TIME_ZONE if not self.timezone else self.timezone
        if value.tzinfo is None:
            value = pytz.timezone(settings.TIME_ZONE).localize(value)
        return value.astimezone(pytz.timezone(timezone))


#
# The call to get_user_model in global scope could lead to a circular import
# when the app cache is not fully initialized in some cases. It is rare, but
# it has happened. If you are debugging this problem and determine this line
# of code as being problematic, contact the developers right away.
#
@receiver(post_save, sender=get_user_model())
def user_post_save(sender, **kwargs):
    """
    After User.save is called we check to see if it was a created user. If so,
    we check if the User object wants account creation. If all passes we
    create an Account object.
    
    We only run on user creation to avoid having to check for existence on
    each call to User.save.
    """
    user, created = kwargs["instance"], kwargs["created"]
    disabled = getattr(user, "_disable_account_creation",
                       not settings.ACCOUNT_CREATE_ON_SAVE)
    if created and not disabled:
        Account.create(user=user)
コード例 #19
0
ファイル: views.py プロジェクト: Amechi101/indieapp
 def get_user(self):
     try:
         uid_int = base36_to_int(self.kwargs["uidb36"])
     except ValueError:
         raise Http404()
     return get_object_or_404(get_user_model(), id=uid_int)
コード例 #20
0
        """
        Given a datetime object as value convert it to the timezone of
        the account.
        """
        timezone = settings.TIME_ZONE if not self.timezone else self.timezone
        if value.tzinfo is None:
            value = pytz.timezone(settings.TIME_ZONE).localize(value)
        return value.astimezone(pytz.timezone(timezone))

#
# The call to get_user_model in global scope could lead to a circular import
# when the app cache is not fully initialized in some cases. It is rare, but
# it has happened. If you are debugging this problem and determine this line
# of code as being problematic, contact the developers right away.
#
@receiver(post_save, sender=get_user_model())
def user_post_save(sender, **kwargs):
    """
    After User.save is called we check to see if it was a created user. If so,
    we check if the User object wants account creation. If all passes we
    create an Account object.
    
    We only run on user creation to avoid having to check for existence on
    each call to User.save.
    """
    user, created = kwargs["instance"], kwargs["created"]
    disabled = getattr(user, "_disable_account_creation", not settings.ACCOUNT_CREATE_ON_SAVE)
    if created and not disabled:
        Account.create(user=user)