Exemple #1
0
 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
Exemple #2
0
 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
Exemple #3
0
 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)
Exemple #4
0
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)