272 lines
9.1 KiB
HTML
272 lines
9.1 KiB
HTML
{% extends "stock/stock_app_base.html" %}
|
|
{% load static %}
|
|
{% load inventree_extras %}
|
|
{% load i18n %}
|
|
|
|
{% block menubar %}
|
|
{% include "stock/location_navbar.html" with tab="stock" %}
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
|
|
<div class='panel panel-default panel-inventree'>
|
|
|
|
{% setting_object 'STOCK_OWNERSHIP_CONTROL' as owner_control %}
|
|
{% if owner_control.value == "True" %}
|
|
{% authorized_owners location.owner as owners %}
|
|
|
|
{% if location and not user in owners and not user.is_superuser %}
|
|
<div class='alert alert-block alert-info'>
|
|
{% trans "You are not in the list of owners of this location. This stock location cannot be edited." %}<br>
|
|
</div>
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
<div class='row'>
|
|
<div class='col-sm-6'>
|
|
{% if location %}
|
|
<h3>
|
|
{{ location.name }}
|
|
{% if user.is_staff and roles.stock_location.change %}
|
|
<a href="{% url 'admin:stock_stocklocation_change' location.pk %}"><span title="{% trans 'Admin view' %}" class='fas fa-user-shield'></span></a>
|
|
{% endif %}
|
|
</h3>
|
|
<p>{{ location.description }}</p>
|
|
{% else %}
|
|
<h3>{% trans "Stock" %}</h3>
|
|
<p>{% trans "All stock items" %}</p>
|
|
{% endif %}
|
|
<div class='btn-group action-buttons' role='group'>
|
|
{% if owner_control.value == "False" or owner_control.value == "True" and user in owners or user.is_superuser or not location %}
|
|
{% if roles.stock_location.add %}
|
|
<button class='btn btn-default' id='location-create' title='{% trans "Create new stock location" %}'>
|
|
<span class='fas fa-plus-circle icon-green'/>
|
|
</button>
|
|
{% endif %}
|
|
{% endif %}
|
|
{% if barcodes %}
|
|
<!-- Barcode actions menu -->
|
|
{% if location %}
|
|
<div class='btn-group'>
|
|
<button id='barcode-options' title='{% trans "Barcode actions" %}' class='btn btn-default dropdown-toggle' type='button' data-toggle='dropdown'><span class='fas fa-qrcode'></span> <span class='caret'></span></button>
|
|
<ul class='dropdown-menu' role='menu'>
|
|
<li><a href='#' id='show-qr-code'><span class='fas fa-qrcode'></span> {% trans "Show QR Code" %}</a></li>
|
|
<li><a href='#' id='print-label'><span class='fas fa-tag'></span> {% trans "Print Label" %}</a></li>
|
|
<li><a href='#' id='barcode-check-in'><span class='fas fa-arrow-right'></span> {% trans "Check-in Items" %}</a></li>
|
|
</ul>
|
|
</div>
|
|
<!-- Check permissions and owner -->
|
|
{% if owner_control.value == "False" or owner_control.value == "True" and user in owners or user.is_superuser %}
|
|
{% if roles.stock.change %}
|
|
<div class='btn-group'>
|
|
<button id='stock-actions' title='{% trans "Stock actions" %}' class='btn btn-default dropdown-toggle' type='button' data-toggle='dropdown'><span class='fas fa-boxes'></span> <span class='caret'></span></button>
|
|
<ul class='dropdown-menu' role='menu'>
|
|
<li><a href='#' id='location-count'><span class='fas fa-clipboard-list'></span>
|
|
{% trans "Count stock" %}</a></li>
|
|
</ul>
|
|
</div>
|
|
{% endif %}
|
|
{% if roles.stock_location.change %}
|
|
<div class='btn-group'>
|
|
<button id='location-actions' title='{% trans "Location actions" %}' class='btn btn-default dropdown-toggle' type='button' data-toggle="dropdown"><span class='fas fa-sitemap'></span> <span class='caret'></span></button>
|
|
<ul class='dropdown-menu' role='menu'>
|
|
<li><a href='#' id='location-edit'><span class='fas fa-edit icon-green'></span> {% trans "Edit location" %}</a></li>
|
|
{% if roles.stock.delete %}
|
|
<li><a href='#' id='location-delete'><span class='fas fa-trash-alt icon-red'></span> {% trans "Delete location" %}</a></li>
|
|
{% endif %}
|
|
</ul>
|
|
</div>
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
<div class='col-sm-6'>
|
|
{% if location %}
|
|
<h3>{% trans "Location Details" %}</h3>
|
|
<table class='table table-striped table-condensed'>
|
|
<col width='25'>
|
|
<tr>
|
|
<td><span class='fas fa-sitemap'></span></td>
|
|
<td>{% trans "Location Path" %}</td>
|
|
<td>{{ location.pathstring }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class='fas fa-info-circle'></span></td>
|
|
<td>{% trans "Location Description" %}</td>
|
|
<td>{{ location.description }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class='fas fa-map-marker-alt'></span></td>
|
|
<td>{% trans "Sublocations" %}</td>
|
|
<td>{{ location.children.count }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class='fas fa-boxes'></span></td>
|
|
<td>{% trans "Stock Items" %}</td>
|
|
<td>{{ location.item_count }}</td>
|
|
</tr>
|
|
</table>
|
|
{% else %}
|
|
<h3>{% trans "Stock Details" %}</h3>
|
|
<table class='table table-striped table-condensed'>
|
|
<col width='25'>
|
|
<tr>
|
|
<td><span class='fas fa-map-marker-alt'></span></td>
|
|
<td>{% trans "Stock Locations" %}</td>
|
|
<td>{{ loc_count }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class='fas fa-boxes'></span></td>
|
|
<td>{% trans "Stock Items" %}</td>
|
|
<td>{{ stock_count }}</td>
|
|
</tr>
|
|
</table>
|
|
{% endif %}
|
|
</div>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
|
|
{% block location_content %}
|
|
|
|
<div class='panel panel-default panel-inventree'>
|
|
<div class='panel-heading'>
|
|
<h4>{% trans "Stock Items" %}</h4>
|
|
</div>
|
|
{% include "stock_table.html" %}
|
|
</div>
|
|
|
|
{% endblock %}
|
|
|
|
</div>
|
|
|
|
{% endblock %}
|
|
|
|
{% block js_ready %}
|
|
{{ block.super }}
|
|
|
|
enableNavbar({
|
|
label: 'location',
|
|
toggleId: '#location-menu-toggle'
|
|
});
|
|
|
|
{% if location %}
|
|
$("#barcode-check-in").click(function() {
|
|
barcodeCheckIn({{ location.id }});
|
|
});
|
|
{% endif %}
|
|
|
|
$("#stock-export").click(function() {
|
|
launchModalForm("{% url 'stock-export-options' %}", {
|
|
submit_text: '{% trans "Export" %}',
|
|
success: function(response) {
|
|
var url = "{% url 'stock-export' %}";
|
|
|
|
url += "?format=" + response.format;
|
|
url += "&cascade=" + response.cascade;
|
|
|
|
{% if location %}
|
|
url += "&location={{ location.id }}";
|
|
{% endif %}
|
|
|
|
location.href = url;
|
|
}
|
|
});
|
|
});
|
|
|
|
$('#location-create').click(function () {
|
|
launchModalForm("{% url 'stock-location-create' %}",
|
|
{
|
|
data: {
|
|
{% if location %}
|
|
location: {{ location.id }}
|
|
{% endif %}
|
|
},
|
|
follow: true,
|
|
secondary: [
|
|
{
|
|
field: 'parent',
|
|
label: '{% trans "New Location" %}',
|
|
title: '{% trans "Create new location" %}',
|
|
url: "{% url 'stock-location-create' %}",
|
|
},
|
|
]
|
|
});
|
|
return false;
|
|
});
|
|
|
|
{% if location %}
|
|
$('#location-edit').click(function() {
|
|
launchModalForm("{% url 'stock-location-edit' location.id %}",
|
|
{
|
|
reload: true
|
|
});
|
|
return false;
|
|
});
|
|
|
|
$('#location-delete').click(function() {
|
|
launchModalForm("{% url 'stock-location-delete' location.id %}",
|
|
{
|
|
redirect: "{% url 'stock-index' %}"
|
|
});
|
|
return false;
|
|
});
|
|
|
|
{% if location %}
|
|
$("#location-count").click(function() {
|
|
launchModalForm("/stock/adjust/", {
|
|
data: {
|
|
action: "count",
|
|
location: {{ location.id }},
|
|
reload: true,
|
|
}
|
|
});
|
|
});
|
|
|
|
$('#print-label').click(function() {
|
|
|
|
var locs = [{{ location.pk }}];
|
|
|
|
printStockLocationLabels(locs);
|
|
|
|
});
|
|
|
|
{% endif %}
|
|
|
|
$('#show-qr-code').click(function() {
|
|
launchModalForm("{% url 'stock-location-qr' location.id %}",
|
|
{
|
|
no_post: true,
|
|
});
|
|
});
|
|
|
|
{% endif %}
|
|
|
|
$('#item-create').click(function () {
|
|
createNewStockItem({
|
|
follow: true,
|
|
data: {
|
|
{% if location %}
|
|
location: {{ location.id }}
|
|
{% endif %}
|
|
}
|
|
});
|
|
});
|
|
|
|
loadStockTable($("#stock-table"), {
|
|
buttons: [
|
|
'#stock-options',
|
|
],
|
|
params: {
|
|
{% if location %}
|
|
location: {{ location.pk }},
|
|
{% endif %}
|
|
part_detail: true,
|
|
location_detail: true,
|
|
},
|
|
url: "{% url 'api-stock-list' %}",
|
|
});
|
|
{% endblock %}
|