Submit edited csv after preview

This commit is contained in:
Candifloss 2025-02-05 00:41:03 +05:30
parent ae715af3e1
commit 4511cfdb90
2 changed files with 32 additions and 4 deletions

View File

@ -1,13 +1,17 @@
from flask import Blueprint, redirect, session
from flask import Blueprint, redirect, session, request
from models import Asset, db
import json
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():
assets = session.get('assets', []) # Retrieve assets from session
for asset_data in assets:
edited_assets = json.loads(request.form['assets'])
session['assets'] = edited_assets
#assets = session.get('assets', []) # Retrieve assets from session
for asset_data in edited_assets:
asset = Asset(
assettag=asset_data['assettag'],
hostname=asset_data['hostname'],

View File

@ -4,6 +4,30 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSV Preview</title>
<script>
function collectEditedData() {
const rows = document.querySelectorAll('tbody tr');
const assets = [];
rows.forEach(row => {
const cells = row.querySelectorAll('td');
assets.push({
assettag: cells[0].innerText,
hostname: cells[1].innerText,
warrantyfrom: cells[2].innerText,
status: cells[3].innerText,
staffnum: cells[4].innerText
});
});
// Add edited data to a hidden input
const input = document.createElement('input');
input.type = 'hidden';
input.name = 'assets';
input.value = JSON.stringify(assets);
document.querySelector('form').appendChild(input);
}
</script>
</head>
<body>
<h1>CSV Preview</h1>
@ -33,7 +57,7 @@
</table>
<!-- Form button to confirm and save data -->
<form action="/confirm_save" method="POST">
<form action="/confirm_save" method="POST" onsubmit="collectEditedData()">
<button type="submit">Confirm and Save to Database</button>
</form>
</body>