Updated comfirm_save.py
This commit is contained in:
parent
c0c2276f05
commit
59526aee24
@ -1,24 +1,35 @@
|
||||
from flask import Blueprint, redirect, session, request
|
||||
from flask import Blueprint, redirect, session, request, jsonify
|
||||
from models import Asset, db
|
||||
import json
|
||||
from config import item_attributes # Import the configuration
|
||||
|
||||
confirm_save_bp = Blueprint('confirm_save', __name__)
|
||||
|
||||
# When confirmed, write the csv data to the database
|
||||
@confirm_save_bp.route('/confirm_save', methods=['POST'])
|
||||
def confirm_save():
|
||||
if 'assets' not in request.form:
|
||||
return "No assets data found in the request.", 400
|
||||
|
||||
try:
|
||||
edited_assets = json.loads(request.form['assets'])
|
||||
except json.JSONDecodeError:
|
||||
return "Invalid JSON data in the request.", 400
|
||||
|
||||
session['assets'] = edited_assets
|
||||
|
||||
for asset_data in edited_assets:
|
||||
asset = Asset(
|
||||
assettag=asset_data['assettag'],
|
||||
hostname=asset_data['hostname'],
|
||||
warrantyfrom=asset_data['warrantyfrom'],
|
||||
status=asset_data['status'],
|
||||
staffnum=asset_data['staffnum']
|
||||
)
|
||||
# Dynamically create the Asset object using item_attributes
|
||||
asset = Asset(**{
|
||||
attrib: asset_data[attrib]
|
||||
for attrib in item_attributes
|
||||
})
|
||||
db.session.add(asset)
|
||||
|
||||
try:
|
||||
db.session.commit()
|
||||
except Exception as e:
|
||||
db.session.rollback()
|
||||
return f"Error saving data to the database: {str(e)}", 500
|
||||
|
||||
session.pop('assets', None) # Clear session data
|
||||
return redirect('/viewall')
|
Loading…
Reference in New Issue
Block a user