4 from flask import Flask, request, session, g, redirect, url_for, abort, \
7 """ ---------------- ---------------- App Init ---------------- ---------------- """
8 # create our little application :)
10 app.config.from_object(__name__)
12 # Load default config and override config from an environment variable
13 app.config.update(dict(
14 DATABASE=os.path.join(app.root_path, 'flaskr.db'),
15 SECRET_KEY='development key',
19 app.config.from_envvar('FLASKR_SETTINGS', silent=True)
21 """ ---------------- ---------------- Database Functions ---------------- ---------------- """
23 #Connects to the specific database
24 rv = sqlite3.connect(app.config['DATABASE'])
25 rv.row_factory = sqlite3.Row
29 #Opens a new database connection if there is none yet for the current application context
30 if not hasattr(g, 'sqlite_db'):
31 g.sqlite_db = connect_db()
34 @app.teardown_appcontext
36 #Closes the database again at the end of the request
37 if hasattr(g, 'sqlite_db'):
43 with app.open_resource('schema.sql', mode='r') as f:
44 db.cursor().executescript(f.read())
45 #db.execute('PRAGMA FOREIGN_KEYS=ON')
46 #db.execute('PRAGMA foreign_keys = "1"')
49 @app.cli.command('initdb')
51 #Initializes the database
53 print 'Initialized the database.'
56 """ ---------------- ---------------- General Functions ---------------- ---------------- """
58 @app.route('/login', methods=['GET', 'POST'])
61 if request.method == 'POST':
62 if request.form['username'] != app.config['USERNAME']:
63 error = 'Invalid username'
64 elif request.form['password'] != app.config['PASSWORD']:
65 error = 'Invalid password'
67 session['logged_in'] = True
68 flash('You were logged in')
70 return redirect(url_for('item_list'))
71 return render_template('login.html', error=error)
76 session.pop('logged_in', None)
77 flash('You were logged out')
78 return redirect(url_for('item_list'))
81 @app.route("/upload", methods=["POST"])
83 uploaded_files = flask.request.files.getlist("file[]")
87 #Get row count of a table
88 def get_next_row(currentTable):
89 sql_string = open('sql/select_row_count.sql', 'r').read()
90 sql_string = sql_string.replace("currentTable", currentTable)
92 cur = db.execute(sql_string)
93 row_count = cur.fetchone()
96 """ ---------------- ---------------- Main Routes ---------------- ---------------- """
97 #Display Data - Dashboard
100 return render_template('dashboard.html')
102 """ ---------------- ---------------- List Parts ---------------- ---------------- """
103 #Select all parts and display webpage
104 @app.route('/pcparts_list')
106 sql_string = open('sql/select_all_pcparts.sql', 'r').read()
108 cur = db.execute(sql_string)
109 items = cur.fetchall()
110 abc = db.execute('PRAGMA foreign_keys')
111 abcX = abc.fetchall()
112 print "FOREIGN KEY STATUS:"
114 print "-----------------------"
115 abc = db.execute('PRAGMA foreign_keys=ON')
116 abc = db.execute('PRAGMA foreign_keys')
117 abcY = abc.fetchall()
118 print "FOREIGN KEY STATUS:"
120 print "-----------------------"
122 # items ==> list of columns and respective rows for all PC parts
123 return render_template('pcparts_list.html', items=items)
126 #Select all builds and display webpage
127 @app.route('/pcparts_listBuilds')
128 def pcparts_listBuilds():
130 pcBuildList = get_pcBuildList()
132 # pcBuildList ==> list of columns and respective rows for all PC builds
133 return render_template('pcparts_listBuilds.html', pcBuildList=pcBuildList)
136 def get_part(pcPartId):
137 sql_string = open('sql/select_part.sql', 'r').read()
139 abc = db.execute('PRAGMA foreign_keys=ON')
140 cur = db.execute(sql_string, [pcPartId])
141 part_row = cur.fetchone()
142 #Return row of part details
146 #Get a part's details
147 def get_part_details(pcPartId, pcPartType):
148 sql_string = open('sql/select_part_details.sql', 'r').read()
149 sql_string = sql_string.replace("tableName", pcPartType)
154 abc = db.execute('PRAGMA foreign_keys=ON')
155 cur = db.execute(sql_string, [pcPartId])
156 part_details_row = cur.fetchone()
157 #Return row of part details
158 return part_details_row
160 #Display Data - a part's details
161 @app.route('/pcparts_list/<int:pcPartId>/<pcPartType>/part_details/')
162 def part_details(pcPartId, pcPartType):
163 selected_row = get_part_details(pcPartId, pcPartType)
165 # pcPartId ==> current part id
166 # selected_row ==> the part's details
167 return render_template('/pcparts/select_ssd.html', pcPartId=pcPartId, selected_row=selected_row, pcPartType=pcPartType)
171 abc = db.execute('PRAGMA foreign_keys=ON')
174 sql_string = open('sql/select_moboList.sql', 'r').read()
175 result = db.execute(sql_string)
176 moboList = result.fetchall()
179 sql_string = open('sql/select_caseList.sql', 'r').read()
180 result = db.execute(sql_string)
181 caseList = result.fetchall()
184 sql_string = open('sql/select_psuList.sql', 'r').read()
185 result = db.execute(sql_string)
186 psuList = result.fetchall()
189 sql_string = open('sql/select_ramList.sql', 'r').read()
190 result = db.execute(sql_string)
191 ramList = result.fetchall()
194 sql_string = open('sql/select_gpuList.sql', 'r').read()
195 result = db.execute(sql_string)
196 gpuList = result.fetchall()
199 sql_string = open('sql/select_ssdList.sql', 'r').read()
200 result = db.execute(sql_string)
201 ssdList = result.fetchall()
204 sql_string = open('sql/select_hddList.sql', 'r').read()
205 result = db.execute(sql_string)
206 hddList = result.fetchall()
209 sql_string = open('sql/select_cpuList.sql', 'r').read()
210 result = db.execute(sql_string)
211 cpuList = result.fetchall()
213 #Fetch CPU Cooling List
214 sql_string = open('sql/select_cpuCoolList.sql', 'r').read()
215 result = db.execute(sql_string)
216 cpuCoolList = result.fetchall()
219 sql_string = open('sql/select_fanList.sql', 'r').read()
220 result = db.execute(sql_string)
221 fanList = result.fetchall()
224 sql_string = open('sql/select_ledkitList.sql', 'r').read()
225 result = db.execute(sql_string)
226 ledkitList = result.fetchall()
229 sql_string = open('sql/select_osList.sql', 'r').read()
230 result = db.execute(sql_string)
231 osList = result.fetchall()
234 dataList.append(moboList)
235 dataList.append(caseList)
236 dataList.append(psuList)
237 dataList.append(ramList)
238 dataList.append(gpuList)
239 dataList.append(ssdList)
240 dataList.append(hddList)
241 dataList.append(cpuList)
242 dataList.append(cpuCoolList)
243 dataList.append(fanList)
244 dataList.append(ledkitList)
245 dataList.append(osList)
259 """ ---------------- ---------------- PC Builds ---------------- ----------------"""
260 """ ---------------- Add PC Build ----------------"""
261 #Display Form - Add a New Build
262 @app.route('/pcparts_addBuild.html', methods=['GET', 'POST'])
263 def pcparts_addBuild():
265 abc = db.execute('PRAGMA foreign_keys=ON')
268 sql_string = open('sql/select_moboList.sql', 'r').read()
269 result = db.execute(sql_string)
270 moboList = result.fetchall()
273 sql_string = open('sql/select_caseList.sql', 'r').read()
274 result = db.execute(sql_string)
275 caseList = result.fetchall()
278 sql_string = open('sql/select_psuList.sql', 'r').read()
279 result = db.execute(sql_string)
280 psuList = result.fetchall()
283 sql_string = open('sql/select_ramList.sql', 'r').read()
284 result = db.execute(sql_string)
285 ramList = result.fetchall()
288 sql_string = open('sql/select_gpuList.sql', 'r').read()
289 result = db.execute(sql_string)
290 gpuList = result.fetchall()
293 sql_string = open('sql/select_ssdList.sql', 'r').read()
294 result = db.execute(sql_string)
295 ssdList = result.fetchall()
298 sql_string = open('sql/select_hddList.sql', 'r').read()
299 result = db.execute(sql_string)
300 hddList = result.fetchall()
303 sql_string = open('sql/select_cpuList.sql', 'r').read()
304 result = db.execute(sql_string)
305 cpuList = result.fetchall()
307 #Fetch CPU Cooling List
308 sql_string = open('sql/select_cpuCoolList.sql', 'r').read()
309 result = db.execute(sql_string)
310 cpuCoolList = result.fetchall()
313 sql_string = open('sql/select_fanList.sql', 'r').read()
314 result = db.execute(sql_string)
315 fanList = result.fetchall()
318 sql_string = open('sql/select_ledkitList.sql', 'r').read()
319 result = db.execute(sql_string)
320 ledkitList = result.fetchall()
323 sql_string = open('sql/select_osList.sql', 'r').read()
324 result = db.execute(sql_string)
325 osList = result.fetchall()
327 return render_template('pcparts_addBuild.html', moboList=moboList,
335 cpuCoolList=cpuCoolList,
337 ledkitList=ledkitList,
340 def get_pcBuildList():
342 abc = db.execute('PRAGMA foreign_keys=ON')
343 cur = db.execute('SELECT * FROM pcBuild')
344 pcBuildList = cur.fetchall()
347 #Submit POST - Add a New Build
348 @app.route('/pcpart_add_build', methods=['GET', 'POST'])
350 if not session.get('logged_in'):
352 sql_string = open('sql/insert_build.sql', 'r').read()
354 abc = db.execute('PRAGMA foreign_keys=ON')
355 db.execute(sql_string, [request.form['pcBuild_name'],
356 request.form['pcBuild_type'],
357 request.form['pcBuild_notes'],
358 request.form['pcBuild_avgPartAge'],
359 request.form['pcBuild_mobo_id'],
360 request.form['pcBuild_case_id'],
361 request.form['pcBuild_ram_id'],
362 request.form['pcBuild_gpu_id'],
363 request.form['pcBuild_ssd_id'],
364 request.form['pcBuild_hdd_id'],
365 request.form['pcBuild_cpu_id'],
366 request.form['pcBuild_psu_id'],
367 request.form['pcBuild_cpuCool_id'],
368 request.form['pcBuild_fan_id'],
369 request.form['pcBuild_ledkit_id'],
370 request.form['pcBuild_os_id'],
371 request.form['pcBuild_colorScheme']])
374 return redirect(url_for('pcparts_listBuilds'))
377 """ ---------------- ---------------- Add Part ---------------- ----------------"""
378 """ ---------------- Add Part - Generic ----------------"""
379 #Display Form - Add a New Part
380 @app.route('/pcparts_addPart.html', methods=['GET', 'POST'])
381 def pcparts_addPart():
382 pcBuildList = get_pcBuildList()
384 return render_template('pcparts_addPart.html', pcBuildList=pcBuildList)
386 #Submit POST - Add a New Part
387 @app.route('/pcpart_add_part', methods=['GET', 'POST'])
389 if not session.get('logged_in'):
392 sql_string = open('sql/insert_part.sql', 'r').read()
395 abc = db.execute('PRAGMA foreign_keys=ON')
396 db.execute(sql_string, [request.form['pcPart_type'],
397 request.form['pcPart_name'],
398 request.form['pcPart_modelNumber'],
399 request.form['pcPart_price'],
400 request.form['pcPart_desc'],
401 request.form['pcPart_brand'],
402 request.form['pcPart_condition'],
403 request.form['pcPart_notes'],
404 request.form['pcPart_age'],
405 request.form['pcPart_pcBuild_id']])
408 #return redirect(url_for('pcparts_addPart_ssd'))
409 return redirect(url_for('display_addPart_details'))
411 """ ---------------- Add Part - Specific ----------------"""
413 #Display Form - Add Part Details - Generic
414 @app.route('/display_addPart_details.html', methods=['GET', 'POST'])
415 def display_addPart_details():
417 abc = db.execute('PRAGMA foreign_keys=ON')
418 cur = db.execute('SELECT max(pcPart_id) FROM pcPart')
419 maxRowCount = cur.fetchall()
420 currentPart = maxRowCount[0][0]
424 sql_string = "SELECT pcPart_type FROM pcPart WHERE pcPart_id = currentPart"
428 sql_string = sql_string.replace("currentPart", str(currentPart))
429 get_partType = db.execute(sql_string)
430 partTypeX = get_partType.fetchone()
431 partType = partTypeX[0]
435 return render_template('display_addPart_details.html', currentPart=currentPart, partType=partType)
439 # return render_template('display_addPart_details.html', currentPart=currentPart, partType=partType,
440 # moboList=dataList[0], caseList=dataList[1], psuList=dataList[2],
441 # ramList=dataList[3], gpuList=dataList[4], ssdList=dataList[5],
442 # hddList=dataList[6], cpuList=dataList[7], cpuCoolList=dataList[8],
443 # fanList=dataList[9], ledkitList=dataList[10], osList=dataList[11]
448 #Submit POST - Add a New Part Details - Generic
449 @app.route('/pcpart/add_part_details', methods=['POST'])
450 def add_part_details():
451 if not session.get('logged_in'):
454 abc = db.execute('PRAGMA foreign_keys=ON')
456 print "request.form['pc_part_id'] "
457 print request.form['pc_part_id']
458 print "request.form['pc_part_id'] "
459 if request.form['part_type'] == "ssd":
460 sql_string = open('sql/insert_ssd.sql', 'r').read()
461 db.execute(sql_string,
462 [request.form['ssd_formFactor'],
463 request.form['ssd_size'],
464 request.form['ssd_interface'],
465 request.form['pc_part_id']])
467 flash('New part was added to database!')
468 return redirect(url_for('pcparts_list'))
470 elif request.form['part_type'] == "ram":
471 sql_string = open('sql/insert_ram.sql', 'r').read()
472 db.execute(sql_string,
473 [request.form['ram_kitSize'],
474 request.form['ram_stickSize'],
475 request.form['ram_speed'],
476 request.form['ram_type'],
477 request.form['ram_casLatency'],
478 request.form['pc_part_id']])
480 flash('New part was added to database!')
481 return redirect(url_for('pcparts_list'))
483 elif request.form['part_type'] == "hdd":
484 sql_string = open('sql/insert_hdd.sql', 'r').read()
485 db.execute(sql_string,
486 [request.form['hdd_formFactor'],
487 request.form['hdd_size'],
488 request.form['hdd_interface'],
489 request.form['hdd_cache'],
490 request.form['hdd_rpm'],
491 request.form['pc_part_id']])
493 flash('New part was added to database!')
494 return redirect(url_for('pcparts_list'))
496 elif request.form['part_type'] == "case":
497 sql_string = open('sql/insert_case.sql', 'r').read()
498 db.execute(sql_string,
499 [request.form['case_formFactor'],
500 request.form['case_width'],
501 request.form['case_height'],
502 request.form['case_length'],
503 request.form['case_525bay'],
504 request.form['case_350bay'],
505 request.form['case_250bay'],
506 request.form['case_80fan'],
507 request.form['case_120fan'],
508 request.form['case_140fan'],
509 request.form['case_240fan'],
510 request.form['case_otherFan'],
511 request.form['case_fpSpk'],
512 request.form['case_fpMic'],
513 request.form['case_fpUSB3'],
514 request.form['case_fpUSB2'],
515 request.form['case_psuSlots'],
516 request.form['case_waterSlots'],
517 request.form['pc_part_id']])
519 flash('New part was added to database!')
520 return redirect(url_for('pcparts_list'))
522 elif request.form['part_type'] == "gpu":
523 sql_string = open('sql/insert_gpu.sql', 'r').read()
524 db.execute(sql_string,
525 [request.form['gpu_vramType'],
526 request.form['gpu_vramSize'],
527 request.form['gpu_slotWidth'],
528 request.form['gpu_interface'],
529 request.form['gpu_6pin'],
530 request.form['gpu_8pin'],
531 request.form['gpu_clockSpeed'],
532 request.form['gpu_memClockSpeed'],
533 request.form['gpu_busBandwidth'],
534 request.form['gpu_crossfire'],
535 request.form['gpu_sli'],
536 request.form['pc_part_id']])
538 flash('New part was added to database!')
539 return redirect(url_for('pcparts_list'))
541 elif request.form['part_type'] == "psu":
542 sql_string = open('sql/insert_psu.sql', 'r').read()
543 db.execute(sql_string,
544 [request.form['psu_watt'],
545 request.form['psu_effiency'],
546 request.form['psu_8pin'],
547 request.form['psu_6pin'],
548 request.form['psu_4pin'],
549 request.form['psu_molex'],
550 request.form['psu_sata'],
551 request.form['psu_floppy'],
552 request.form['pc_part_id']])
554 flash('New part was added to database!')
555 return redirect(url_for('pcparts_list'))
557 elif request.form['part_type'] == "os":
558 sql_string = open('sql/insert_os.sql', 'r').read()
559 db.execute(sql_string,
560 [request.form['os_type'],
561 request.form['os_bit'],
562 request.form['os_version'],
563 request.form['pc_part_id']])
565 flash('New part was added to database!')
566 return redirect(url_for('pcparts_list'))
568 elif request.form['part_type'] == "cpuCool":
569 sql_string = open('sql/insert_cpuCool.sql', 'r').read()
570 db.execute(sql_string,
571 [request.form['cpuCool_type'],
572 request.form['cpuCool_socketList'],
573 request.form['cpuCool_fanCount'],
574 request.form['cpuCool_fanSize'],
575 request.form['pc_part_id']])
577 flash('New part was added to database!')
578 return redirect(url_for('pcparts_list'))
580 elif request.form['part_type'] == "mobo":
581 sql_string = open('sql/insert_mobo.sql', 'r').read()
582 db.execute(sql_string,
583 [request.form['mobo_ramType'],
584 request.form['mobo_CPUsocket'],
585 request.form['mobo_dimmSlots'],
586 request.form['mobo_pciSlots'],
587 request.form['mobo_pcie16Slots'],
588 request.form['mobo_pcie8Slots'],
589 request.form['mobo_pcie4Slots'],
590 request.form['mobo_pcie1Slots'],
591 request.form['mobo_chipset'],
592 request.form['mobo_cpu4pin'],
593 request.form['mobo_cpu8pin'],
594 request.form['mobo_cpu6pin'],
595 request.form['pc_part_id']])
597 flash('New part was added to database!')
598 return redirect(url_for('pcparts_list'))
600 elif request.form['part_type'] == "fan":
601 sql_string = open('sql/insert_fan.sql', 'r').read()
602 db.execute(sql_string,
603 [request.form['fan_size'],
604 request.form['fan_type'],
605 request.form['fan_color'],
606 request.form['pc_part_id']])
608 flash('New part was added to database!')
609 return redirect(url_for('pcparts_list'))
611 elif request.form['part_type'] == "ledkit":
612 sql_string = open('sql/insert_ledkit.sql', 'r').read()
613 db.execute(sql_string,
614 [request.form['ledkit_color'],
615 request.form['ledkit_type'],
616 request.form['ledkit_notes'],
617 request.form['pc_part_id']])
619 flash('New part was added to database!')
620 return redirect(url_for('pcparts_list'))
622 elif request.form['part_type'] == "cpu":
623 sql_string = open('sql/insert_cpu.sql', 'r').read()
624 db.execute(sql_string,
625 [request.form['cpu_socket'],
626 request.form['cpu_cores'],
627 request.form['cpu_threads'],
628 request.form['cpu_frequency'],
629 request.form['cpu_cache'],
630 request.form['cpu_wattage'],
631 request.form['pc_part_id']])
633 flash('New part was added to database!')
634 return redirect(url_for('pcparts_list'))
638 #Display Form - Add Part Details - SSD
639 @app.route('/pcparts_add_ssd.html', methods=['GET', 'POST'])
640 def pcparts_addPart_ssd():
641 currentTable = "pcPart"
643 abc = db.execute('PRAGMA foreign_keys=ON')
644 cur = db.execute('SELECT max(pcPart_id) FROM pcPart')
645 maxRowCount = cur.fetchall()
646 currentPart = maxRowCount[0][0]
647 return render_template('pcparts_addPart_ssd.html', currentPart=currentPart)
649 #Submit POST - Add a New Part Details - SSD
650 @app.route('/pcpart/add_ssd', methods=['POST'])
652 if not session.get('logged_in'):
654 sql_string = open('sql/insert_ssd.sql', 'r').read()
656 abc = db.execute('PRAGMA foreign_keys=ON')
657 db.execute(sql_string,
658 [request.form['ssd_formFactor'],
659 request.form['ssd_size'],
660 request.form['ssd_interface'],
661 request.form['pc_part_id']])
663 flash('New part was added to database!')
664 return redirect(url_for('dashboard'))
667 """ ---------------- ---------------- Update Part ---------------- ----------------"""
668 #Display Form - Update a part
669 @app.route('/pcparts/updatePart.html/', methods=['GET', 'POST'])
670 def display_update_part():
671 sql_string = open('sql/update_part.sql', 'r').read()
673 #db.execute('PRAGMA FOREIGN_KEYS=ON')
674 selected_row = get_part(request.form['part_to_update'])
675 #partId_to_update = request.form['part_to_update']
677 # partId_to_update ==> current part id to update
678 # selected_row ==> the part's details
679 return render_template('/pcparts/updatePart.html', selected_row=selected_row)
682 #Submit POST - Update a Part
683 @app.route('/pcparts/update_part', methods=['GET', 'POST'])
685 if not session.get('logged_in'):
687 sql_string = open('sql/update_part.sql', 'r').read()
689 abc = db.execute('PRAGMA foreign_keys=ON')
690 db.execute(sql_string,[request.form['pcPart_type'], request.form['pcPart_name'], request.form['pcPart_modelNumber'], request.form['pcPart_price'], request.form['pcPart_desc'], request.form['pcPart_brand'], request.form['pcPart_condition'], request.form['pcPart_notes'], request.form['pcPart_age'], request.form['pcPart_id']])
692 flash('Part successfully updated!')
693 return redirect(url_for('display_update_part_details', pcPartId=int(request.form['pcPart_id'])))
696 #Display Form - Update a part's details
697 @app.route('/pcparts/<int:pcPartId>/update_part_details.html', methods=['GET', 'POST'])
698 def display_update_part_details(pcPartId):
699 selected_row = get_part_details(pcPartId)
701 # pcPartId ==> current part id
702 # selected_row ==> the part's details
703 return render_template('/pcparts/updatePart_details.html', selected_row=selected_row)
705 #Submit POST - Update a Part's Details
706 @app.route('/pcparts/update_part_details/', methods=['GET', 'POST'])
707 def update_part_details():
708 sql_string = open('sql/update_part_ssd.sql', 'r').read()
709 #sql_string = sql_string.replace("pcPart_id", str(pcPartId))
712 db.execute('PRAGMA FOREIGN_KEYS=ON')
713 db.execute(sql_string,[ request.form['ssd_formFactor'],
714 request.form['ssd_size'],
715 request.form['ssd_interface'],
716 request.form['ssd_pcPart_id']])
718 # pcPartId ==> current part id
719 # selected_row ==> the part's details
721 flash('Part details successfully updated!')
722 #return render_template('pcparts_list.html')
723 return pcparts_list()
725 """ ---------------- ---------------- Delete Part ---------------- ----------------"""
726 @app.route('/delete_part', methods=['POST'])
728 sql_string = open('sql/delete_part.sql', 'r').read()
730 abc = db.execute('PRAGMA FOREIGN_KEYS=ON')
731 db.execute(sql_string,[request.form['part_to_delete']])
733 flash('Part deleted from database!')
734 return redirect(url_for('pcparts_list'))
737 """ ---------------- ---------------- List PC Parts ---------------- ---------------- """
738 @app.route('/pcparts/pcparts_ram')
740 return render_template('pcparts_ram.html')
742 @app.route('/pcparts/list_pcparts_ssd')
743 def list_pcparts_ssd():
744 return render_template('list_pcparts_ssd.html')
746 @app.route('/pcparts/pcparts_hdd')
748 return render_template('pcparts_hdd.html')
750 @app.route('/pcparts/pcparts_case')
752 return render_template('pcparts_case.html')
754 @app.route('/pcparts/pcparts_gpu')
756 return render_template('pcparts_gpu.html')
758 @app.route('/pcparts/pcparts_psu')
760 return render_template('pcparts_psu.html')
762 @app.route('/pcparts/pcparts_os')
764 return render_template('pcparts_os.html')
766 @app.route('/pcparts/pcparts_cpuCool')
767 def pcparts_cpuCool():
768 return render_template('pcparts_cpuCool.html')
770 @app.route('/pcparts/pcparts_mobo')
772 return render_template('pcparts_mobo.html')
774 @app.route('/pcparts/pcparts_fan')
776 return render_template('pcparts_fan.html')
778 @app.route('/pcparts/pcparts_ledkit')
779 def pcparts_ledkit():
780 return render_template('pcparts_ledkit.html')
782 @app.route('/pcparts/pcparts_cpu')
784 return render_template('pcparts_cpu.html')
787 #print "OOOOOOOOOOOOOOOOOOOOOO"
789 #print "OOOOOOOOOOOOOOOOOOOOOO"
790 #print "PC PART ID: " + str(pcPartId) + " ---"
791 #sql_string = open('select_ssd.sql', 'r').read()
792 #sql_string = sql_string.replace("pcPart_id", str(pcPartId))
794 #cur = db.execute(sql_string, [pcPartId])
795 #items = cur.fetchall()
798 """ ---------------- ---------------- List Items ---------------- ---------------- """
799 #Display Data - List All Items
800 @app.route('/item_list')
802 sql_string = open('sql/select_all_items.sql', 'r').read()
804 cur = db.execute(sql_string)
805 items = cur.fetchall()
806 return render_template('item_list.html', items=items)
808 #Display Form - Add Item
809 @app.route('/add_item')
811 return render_template('add_item.html')
813 #Submit POST - Add Item
814 @app.route('/add', methods=['POST'])
816 if not session.get('logged_in'):
819 db.execute('insert into item (item_name, item_subtitle, \
820 item_desc, item_category, item_condition, item_conditionDesc, item_cost) \
821 values (?, ?, ?, ?, ?, ?, ?)',
822 [request.form['item_name'],
823 request.form['item_subtitle'],
824 request.form['item_desc'],
825 request.form['item_category'],
826 request.form['item_condition'],
827 request.form['item_conditionDesc'],
828 request.form['item_cost']])
830 flash('New item was added to database!')
831 return redirect(url_for('item_list'))