Update delete.py to use config

This commit is contained in:
Candifloss 2025-02-08 01:35:04 +05:30
parent 13c1344013
commit ca5a572363

View File

@ -1,16 +1,28 @@
from flask import Blueprint, request, render_template, redirect
from flask import Blueprint, request, render_template, redirect, abort
from models import Asset, db
from config import item_attributes
delete_bp = Blueprint('deleteasset', __name__)
@delete_bp.route('/delete/<string:assettag>/', methods=['GET', 'POST'])
def delete(assettag):
item = Asset.query.filter_by(assettag=assettag).first()
if request.method == 'POST':
if item:
db.session.delete(item)
db.session.commit()
return redirect('/viewall')
abort(404)
@delete_bp.route('/delete/<string:primary_value>/', methods=['GET', 'POST'])
def delete(primary_value):
# Identify the primary attribute
primary_attrib = next(
(attrib for attrib, config in item_attributes.items() if config.primary),
None
)
return render_template('delete.html')
if not primary_attrib:
return "Primary attribute not defined in configuration."
# Fetch the item using the primary attribute
item = Asset.query.filter_by(**{primary_attrib: primary_value}).first()
if not item:
abort(404) # Item not found
if request.method == 'POST':
db.session.delete(item)
db.session.commit()
return redirect('/viewall')
return render_template('delete.html', item=item)