Write csv data to DB
This commit is contained in:
parent
f7009d6e82
commit
9866bcfa12
@ -1,7 +1,7 @@
|
|||||||
from flask import Blueprint, request, render_template, redirect
|
from flask import Blueprint, request, render_template, redirect, session
|
||||||
import csv
|
import csv
|
||||||
from io import TextIOWrapper
|
from io import TextIOWrapper
|
||||||
from models import Asset
|
from models import Asset, db
|
||||||
from process_csv import get_csv_data # Import the CSV processing function
|
from process_csv import get_csv_data # Import the CSV processing function
|
||||||
|
|
||||||
# Create a Blueprint for upload
|
# Create a Blueprint for upload
|
||||||
@ -23,6 +23,7 @@ def upload_file():
|
|||||||
try:
|
try:
|
||||||
# Extract data from the CSV file
|
# Extract data from the CSV file
|
||||||
assets = get_csv_data(file)
|
assets = get_csv_data(file)
|
||||||
|
session['assets'] = assets # Store assets in session
|
||||||
|
|
||||||
# Redirect to preview page with the CSV data
|
# Redirect to preview page with the CSV data
|
||||||
return render_template('csv_preview.html', assets=assets)
|
return render_template('csv_preview.html', assets=assets)
|
||||||
@ -33,4 +34,21 @@ def upload_file():
|
|||||||
return redirect('uploadcsv')
|
return redirect('uploadcsv')
|
||||||
|
|
||||||
# Render the upload page for GET requests
|
# Render the upload page for GET requests
|
||||||
return render_template('upload.html')
|
return render_template('upload.html')
|
||||||
|
|
||||||
|
# When confirmed, write the csv data to the database
|
||||||
|
@upload_bp.route('/confirm_save', methods=['POST'])
|
||||||
|
def confirm_save():
|
||||||
|
assets = session.get('assets', []) # Retrieve assets from session
|
||||||
|
for asset_data in assets:
|
||||||
|
asset = Asset(
|
||||||
|
assettag=asset_data['assettag'],
|
||||||
|
hostname=asset_data['hostname'],
|
||||||
|
warrantyfrom=asset_data['warrantyfrom'],
|
||||||
|
status=asset_data['status'],
|
||||||
|
staffnum=asset_data['staffnum']
|
||||||
|
)
|
||||||
|
db.session.add(asset)
|
||||||
|
db.session.commit()
|
||||||
|
session.pop('assets', None) # Clear session data
|
||||||
|
return redirect('/viewall')
|
@ -32,7 +32,7 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<!-- Form to confirm and save data -->
|
<!-- Form button to confirm and save data -->
|
||||||
<form action="/confirm_save" method="POST">
|
<form action="/confirm_save" method="POST">
|
||||||
<button type="submit">Confirm and Save to Database</button>
|
<button type="submit">Confirm and Save to Database</button>
|
||||||
</form>
|
</form>
|
||||||
|
Loading…
Reference in New Issue
Block a user