inventory-thing/app.py

119 lines
3.0 KiB
Python

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()