from flask import Flask, redirect, render_template, request import utils.sql_utils as sql_utils app = Flask(__name__) connection = sql_utils.connect_database('ubuntu-mariadb.home','admin','password','inventory') ### main.html paths @app.route('/user_search') def user_search(): data = request.args.get('data') query = f''' SELECT u.name,u.id_num,u.assigned_asset,u.assigned_card FROM users u WHERE u.name like '%{data.upper()}%\'''' response = sql_utils.read_query(connection, query) print(response) return response @app.route('/asset_tag_search') def asset_tag_search(): data = request.args.get('data') query = f'''SELECT a.asset_id, a.serial, a.model, a.category, u.name FROM assets a left JOIN users u ON u.assigned_asset=a.asset_id WHERE a.asset_id = {data.upper()}''' response = sql_utils.read_query(connection, query) return response @app.route('/serial_search') def serial_search(): data = request.args.get('data') query = f'''SELECT a.asset_id, a.serial, a.model, a.category, u.name FROM assets a left JOIN users u ON u.assigned_asset=a.asset_id WHERE a.serial LIKE "{data.upper()}"''' response = sql_utils.read_query(connection, query) return response @app.route('/asset_list') def asset_list(): query = ''' select a.asset_id,a.serial,a.model,a.category,u.name from assets a left join users u on u.assigned_asset=a.asset_id ''' data = sql_utils.read_query(connection,query) return data @app.route('/card_list') def card_list(): query = ''' select c.card_number,c.display_number,u.name assigned_user from access_cards c left join users u on u.assigned_card=c.card_number ''' data = sql_utils.read_query(connection,query) return data @app.route('/user_list') def user_list(): query = ''' select * from users; ''' data = sql_utils.read_query(connection,query) return data ### add.html paths @app.route("/add_asset", methods=['POST']) def add_asset(): data = request.json query = f''' insert into assets (asset_id,serial,model,category) values (%(tag)s, %(serial)s, %(model)s, %(category)s) ''' result = sql_utils.send_query(connection,query,data) if result: return "success" else: return "failure" @app.route("/add_user",methods=['POST']) def add_user(): data = request.json query = f''' insert into users (id_num,name,assigned_asset,assigned_card) values (%(id)s, %(name)s, %(asset)s, %(card)s) ''' result = sql_utils.send_query(connection,query,data) if result: return "success" else: return "failure" @app.route("/add_card") def add_card(): return None @app.route("/modify_asset") def modify_asset(): return None @app.route("/modify_user") def modify_user(): return None @app.route("/modify_card") def modify_card(): return None ### Pages @app.route('/add') def add_page(): return render_template('adding.html') @app.route("/") def default(): return render_template('main.html') if __name__ == '__main__': app.run()