81 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!DOCTYPE html>
 | 
						|
<html lang="en">
 | 
						|
<head>
 | 
						|
    <meta charset="UTF-8">
 | 
						|
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
						|
    <title>CSV Preview</title>
 | 
						|
    {% include 'favicon.html' %}
 | 
						|
    <script src="{{ url_for('static', filename='js/edited_csv.js') }}"></script>
 | 
						|
    <link href="{{ url_for('static', filename='css/bootstrap.min.css') }}" rel="stylesheet">
 | 
						|
</head>
 | 
						|
<body>
 | 
						|
    {% include 'header.html' %}
 | 
						|
    <main class="container mt-5 pt-3">
 | 
						|
        <h1>CSV Preview</h1>
 | 
						|
 | 
						|
    <!-- Display error messages -->
 | 
						|
    {% with messages = get_flashed_messages(with_categories=true) %}
 | 
						|
        {% if messages %}
 | 
						|
            <details>
 | 
						|
                <summary>Errors found during submission (click to expand):</summary>
 | 
						|
                <ul>
 | 
						|
                    {% for category, message in messages %}
 | 
						|
                        <li><strong>{{ category }}:</strong> {{ message }}</li>
 | 
						|
                    {% endfor %}
 | 
						|
                </ul>
 | 
						|
            </details>
 | 
						|
        {% endif %}
 | 
						|
    {% endwith %}
 | 
						|
 | 
						|
    <!-- Render tables for new, existing, and invalid entries -->
 | 
						|
    {% for table_name, entries, editable, tableclass in [
 | 
						|
        ('New Entries', new_entries, true, 'table-valid-entries'),
 | 
						|
        ('Existing Entries', existing_entries, true, 'table-valid-entries'),
 | 
						|
        ('Invalid Entries', invalid_entries, false, 'table-invalid-entries')
 | 
						|
    ] %}
 | 
						|
        {% if entries %}
 | 
						|
            <h2>{{ table_name }}</h2>
 | 
						|
            {% if table_name == 'Invalid Entries' %}
 | 
						|
                {% if mode == 'import' %}
 | 
						|
                <p>These entries already exist:</p>
 | 
						|
                {% elif mode == 'edit' %}
 | 
						|
                <p>These entries do not exist:</p>
 | 
						|
                {% endif %}
 | 
						|
            {% endif %}
 | 
						|
            <table border="1" class="{{ tableclass }}">
 | 
						|
                <thead>
 | 
						|
                    <tr>
 | 
						|
                        {% for attrib in item_attributes %}
 | 
						|
                            <th data-attrib="{{ attrib.attrib_name }}">{{ attrib.display_name }}</th>
 | 
						|
                        {% endfor %}
 | 
						|
                    </tr>
 | 
						|
                </thead>
 | 
						|
                <tbody>
 | 
						|
                    {% for entry in entries %}
 | 
						|
                        <tr>
 | 
						|
                            {% for attrib in item_attributes %}
 | 
						|
                                <td {% if editable %}contenteditable="true"{% endif %}>
 | 
						|
                                    {{ entry[attrib.attrib_name] }}
 | 
						|
                                </td>
 | 
						|
                            {% endfor %}
 | 
						|
                        </tr>
 | 
						|
                    {% endfor %}
 | 
						|
                </tbody>
 | 
						|
            </table>
 | 
						|
        {% endif %}
 | 
						|
    {% endfor %}
 | 
						|
 | 
						|
    <!-- Form button to confirm and save data -->
 | 
						|
    {% if new_entries or existing_entries %}
 | 
						|
    <form action="/confirm_save" method="POST" onsubmit="return collectEditedData(event)">
 | 
						|
        <button type="submit">Confirm and Save to Database</button>
 | 
						|
    </form>
 | 
						|
    {% endif %}
 | 
						|
 | 
						|
    <!-- Cancel button that redirects to the home page -->
 | 
						|
    <button type="button" onclick="window.location.href='/'">Cancel</button>
 | 
						|
    </main>
 | 
						|
    <!-- Bootstrap JS (for dropdowns) -->
 | 
						|
    <script src="{{ url_for('static', filename='js/bootstrap.bundle.min.js') }}"></script>
 | 
						|
</body>
 | 
						|
</html> |