{% extends 'base.html' %}
{% load qr_code %}
{% load static %}
{% load crispy_forms_tags %}

{% block content %}
<div class="container">
    <nav aria-label="breadcrumb" class="fs-4">
        <ol class="breadcrumb">
            <li class="breadcrumb-item"></li>
            {% for crumb in breadcrumbs %}
            <li class="breadcrumb-item"><a href="{% url 'parts-stocks-detail' uuid=crumb.id %}">{{crumb.name}}</a></li>
            {% endfor %}
            <li class="breadcrumb-item active" aria-current="page">{{object.name}}</li>
        </ol>
    </nav>

    <div class="row">
        <div class="col-md-3">
            <div class="row">
                {% qr_from_text object.get_qr_code size="m" image_format="svg" %}
            </div>
            <div class="row">
                {% if object.parent_storage %}
                <h1>Sub-Storages <a class="btn btn-secondary" href="{% url 'parts-stocks-detail' uuid=object.parent_storage.id %}">Parent Storage</a>            {% else %}
                <h1>Sub-Storages <a class="btn btn-secondary" href="{% url 'parts-stocks'%}">Stock Overview</a>
                {% endif %}
                <button type="button" class="btn btn-danger" data-bs-toggle="modal" data-bs-target="#delete-storage-modal">Delete</button>
                <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#add-sub-modal"><i class="bi bi-plus-circle"></i></button>
                </h1>
                <div class="list-group">
                {% for storage in storages %}
                    <a href="{% url 'parts-stocks-detail' uuid=storage.id %}" class="text-decoration-none">
                        <li class="list-group-item list-group-item-action justify-content-between align-items-center d-flex">
                            <div> 
                            <h5>{{storage.name}}</h5>
                            Responsible: {{ storage.responsible }}
                            </div>
                            <span class="badge bg-primary rounded-pill">{{storage.get_total_stock_amount}}</span>
                        </li>
                    </a>
                {% endfor %}
                </div>
                {% include 'paginator.html' with paginator=storages get_param='storage_page' aria_label='Storage Page Navigation' %}
            </div>
        </div>
        <div class="col">
            <h1>Stocked Components</h1>
            <form method="get">
                <div class="input-group mb-3">
                    <input class="form-control" name="search" type="search" placeholder="Search..." {% if stock_search %}value="{{stock_search}}"{% endif %}>
                    <button type="submit" class="btn btn-primary">
                        <i class="bi bi-search"></i>
                    </button>
                    <button class="btn btn-success" type="button" data-bs-toggle="modal" data-bs-target="#add-stock-modal">
                        <i class="bi bi-plus-circle"></i> Add Stock
                    </button>
                </div>
            </form>
            <div class="list-group">
                {% for stock in stocks %}
                    <li class="list-group-item list-group-item-action d-flex align-items-center">
                        <div class="flex-shrink-0">
                            {% if stock.component.get_resolved_image %}
                                <img src="{{stock.component.get_resolved_image}}" style="max-width:64px;max-height:64px;" alt="{{ low.component.name }}" class="mr-3">
                            {% else %}
                                {% load static %}
                                <img src="{% static 'css/icons/card-image.svg' %}" style="width:64px;max-height:64px;" alt="{{ low.component.name }}" class="mr-3">
                            {% endif %}
                        </div>
                        <div class="flex-grow-1 ms-3">
                            <h6 class="mt-0 text-primary"><a href="{% url 'parts-components-detail' uuid=stock.component.id %}" class="text-decoration-none">{{ stock.component.name }}</a></h6>
                            {% if stock.component.package %}
                                Package: {{stock.component.package}}<br>
                            {% endif %}
                            {% if stock.component.manufacturer %}
                                Manufacturer: {{stock.component.manufacturer}}
                            {% endif %}
                            {% if stock.lot %}
                                <span class="text-secondary"><br>Lot: {{stock.lot}}</span>
                            {% endif %}
                        </div>
                        <div class="ms-3">
                            Amount: {{stock.amount}}
                            {% if stock.watermark >= 0 %}
                            <br>Watermark: {{stock.watermark}}
                            {% else %}
                            <span class="text-secondary"><br>No Watermark</span>                           
                            {% endif %}
                        </div>
                        <div class="ms-3">
                              <button type="button" class="btn btn-secondary" data-bs-toggle="modal" data-bs-target="#change-stock-modal-{{stock.id}}">Change</button>
                        </div>
                        <div>
                            <form method="post">
                                {% csrf_token %}
                                <input type="hidden" name="stock_uuid" value="{{stock.id}}">
                                <input type="submit" class="btn btn-danger m-1" name="submit-delete-stock" value="X">
                            </form>
                        </div>
                    </li>
                {% endfor %}
            </div>
            {% include 'paginator.html' with paginator=stocks get_param='stock_page' aria_label='Stock Page Navigation' %}
        </div>
    </div>
    {% for stock in stocks  %}
    {% include 'parts/modals/update-stock-modal.html' with stock=stock form=change_stock_form %}
    {% endfor %}
    <!-- Modal for adding a substorage-->
    {% with add_storage_form as form %}
    {% include 'parts/modals/new-substorage-modal.html' %}
    {% endwith %}
    <!-- Modal for deleting this storage -->
    {% with delete_storage_errors as err_msgs %}
    {% include 'parts/modals/delete-storage-modal.html' %}
    {% endwith %}
    <!-- Modal for adding stock to this storage -->
    {% with add_stock_form as form %}
    {% include 'parts/modals/add-stock-modal.html' %}
    {% endwith %}

</div>
{% endblock content %}

{% block custom_scripts %}
<script type="text/javascript" src="{% static 'js/add-stock-modal.js' %}"></script>
<script type="text/javascript">
{% if add_storage_form.errors %}

    var addSubStorageModal = document.querySelector('#add-sub-modal');
    var c_modal = bootstrap.Modal.getOrCreateInstance(addSubStorageModal);
    c_modal.show();
{% endif %}
{% if delete_storage_errors %}
    var deleteStorageModal = document.querySelector('#delete-storage-modal');
    var d_modal = bootstrap.Modal.getOrCreateInstance(deleteStorageModal);
    d_modal.show();
{% endif %}
{% if add_stock_form.errors %}
var uuid = "{{add_stock_form.component_uuid.value}}";
if (uuid && uuid != '' && uuid != 'None') {
api_get_component_from_id(uuid, function(component){
    var add_stock_modal_div = document.querySelector('#add-stock-modal');
    var add_stock_modal = bootstrap.Modal.getOrCreateInstance(add_stock_modal_div);
    fill_add_stock_modal_component(component);
    add_stock_modal.show();
    console.log(component)
}, function(){
    var add_stock_modal_div = document.querySelector('#add-stock-modal');
    var add_stock_modal = bootstrap.Modal.getOrCreateInstance(add_stock_modal_div);
    add_stock_modal.show();
});
} else {
    var add_stock_modal_div = document.querySelector('#add-stock-modal');
    var add_stock_modal = bootstrap.Modal.getOrCreateInstance(add_stock_modal_div);
    add_stock_modal.show();
}
{% endif %}

new AutocompleteText('{{add_storage_form.responsible.id_for_label}}', '{{add_storage_form.responsible.id_for_label}}-ac-dropdown', 
function(search, autocomplete_obj) {
    api_search_user(search, function(results) {
        var usernames = new Array();
        console.log(results);
        for (var i = 0; i < results.results.length; i++) {
            usernames.push(results.results[i].username);
        }
        console.log(usernames);
        autocomplete_obj.show_results(usernames);
    }, function(){});
});
</script>
{% endblock custom_scripts %}

