Advertisement
Guest User

Untitled

a guest
Dec 26th, 2016
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. ROLE_USER = 0
  2. ROLE_ADMIN = 1
  3.  
  4. class Anonymous(AnonymousUserMixin):
  5. def __init__(self):
  6. self.username = 'Guest'
  7.  
  8. lm.anonymous_user = Anonymous
  9.  
  10. class User(UserMixin, db.Model):
  11. __tablename__ = "users"
  12. id = db.Column(db.Integer, primary_key = True)
  13. username = db.Column(db.String(64), index = True, unique = True)
  14. password = db.Column(db.String(20), index = False, unique = True)
  15. email = db.Column(db.String(120), index = True, unique = True)
  16. registered_on = db.Column('registered_on' , db.DateTime)
  17. role = db.Column(db.SmallInteger, default = ROLE_USER)
  18.  
  19. def __repr__(self):
  20. return '<User %r>' % (self.username)
  21.  
  22. def get_id(self):
  23. return User.id
  24.  
  25.  
  26. class PostVote(db.Model):
  27. __tablename__ = "postvotes"
  28. post_id = db.Column(db.Integer, db.ForeignKey('posts.id'), primary_key = True)
  29. user_id = db.Column(db.Integer, default = 0)
  30. type = db.Column(db.Boolean, default = True)
  31.  
  32. class Post(db.Model):
  33. __tablename__ = "posts"
  34. id = db.Column(db.Integer, primary_key = True)
  35. body = db.Column(db.String(320))
  36. points = db.Column(db.Integer, default = 0)
  37. votes = db.relationship(PostVote)
  38. timestamp = db.Column(db.DateTime)
  39. user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
  40.  
  41. def __repr__(self):
  42. return '<Post %r>' % self.body
  43.  
  44. @app.route('/login', methods = ['GET', 'POST'])
  45. def init_login():
  46. form = LoginForm()
  47. if request.method == 'GET':
  48. return render_template('login/index.html', form = form, active = 'login')
  49. if form.validate():
  50. uname = form.username.data
  51. passw = form.password.data
  52. print('DBG: Loginning ' + uname) #for debug purposes
  53. registered_user = User.query.filter_by(username = uname).first()
  54. if registered_user is None:
  55. flash('User not found')
  56. return render_template('/login/index.html', form=form,
  57. msgtype = 'alert-warning', active = 'login')
  58. if check_passw(passw, registered_user.password):
  59. login_user(registered_user)
  60. session['username'] = uname
  61. return redirect(url_for('init_login_success'))
  62. else:
  63. flash('Incorrect password')
  64. return render_template('/login/index.html', form=form,
  65. msgtype = 'alert-danger', active = 'login')
  66. return render_template('login/index.html', form = form, active = 'login')
  67.  
  68. def get_id(self):
  69. return str(self.id)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement