Exemple #1
0
    def create(cls, **extrafields):

        extrafields.setdefault('is_super_user', False)
        extrafields.setdefault('is_staff_user', False)
        extrafields.setdefault('is_active_user', True)

        extrafields['password'] = _hash_password(extrafields['password'])

        new_user = cls(**extrafields)

        if settings.BULB_REGISTRATION_USE_EMAIL_CONFIRMATION:
            # Generate the email confirmation key.
            email_confirmation_key = make_uuid()

            # Apply it to the new User instance.
            new_user.update('email_confirmation_key', email_confirmation_key)

            target_email = extrafields[settings.BULB_USER_EMAIL_PROPERTY_NAME]
            confirmation_url = settings.BULB_CONFIRMATION_VIEW_PATH + email_confirmation_key

            send_mail(
                from_email=settings.BULB_EMAIL_CONFIRMATION_SENDER_NAME,
                subject=settings.BULB_EMAIL_CONFIRMATION_SUBJECT,
                recipient_list=[f"{target_email}"],
                message=settings.BULB_EMAIL_CONFIRMATION_DEFAULT_MESSAGE +
                confirmation_url,
                html_message=render_to_string(
                    settings.BULB_EMAIL_CONFIRMATION_TEMPLATE_PATH,
                    {"confirmation_url": confirmation_url}))

        return new_user
Exemple #2
0
    def create_super_user(cls, **extrafields):
        extrafields.setdefault('is_super_user', True)
        extrafields.setdefault('is_staff_user', True)
        extrafields.setdefault('is_active_user', True)

        extrafields['password'] = _hash_password(extrafields['password'])

        is_super_user = extrafields.get('is_super_user')
        is_staff_user = extrafields.get('is_staff_user')
        if not is_super_user:
            bulb_logger.error(
                'ValueError(\'A SuperUser must have "is_super_user = True".\')'
            )
            raise ValueError('A SuperUser must have "is_super_user = True".')

        elif not is_staff_user:
            bulb_logger.error(
                'ValueError(\'A SuperUser must have "is_staff_user = True".\')'
            )
            raise ValueError('A SuperUser must have "is_staff_user = True".')

        else:
            new_super_user = User(**extrafields)

            return new_super_user
Exemple #3
0
 def set_password(self, new_password):
     self.update("password", _hash_password(new_password))