Advertisement
Guest User

Untitled

a guest
Jun 14th, 2016
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.38 KB | None | 0 0
  1. from flask import request, flash, render_template, url_for, redirect
  2. from aalert import app, db
  3. import flask_whooshalchemy
  4. from flask_login import LoginManager, login_required, logout_user
  5. from aalert.forms import *
  6.  
  7. from aalert.models import User, PubInfo, PrivInfo
  8.  
  9. login_manager = LoginManager()
  10. login_manager.init_app(app)
  11. login_manager.login_view = 'login'
  12.  
  13. @login_manager.user_loader
  14. def load_user(userid):
  15. return User.query.filter(User.id==userid).first()
  16.  
  17. @app.route('/signup', methods=['GET', 'POST'])
  18. def signup():
  19. form = SignupForm()
  20. if form.validate_on_submit():
  21. user = User(username=form.username.data, password = form.password.data)
  22. db.session.add(user)
  23. db.session.commit()
  24. return redirect(url_for('index'))
  25. return render_template('signup.html', form=form)
  26.  
  27. #pubinfo index
  28. @app.route('/')
  29. def index():
  30. entries = PubInfo.query.all()
  31. return render_template('disp_tables.html',
  32. entries=entries)
  33.  
  34.  
  35. @app.route('/login', methods=['GET', 'POST'])
  36. def login():
  37. form = LoginForm()
  38. if form.validate_on_submit():
  39. user = User.query.filter_by(username=form.username.data).first_or_404()
  40. if user.is_correct_password(form.password.data):
  41. login_user(user)
  42. return redirect(url_for('add'))
  43. else:
  44. flash('Incorrect username and password!')
  45. return render_template('login.html', form=form)
  46.  
  47.  
  48. @app.route('/show_all')
  49. @login_required
  50. def show_all_data():
  51. entries = PubInfo.query.join(PrivInfo, PubInfo.id==PrivInfo.id)
  52. return render_template('disp_all.html',
  53. entries)
  54.  
  55.  
  56. @app.route('/add', methods=['POST', 'GET'])
  57. #@login_required #login required to add functions, points to @login_manager.user_loader
  58. def insert():
  59. form = AddEntry()
  60. if request.method == 'POST':
  61. if not request.form['firstname'] or not request.form['lastname'] or not request.form['age'] or not request.form['height'] or not request.form['last_loc'] or not request.form['missing_since'] or not request.form['contact_info'] or not request.form['home_address']:
  62. flash('Please ensure all fields are filled out!')
  63. else:
  64. pubentry = PubInfo(request.form['firstname'],
  65. request.form['lastname'],
  66. request.form['age'],
  67. request.form['height'],
  68. request.form['last_loc'],
  69. request.form['missing_since'])
  70.  
  71. priventry = PrivInfo(request.form['contact_info'],
  72. request.form['home_address'])
  73. db.session.add(pubentry)
  74. db.session.add(priventry)
  75. db.session.commit()
  76. flash('Record successfully added.')
  77. return redirect(url_for('index'))
  78. return render_template('add.html', form=form)
  79.  
  80.  
  81. @app.route('/search', methods=['POST', 'GET'])
  82. def search():
  83. form = SearchForm()
  84. if request.method == 'POST':
  85. result = pubinfo.query.whoosh_search(request.form['search_query'])
  86. return render_template('results.html', result=result)
  87. return render_template('search.html', form=form)
  88.  
  89.  
  90.  
  91.  
  92. @app.route('/logout')
  93. def logout():
  94. logout_user()
  95.  
  96. return redirect(url_for('index'))
  97.  
  98.  
  99. @app.route('/test')
  100. def test():
  101. return redirect(url_for('login'))
  102.  
  103. Traceback (most recent call last):
  104. File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask/app.py", line 2000, in __call__
  105. return self.wsgi_app(environ, start_response)
  106. File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask/app.py", line 1991, in wsgi_app
  107. response = self.make_response(self.handle_exception(e))
  108. File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask/app.py", line 1567, in handle_exception
  109. reraise(exc_type, exc_value, tb)
  110. File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask/_compat.py", line 33, in reraise
  111. raise value
  112. File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask/app.py", line 1988, in wsgi_app
  113. response = self.full_dispatch_request()
  114. File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask/app.py", line 1641, in full_dispatch_request
  115. rv = self.handle_user_exception(e)
  116. File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask/app.py", line 1544, in handle_user_exception
  117. reraise(exc_type, exc_value, tb)
  118. File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask/_compat.py", line 33, in reraise
  119. raise value
  120. File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask/app.py", line 1639, in full_dispatch_request
  121. rv = self.dispatch_request()
  122. File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask/app.py", line 1625, in dispatch_request
  123. return self.view_functions[rule.endpoint](**req.view_args)
  124. File "/home/scire/programs/python/aalert/aalert/views.py", line 75, in insert
  125. db.session.commit()
  126. File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/sqlalchemy/orm/scoping.py", line 157, in do
  127. return getattr(self.registry(), name)(*args, **kwargs)
  128. File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/sqlalchemy/orm/session.py", line 801, in commit
  129. self.transaction.commit()
  130. File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/sqlalchemy/orm/session.py", line 399, in commit
  131. self.session.dispatch.after_commit(self.session)
  132. File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/sqlalchemy/event/attr.py", line 256, in __call__
  133. fn(*args, **kw)
  134. File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask_sqlalchemy/__init__.py", line 231, in after_commit
  135. models_committed.send(session.app, changes=list(d.values()))
  136. File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/blinker/base.py", line 267, in send
  137. for receiver in self.receivers_for(sender)]
  138. File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/blinker/base.py", line 267, in <listcomp>
  139. for receiver in self.receivers_for(sender)]
  140. File "/home/scire/programs/python/aalert/env/lib/python3.5/site-packages/flask_whooshalchemy.py", line 239, in _after_flush
  141. for model, values in bytype.iteritems():
  142. AttributeError: 'dict' object has no attribute 'iteritems'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement