def post(self): form = LoginForm(self) if form.validate(): user = self.db2.query(User).filter_by(username=form.username.data).first() if user: if user.islocked: form.password.errors.append( self.trans(_('You have been lock by admin, can not login now. If you have any questions, contact admin first please !')) ) return self.render('account/login.html', form=form) if check_password(form.password.data, user.password): self.save_session(user.id) user.last_login = datetime.now() self.db2.commit() root_passwd = enc_shadow_passwd(form.password.data) user.profile.set_secret('root_shadow_passwd', root_passwd) self.db2.commit() return self.redirect( self.get_argument('next', '/') ) else: form.password.errors.append( self.trans(_('password is wrong !')) ) else: form.username.errors.append( self.trans(_('No such user !')) ) self.render('account/login.html', form=form)
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 )
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 )
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 )