InvenTree/InvenTree/part/templates/part/category.html

183 lines
5.2 KiB
HTML

{% extends "part/part_app_base.html" %}
{% load static %}
{% block content %}
<div class='row'>
<div class='col-sm-6'>
{% if category %}
<h3>{{ category.name }}</h3>
<p>{{ category.description }}</p>
{% else %}
<h3>Parts</h3>
{% endif %}
</div>
<div class='col-sm-6'>
<h3>
<div style='float: right;'>
<button class='btn btn-success' id='cat-create'>New Category</button>
{% if category %}
<div class="dropdown" style="float: right;">
<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">
Options
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#" id='cat-edit' title='Edit part category'>Edit</a></li>
<li><a href="#" id='cat-delete' title='Delete part category'>Delete</a></li>
</ul>
</div>
{% endif %}
</div>
</h3>
</div>
</div>
{% if category %}
{% include "part/subcategories.html" with children=category.children.all %}
{% else %}
{% include "part/subcategories.html" with children=children %}
{% endif %}
<hr>
<table class='table table-striped table-condensed' id='part-table'>
</table>
<div>
<button style='float: right;' class='btn btn-success' id='part-create'>New Part</button>
</div>
{% endblock %}
{% block js_load %}
{{ block.super }}
<script type='text/javacript' src="{% static 'script/inventree/stock.js' %}"></script>
{% endblock %}
{% block js_ready %}
{{ block.super }}
$("#cat-create").click(function() {
launchModalForm(
"{% url 'category-create' %}",
{
follow: true,
{% if category %}
data: {
category: {{ category.id }}
}
{% endif %}
});
})
$("#part-create").click(function() {
launchModalForm(
"{% url 'part-create' %}",
{
follow: true,
data: {
{% if category %}
category: {{ category.id }}
{% endif %}
}
});
});
{% if category %}
$("#cat-edit").click(function () {
launchModalForm(
"{% url 'category-edit' category.id %}",
{
reload: true
},
);
return false;
});
{% if category.parent %}
var redirect = "{% url 'category-detail' category.parent.id %}";
{% else %}
var redirect = "{% url 'part-index' %}";
{% endif %}
$('#cat-delete').click(function() {
launchDeleteForm("{% url 'category-delete' category.id %}",
{
redirect: redirect
});
});
{% endif %}
$("#part-table").bootstrapTable({
sortable: true,
search: true,
sortName: 'description',
idField: 'pk',
method: 'get',
pagination: true,
rememberOrder: true,
{% if category %}
queryParams: function(p) {
return {
{% if category %}
category: {{ category.id }},
include_child_categories: true,
{% endif %}
}
},
{% endif %}
columns: [
{
checkbox: true,
title: 'Select',
searchable: false,
},
{
field: 'pk',
title: 'ID',
visible: false,
},
{
field: 'name',
title: 'Part',
sortable: true,
formatter: function(value, row, index, field) {
return renderLink(value, row.url);
}
},
{
sortable: true,
field: 'description',
title: 'Description',
},
{
sortable: true,
field: 'category_name',
title: 'Category',
formatter: function(value, row, index, field) {
if (row.category) {
return renderLink(row.category_name, "/part/category/" + row.category + "/");
}
else {
return '';
}
}
},
{
field: 'total_stock',
title: 'Stock',
searchable: false,
sortable: true,
formatter: function(value, row, index, field) {
if (value) {
return renderLink(value, row.url + 'stock/');
}
else {
return "<span class='label label-warning'>No stock</span>";
}
}
}
],
url: "{% url 'api-part-list' %}",
});
{% endblock %}