1616 app .config .from_pyfile (os .path .join (os .getcwd (), "config.py" ))
1717else :
1818 app .config .from_pyfile (os .path .join (os .getcwd (), "config.env.py" ))
19+ #var representing the quote database the app is connected to
1920db = SQLAlchemy (app )
2021
2122# Disable SSL certificate verification warning
@@ -92,20 +93,14 @@ def main():
9293 db .create_all ()
9394 metadata = get_metadata ()
9495 all_members = get_all_members ()
95- if request .cookies .get ('flag' ):
96- return render_template ('flag/main.html' , metadata = metadata )
97- else :
98- return render_template ('bootstrap/main.html' , metadata = metadata , all_members = all_members )
96+ return render_template ('bootstrap/main.html' , metadata = metadata , all_members = all_members )
9997
10098
10199@app .route ('/settings' , methods = ['GET' ])
102100@auth .oidc_auth
103101def settings ():
104102 metadata = get_metadata ()
105- if request .cookies .get ('flag' ):
106- return render_template ('flag/settings.html' , metadata = metadata )
107- else :
108- return render_template ('bootstrap/settings.html' , metadata = metadata )
103+ return render_template ('bootstrap/settings.html' , metadata = metadata )
109104
110105
111106@app .route ('/vote' , methods = ['POST' ])
@@ -136,18 +131,12 @@ def make_vote():
136131@auth .oidc_auth
137132def update_settings ():
138133 metadata = get_metadata ()
139- if request .form ['template' ] == "flag" :
140- resp = make_response (render_template ('flag/settings.html' , metadata = metadata ))
141- resp .set_cookie ('flag' , 'True' )
142- return resp
134+ resp = make_response (render_template ('bootstrap/settings.html' , metadata = metadata ))
135+ if request .form ['plug' ] == "off" :
136+ resp .set_cookie ('plug' , 'False' )
143137 else :
144- resp = make_response (render_template ('bootstrap/settings.html' , metadata = metadata ))
145- resp .set_cookie ('flag' , 'False' , expires = 0 )
146- if request .form ['plug' ] == "off" :
147- resp .set_cookie ('plug' , 'False' )
148- else :
149- resp .set_cookie ('plug' , 'True' , expires = 0 )
150- return resp
138+ resp .set_cookie ('plug' , 'True' , expires = 0 )
139+ return resp
151140
152141
153142# run when the form submission button is clicked
@@ -170,13 +159,9 @@ def submit():
170159 # checks for empty quote or submitter
171160 if quote == '' or speaker == '' :
172161 flash ('Empty quote or speaker field, try again!' , 'error' )
173- if request .cookies .get ('flag' ):
174- return render_template ('flag/main.html' , metadata = metadata ), 200
175162 return render_template ('bootstrap/main.html' , metadata = metadata , all_members = all_members ), 200
176163 elif submitter == speaker :
177164 flash ('You can\' t quote yourself! Come on' , 'error' )
178- if request .cookies .get ('flag' ):
179- return render_template ('flag/main.html' , metadata = metadata ), 200
180165 return render_template ('bootstrap/main.html' , metadata = metadata , all_members = all_members ), 200
181166 elif quoteCheck is None : # no duplicate quotes, proceed with submission
182167 # create a row for the Quote table
@@ -191,81 +176,67 @@ def submit():
191176 # create a message to flash for successful submission
192177 flash ('Submission Successful!' )
193178 # return something to complete submission
194- if request .cookies .get ('flag' ):
195- return render_template ('flag/main.html' , metadata = metadata ), 200
196179 return render_template ('bootstrap/main.html' , metadata = metadata , all_members = all_members ), 200
197180 else : # duplicate quote found, bounce the user back to square one
198181 flash ('Quote already submitted!' , 'warning' )
199- if request .cookies .get ('flag' ):
200- return render_template ('flag/main.html' , metadata = metadata ), 200
201182 return render_template ('bootstrap/main.html' , metadata = metadata , all_members = all_members ), 200
202183
203184
204- # display stored quotes
185+ # display first 20 stored quotes
205186@app .route ('/storage' , methods = ['GET' ])
206187@auth .oidc_auth
207188def get ():
208189 metadata = get_metadata ()
209190 metadata ['submitter' ] = request .args .get ('submitter' ) # get submitter from url query string
210191 metadata ['speaker' ] = request .args .get ('speaker' ) # get speaker from url query string
211192
193+ #return the first 20 quotes according to query strings (or lack thereof), as well as their associated vote value
212194 if metadata ['speaker' ] is not None and metadata ['submitter' ] is not None :
213- quotes = Quote .query .order_by (Quote .quote_time .desc ()).filter (Quote .submitter == metadata ['submitter' ],
214- Quote .speaker == metadata ['speaker' ]).all ()
195+ quotes = db .session .query (Quote , func .sum (Vote .direction ).label ('votes' )).outerjoin (Vote ).group_by (Quote ).order_by (Quote .quote_time .desc ()).filter (Quote .submitter == metadata ['submitter' ], Quote .speaker == metadata ['speaker' ]).limit (20 ).all ()
215196 elif metadata ['submitter' ] is not None :
216- quotes = Quote . query . order_by (Quote .quote_time .desc ()).filter (Quote .submitter == metadata ['submitter' ]).all ()
197+ quotes = db . session . query ( Quote , func . sum ( Vote . direction ). label ( 'votes' )). outerjoin ( Vote ). group_by ( Quote ). order_by (Quote .quote_time .desc ()).filter (Quote .submitter == metadata ['submitter' ]). limit ( 20 ).all ()
217198 elif metadata ['speaker' ] is not None :
218- quotes = Quote .query .order_by (Quote .quote_time .desc ()).filter (Quote .speaker == metadata ['speaker' ]).all ()
219- else :
220- # collect all quote rows in the Quote db
221- # quotes = Quote.query.order_by(Quote.quote_time.desc()).limit(20).all()
222-
223- # returns tuples with a quote and its net vote value
224- quotes = db .session .query (Quote , func .sum (Vote .direction ).label ('votes' )).outerjoin (Vote ).group_by (Quote ).order_by (
225- Quote .quote_time .desc ()).limit (20 ).all ()
226-
227- user_votes = db .session .query (Vote ).filter (Vote .voter == metadata ['submitter' ]).all ()
228-
229- if request .cookies .get ('flag' ):
230- return render_template (
231- 'flag/storage.html' ,
232- quotes = quotes ,
233- metadata = metadata ,
234- user_votes = user_votes
235- )
199+ quotes = db .session .query (Quote , func .sum (Vote .direction ).label ('votes' )).outerjoin (Vote ).group_by (Quote ).order_by (Quote .quote_time .desc ()).filter (Quote .speaker == metadata ['speaker' ]).limit (20 ).all ()
236200 else :
237- return render_template (
238- 'bootstrap/storage.html' ,
239- quotes = quotes ,
240- metadata = metadata ,
241- user_votes = user_votes
242- )
201+ quotes = db .session .query (Quote , func .sum (Vote .direction ).label ('votes' )).outerjoin (Vote ).group_by (Quote ).order_by (Quote .quote_time .desc ()).limit (20 ).all ()
202+
203+ #tie any votes the user has made to their uid
204+ user_votes = db .session .query (Vote ).filter (Vote .voter == metadata ['submitter' ]).all ()
243205
206+ return render_template (
207+ 'bootstrap/storage.html' ,
208+ quotes = quotes ,
209+ metadata = metadata ,
210+ user_votes = user_votes
211+ )
244212
245- # display stored quotes
213+
214+ # display ALL stored quotes
246215@app .route ('/additional' , methods = ['GET' ])
247216@auth .oidc_auth
248217def additional_quotes ():
249218
250219 metadata = get_metadata ()
220+ metadata ['submitter' ] = request .args .get ('submitter' ) # get submitter from url query string
221+ metadata ['speaker' ] = request .args .get ('speaker' ) # get speaker from url query string
251222
252- # returns tuples with a quote and its net vote value
253- quotes = db .session .query (Quote , func .sum (Vote .direction ).label ('votes' )).outerjoin (Vote ).group_by (Quote ).order_by (
254- Quote .quote_time .desc ()).all ()
223+ #return quotes according to query strings (or lack thereof)
224+ if metadata ['speaker' ] is not None and metadata ['submitter' ] is not None :
225+ quotes = db .session .query (Quote , func .sum (Vote .direction ).label ('votes' )).outerjoin (Vote ).group_by (Quote ).order_by (Quote .quote_time .desc ()).filter (Quote .submitter == metadata ['submitter' ], Quote .speaker == metadata ['speaker' ]).all ()
226+ elif metadata ['submitter' ] is not None :
227+ quotes = db .session .query (Quote , func .sum (Vote .direction ).label ('votes' )).outerjoin (Vote ).group_by (Quote ).order_by (Quote .quote_time .desc ()).filter (Quote .submitter == metadata ['submitter' ]).all ()
228+ elif metadata ['speaker' ] is not None :
229+ quotes = db .session .query (Quote , func .sum (Vote .direction ).label ('votes' )).outerjoin (Vote ).group_by (Quote ).order_by (Quote .quote_time .desc ()).filter (Quote .speaker == metadata ['speaker' ]).all ()
230+ else :
231+ quotes = db .session .query (Quote , func .sum (Vote .direction ).label ('votes' )).outerjoin (Vote ).group_by (Quote ).order_by (Quote .quote_time .desc ()).all ()
255232
233+ #tie any votes the user has made to their uid
256234 user_votes = db .session .query (Vote ).filter (Vote .voter == metadata ['uid' ]).all ()
257235
258- if request .cookies .get ('flag' ):
259- return render_template (
260- 'flag/additional_quotes.html' ,
261- quotes = quotes [20 :],
262- metadata = metadata ,
263- user_votes = user_votes
264- )
265- else :
266- return render_template (
267- 'bootstrap/additional_quotes.html' ,
268- quotes = quotes [20 :],
269- metadata = metadata ,
270- user_votes = user_votes
271- )
236+
237+ return render_template (
238+ 'bootstrap/additional_quotes.html' ,
239+ quotes = quotes [20 :],
240+ metadata = metadata ,
241+ user_votes = user_votes
242+ )
0 commit comments