57 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!DOCTYPE html>
 | 
						|
<html lang="en">
 | 
						|
<head>
 | 
						|
    <meta charset="UTF-8">
 | 
						|
    <title>{% if item %}Update{% else %}Add{% endif %} Item</title>
 | 
						|
</head>
 | 
						|
<body>
 | 
						|
    <h2 align="center">{% if item %}Update{% else %}Add{% endif %} Item</h2>
 | 
						|
 | 
						|
    <!-- Display error message if any -->
 | 
						|
    {% if error %}
 | 
						|
        <p>{{ error }}</p>
 | 
						|
    {% endif %}
 | 
						|
 | 
						|
    <!-- Form for adding/updating an item -->
 | 
						|
    <form method="POST">
 | 
						|
        {% for attrib in item_attributes -%}
 | 
						|
        <p>
 | 
						|
            <label for="{{ attrib.attrib_name }}">{{ attrib.display_name }}:</label>
 | 
						|
            {% if attrib.html_input_type == "select" %}
 | 
						|
                <!-- Render a dropdown for select attributes -->
 | 
						|
                <select
 | 
						|
                    id="{{ attrib.attrib_name }}"
 | 
						|
                    name="{{ attrib.attrib_name }}"
 | 
						|
                    {% if attrib.required %} required {% endif %}
 | 
						|
                >
 | 
						|
                    {% for option in attrib.options -%}
 | 
						|
                        <option value="{{ option }}" {% if item and item[attrib.attrib_name] == option %}selected{% endif %}>{{ option }}</option>
 | 
						|
                    {% endfor %}
 | 
						|
                </select>
 | 
						|
            {% else %}
 | 
						|
                <!-- Render an input field for other attributes -->
 | 
						|
                <input
 | 
						|
                    id="{{ attrib.attrib_name }}"
 | 
						|
                    type="{{ attrib.html_input_type }}"
 | 
						|
                    name="{{ attrib.attrib_name }}"
 | 
						|
                    {% if attrib.required %} required {% endif %}
 | 
						|
                    {% if attrib.min_val is not none %} min="{{ attrib.min_val }}" {% endif %}
 | 
						|
                    {% if attrib.max_val is not none %} max="{{ attrib.max_val }}" {% endif %}
 | 
						|
                    {% if attrib.step is not none %} step="{{ attrib.step }}" {% endif %}
 | 
						|
                    {% if attrib.max_length is not none %} maxlength="{{ attrib.max_length }}" {% endif %}
 | 
						|
                    {% if attrib.min_length is not none %} minlength="{{ attrib.min_length }}" {% endif %}
 | 
						|
                    {% if attrib.regex is not none %} pattern="{{ attrib.regex }}" {% endif %}
 | 
						|
                    {% if item %}
 | 
						|
                        value="{{ item[attrib.attrib_name] }}"
 | 
						|
                    {% else %}
 | 
						|
                        {% if attrib.default_val is not none %} value="{{ attrib.default_val }}" {% endif %}
 | 
						|
                    {% endif %}
 | 
						|
                />
 | 
						|
            {% endif %}
 | 
						|
        </p>
 | 
						|
        {% endfor %}
 | 
						|
        <p><input type="submit" value="{% if item %}Update{% else %}Submit{% endif %}" /></p>
 | 
						|
        <button type="button" onclick="window.location.href='/'">Cancel</button>
 | 
						|
    </form>
 | 
						|
</body>
 | 
						|
</html> |