2025-01-30 07:37:21 +00:00
|
|
|
from flask import Blueprint, request, render_template, send_file
|
|
|
|
from models import Asset, db
|
|
|
|
import csv
|
2025-02-11 05:38:27 +00:00
|
|
|
from config import item_attributes
|
2025-01-30 07:37:21 +00:00
|
|
|
|
|
|
|
viewall_bp = Blueprint('viewall', __name__)
|
|
|
|
|
|
|
|
@viewall_bp.route('/viewall/', methods=['GET', 'POST'])
|
|
|
|
def view_list():
|
|
|
|
if request.method == 'POST':
|
|
|
|
outfile = open('inventory_export.csv', 'w', newline='')
|
|
|
|
outcsv = csv.writer(outfile, delimiter='|')
|
|
|
|
records = db.session.query(Asset).all()
|
|
|
|
outcsv.writerow([column.name for column in Asset.__mapper__.columns])
|
|
|
|
[outcsv.writerow([getattr(curr, column.name) for column in Asset.__mapper__.columns]) for curr in records]
|
|
|
|
outfile.close()
|
|
|
|
return send_file('inventory_export.csv', as_attachment=True)
|
|
|
|
|
|
|
|
items = Asset.query.all()
|
2025-02-11 05:38:27 +00:00
|
|
|
primary_attrib = next(
|
|
|
|
(attrib for attrib, config in item_attributes.items() if config.primary),
|
|
|
|
None
|
|
|
|
)
|
|
|
|
return render_template('viewList.html', items=items, item_attributes=item_attributes, primary_attrib=primary_attrib)
|