Exemplo n.º 1
0
    def create_model(self,
                     request,
                     instance=None,
                     data=None,
                     session=None,
                     **kw):
        auth_backend = request.cache.auth_backend
        if self.type == 1:
            # Create the user
            data.pop('password_repeat', None)
            user = auth_backend.create_user(request, **data)
        else:
            user = auth_backend.get_user(request, email=data['email'])
            if not user:
                raise ValidationError("Can't find user, sorry")

        days = request.config['ACCOUNT_ACTIVATION_DAYS']
        data = {
            'id': digest(user.email),
            'expiry': datetime.utcnow() + timedelta(days=days),
            'type': self.type,
            'user_id': user.id
        }
        with self.session(request, session=session) as session:
            reg = super().create_model(request,
                                       instance,
                                       data,
                                       session=session,
                                       **kw)
            send_email_confirmation(request, reg.obj)
        return reg
Exemplo n.º 2
0
    def create_auth_key(self, request, user, expiry=None, **kw):
        '''Create a registration entry and return the registration id
        '''
        if not expiry:
            expiry = request.cache.auth_backend.auth_key_expiry(request)
        odm = request.app.odm()
        with odm.begin() as session:
            reg = odm.registration(id=digest(user.username),
                                   user_id=user.id,
                                   expiry=expiry,
                                   confirmed=False)
            session.add(reg)

        return reg.id
Exemplo n.º 3
0
    def create_auth_key(self, request, user, expiry=None, **kw):
        '''Create a registration entry and return the registration id
        '''
        if not expiry:
            expiry = request.cache.auth_backend.auth_key_expiry(request)
        odm = request.app.odm()
        with odm.begin() as session:
            reg = odm.registration(id=digest(user.username),
                                   user_id=user.id,
                                   expiry=expiry,
                                   confirmed=False)
            session.add(reg)

        return reg.id
Exemplo n.º 4
0
    def create_model(self, request, instance=None, data=None,
                     session=None, **kw):
        auth_backend = request.cache.auth_backend
        if self.type == 1:
            # Create the user
            data.pop('password_repeat', None)
            user = auth_backend.create_user(request, **data)
        else:
            user = auth_backend.get_user(request, email=data['email'])
            if not user:
                raise ValidationError("Can't find user, sorry")

        days = request.config['ACCOUNT_ACTIVATION_DAYS']
        data = {
            'id': digest(user.email),
            'expiry': datetime.utcnow() + timedelta(days=days),
            'type': self.type,
            'user_id': user.id
        }
        with self.session(request, session=session) as session:
            reg = super().create_model(request, instance, data,
                                       session=session, **kw)
            send_email_confirmation(request, reg.obj)
        return reg