79 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{% extends 'base.html' %}
 | 
						|
{% load crispy_forms_tags %}
 | 
						|
 | 
						|
{% block content %}
 | 
						|
<div class="container">
 | 
						|
    <div class="row">
 | 
						|
        <div class="col-md">
 | 
						|
            <h2>Components</h2>
 | 
						|
            <form action="" method="get">
 | 
						|
                <div class="input-group mb-3">
 | 
						|
                    <input class="form-control" name="search" type="search" placeholder="Search Component..." {% if search_string %}value="{{search_string}}"{% endif %}>
 | 
						|
                    <button type="submit" class="btn btn-primary">
 | 
						|
                        <i class="bi bi-search"></i>
 | 
						|
                    </button>
 | 
						|
                    <button class="btn btn-secondary" type="button" data-bs-toggle="collapse" href="#advanced-search-collapse">Advanced <i class="bi bi-search"></i></button>
 | 
						|
                    <button class="btn btn-success" type="button" data-bs-toggle="modal" data-bs-target="#comp-edit-modal"><i class="bi bi-plus-circle"></i> Add Component</button>
 | 
						|
                </div>
 | 
						|
            </form>
 | 
						|
            <div class="collapse mb-3{% if advanced_search_shown %} show{% endif %}" id="advanced-search-collapse" aria-expanded="{% if advanced_search_shown %}true{% else %}false{% endif %}">
 | 
						|
                <form method="GET">
 | 
						|
                    <div class="row">
 | 
						|
                        <div class="col-sm">
 | 
						|
                            {% crispy advanced_search_form %}
 | 
						|
                        </div>
 | 
						|
                           {{ advanced_search_param_formset.management_form }}
 | 
						|
                        <div class="col-sm">
 | 
						|
                            {% for f in advanced_search_param_formset %}
 | 
						|
                            {% crispy f %}
 | 
						|
                            {% endfor %}
 | 
						|
                        </div>
 | 
						|
                        <input type="submit" name="submit-advanced-search" value="Search" class="btn btn-success">
 | 
						|
                    </div>
 | 
						|
                </form>
 | 
						|
                <template id="advanced-search-parameter-template">
 | 
						|
                    {% crispy advanced_search_param_formset.empty_form %}
 | 
						|
                </template>
 | 
						|
            </div>
 | 
						|
            <div class="list-group mb-3">
 | 
						|
                {% for comp in components %}
 | 
						|
                    <a href="{% url 'parts-components-detail' uuid=comp.id %}" class="text-decoration-none">
 | 
						|
                    <li class="list-group-item list-group-item-action d-flex align-items-center">
 | 
						|
                        <div class="flex-shrink-0">
 | 
						|
                            {% if comp.get_resolved_image %}
 | 
						|
                                <img src="{{comp.get_resolved_image}}" class="component-img-small" alt="{{ comp.name }}" class="mr-3">
 | 
						|
                            {% else %}
 | 
						|
                                {% load static %}
 | 
						|
                                <img src="{% static 'css/icons/card-image.svg' %}" class="component-img-def-small" alt="{{ comp.name }}" class="mr-3">
 | 
						|
                            {% endif %}
 | 
						|
                        </div>
 | 
						|
                        <div class="flex-grow-1 ms-3">
 | 
						|
                            <h6 class="mt-0 text-primary">{{ comp.name }}</h6>
 | 
						|
                            {% if comp.package %}
 | 
						|
                                Package: {{comp.package}}<br>
 | 
						|
                            {% endif %}
 | 
						|
                            {% if comp.manufacturer %}
 | 
						|
                                Manufacturer: {{comp.manufacturer}}
 | 
						|
                            {% endif %}
 | 
						|
                        </div>
 | 
						|
                        <span class="badge bg-primary rounded-pill">{{comp.get_total_amount}}</span>
 | 
						|
                    </li>
 | 
						|
                    </a>
 | 
						|
                {% endfor %}
 | 
						|
            </div>
 | 
						|
            {% include 'paginator.html' with paginator=components get_param='comp_page' aria_label='Component Page Navigation' %}
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
</div>
 | 
						|
 | 
						|
{% include 'parts/modals/edit-component-modal.html' with form=comp_form heading='New Component' open_component_button=True %}
 | 
						|
 | 
						|
{% endblock content %}
 | 
						|
{% block custom_scripts %}
 | 
						|
 | 
						|
<script type="text/javascript">
 | 
						|
{% if comp_form.errors %}
 | 
						|
bootstrap.Modal.getOrCreateInstance(document.getElementById('comp-edit-modal')).show()
 | 
						|
{% endif %}
 | 
						|
</script>
 | 
						|
{% endblock custom_scripts %} |