Пример #1
0
    def post(self):
        self.d['form'] = ResetPasswordForm(self)
        if self.d['form'].validate():

            plaintext = self.d['form'].password.data
            enc_password = enc_login_passwd(plaintext)
            self.d['USER'].password = enc_password

            root_passwd = enc_shadow_passwd(plaintext)
            self.d['USER'].profile.set_secret('root_shadow_passwd', root_passwd)

            self.db2.commit()

            # TODO: set reset password request completed
            applys = self.db2.query(UserResetpass).filter(
                UserResetpass.key == self.key ).all()
            for A in applys:
                A.completed = datetime.now()
            self.db2.commit()

            self.save_session( self.d['USER'].id )

            url = self.reverse_url('account:index')
            return self.redirect( url )

        self.render( 'account/reset_password_complete.html', **self.d )
Пример #2
0
    def post(self):

        form = RegistrationForm(self)

        if form.validate():

            user = self.db2.query(User).filter_by( username=form.username.data ).all()

            if user:
                form.username.errors.append( self.trans(_('This username is occupied')) )
            else:
                enc_password = enc_login_passwd(form.password.data)
                newuser = User( username = form.username.data,
                                password = enc_password )
                self.db2.add(newuser)
                self.db2.commit()
                # Create profile
                profile = UserProfile(newuser, email = form.email.data)
                root_passwd = enc_shadow_passwd(form.password.data)
                profile.set_secret('root_shadow_passwd', root_passwd)
                # Add to default group
                from settings import cf
                if cf.has_option('registration', 'user_default_group_id'):
                    try:
                        DGID = int(cf.get('registration', 'user_default_group_id'))
                        G = self.db2.query(Group).get(DGID)
                        newuser.groups = [G]
                        self.db2.commit()
                    except:
                        pass

                self.db2.add(profile)
                self.db2.commit()

                # send_message
                self.send_message( newuser )

                # send_mail()

                self.save_session(newuser.id)

                return self.redirect( self.reverse_url('account:index') )

        # Have a error
        self.render( 'account/register.html', form = form )
Пример #3
0
    def post(self):

        form = ResetPasswordForm(self)

        if form.validate():
            user = self.current_user
            enc_password = enc_login_passwd(form.password.data)
            user.password = enc_password

            root_passwd = enc_shadow_passwd(form.password.data)
            user.profile.set_secret('root_shadow_passwd', root_passwd)
            self.db2.commit()

            url = self.application.reverse_url('account:index')
            return self.redirect( url )

        self.render( 'account/reset_password.html', title = self.trans(_('Reset Password')),
                     form = form )