def change_password(self): schema = ChangePasswordSchema() form = deform.Form(schema, buttons=("update",)) self.layout.resources.deform_auto_need(form) if "update" in self.request.params: controls = self.request.POST.items() try: data = form.validate(controls) except deform.ValidationFailure, e: self.layout.content = e.render() return user = self.request.session["user"] if data["oldpass"] == data["newpass"]: self.layout.content = "Password Unchanged" return if data["newpass"] != data["confirm"]: self.layout.content = "Password Mismatch." return if check_old_password(self.request, data["oldpass"]): newpass = data["newpass"] dbpass = get_password(self.request) dbpass.password = encrypt_password(newpass) with transaction.manager: self.request.db.add(dbpass) self.layout.content = "Password Changed." return else: self.layout.content = "Authentication Failed." return
def change_password(self): schema = ChangePasswordSchema() form = deform.Form(schema, buttons=('update', )) self.layout.resources.deform_auto_need(form) if 'update' in self.request.params: controls = self.request.POST.items() try: data = form.validate(controls) except deform.ValidationFailure, e: self.layout.content = e.render() return user = self.request.session['user'] if data['oldpass'] == data['newpass']: self.layout.content = "Password Unchanged" return if data['newpass'] != data['confirm']: self.layout.content = "Password Mismatch." return if check_old_password(self.request, data['oldpass']): newpass = data['newpass'] dbpass = get_password(self.request) dbpass.password = encrypt_password(newpass) with transaction.manager: self.request.db.add(dbpass) self.layout.content = "Password Changed." return else: self.layout.content = "Authentication Failed." return
def set_password(self, user_id, password): q = self.session.query(Password).filter_by(user_id=user_id) encrypted = encrypt_password(password) with transaction.manager: try: p = q.one() except NoResultFound: p = Password(user_id, encrypted) p.password = encrypted self.session.add(p)
def populate_users(admin_username): from trumpet.security import encrypt_password session = DBSession() with transaction.manager: users = [admin_username] # Using id_count to presume # the user's id, which should work # when filling an empty database. id_count = 0 for uname in users: id_count += 1 user = User(uname) password = encrypt_password(uname) session.add(user) pw = Password(id_count, password) session.add(pw)