Add "return orders" list to company detail page

This commit is contained in:
Oliver Walters 2023-03-14 23:25:31 +11:00
parent 7e43b69ae9
commit ec03e0cc22
5 changed files with 86 additions and 64 deletions

View File

@ -138,6 +138,8 @@
</div>
</div>
{% if company.is_customer %}
{% if roles.sales_order.view %}
<div class='panel panel-hidden' id='panel-sales-orders'>
<div class='panel-heading'>
<div class='d-flex flex-wrap'>
@ -163,8 +165,9 @@
</table>
</div>
</div>
{% endif %}
{% if company.is_customer %}
{% if roles.stock.view %}
<div class='panel panel-hidden' id='panel-assigned-stock'>
<div class='panel-heading'>
<h4>{% trans "Assigned Stock" %}</h4>
@ -181,6 +184,42 @@
</div>
{% endif %}
{% if roles.return_order.view %}
<div class='panel panel-hidden' id='panel-return-orders'>
<div class='panel-heading'>
<div class='d-flex flex-wrap'>
<h4>{% trans "Return Orders" %}</h4>
{% include "spacer.html" %}
<div class='btn-group' role='group'>
{% if roles.return_order.add %}
<button class='btn btn-success' type='button' id='new-return-order' title='{% trans "Create new return order" %}'>
<div class='fas fa-plus-circle'></div> {% trans "New Return Order" %}
</button>
{% endif %}
</div>
</div>
</div>
<div class='panel-content'>
<div id='table-buttons'>
<div class='button-toolbar container-fluid' style='float: right;'>
<div class='btn-group'>
{% if report_enabled %}
<button id='order-print' class='btn btn-outline-secondary' title='{% trans "Print Order Reports" %}'>
<span class='fas fa-print'></span>
</button>
{% endif %}
{% include "filter_list.html" with id="returnorder" %}
</div>
</div>
</div>
<table class='table table-striped table-condensed' data-toolbar='#table-buttons' id='return-order-table'>
</table>
</div>
</div>
{% endif %}
{% endif %}
<div class='panel panel-hidden' id='panel-company-notes'>
<div class='panel-heading'>
<div class='d-flex flex-wrap'>
@ -301,22 +340,6 @@
);
});
{% if company.is_customer %}
// Callback function when the 'assigned stock' panel is loaded
onPanelLoad('assigned-stock', function() {
loadStockTable($("#assigned-stock-table"), {
params: {
customer: {{ company.id }},
part_detail: true,
location_detail: true,
},
url: "{% url 'api-stock-list' %}",
filterKey: "customerstock",
filterTarget: '#filter-list-customerstock',
});
});
{% endif %}
onPanelLoad('company-stock', function() {
loadStockTable($('#stock-table'), {
@ -335,20 +358,63 @@
});
{% if company.is_customer %}
// Callback function when the 'return orders' panel is loaded
onPanelLoad('return-orders', function() {
{% if roles.return_order.view %}
loadReturnOrderTable('#return-order-table', {
params: {
customer: {{ company.pk }},
}
});
{% endif %}
{% if roles.return_order.add %}
$('#new-return-order').click(function() {
createReturnOrder({
customer: {{ company.pk }},
});
});
{% endif %}
});
// Callback function when the 'assigned stock' panel is loaded
onPanelLoad('assigned-stock', function() {
{% if roles.stock.view %}
loadStockTable($("#assigned-stock-table"), {
params: {
customer: {{ company.id }},
part_detail: true,
location_detail: true,
},
url: "{% url 'api-stock-list' %}",
filterKey: "customerstock",
filterTarget: '#filter-list-customerstock',
});
{% endif %}
});
// Callback function when the 'sales orders' panel is loaded
onPanelLoad('sales-orders', function() {
{% if roles.sales_order.view %}
loadSalesOrderTable("#sales-order-table", {
url: "{% url 'api-so-list' %}",
params: {
customer: {{ company.id }},
}
});
{% endif %}
{% if roles.salse_order.add %}
$("#new-sales-order").click(function() {
createSalesOrder({
customer: {{ company.pk }},
});
});
{% endif %}
});
{% endif %}

View File

@ -21,6 +21,8 @@
{% include "sidebar_item.html" with label='sales-orders' text=text icon="fa-truck" %}
{% trans "Assigned Stock Items" as text %}
{% include "sidebar_item.html" with label='assigned-stock' text=text icon="fa-sign-out-alt" %}
{% trans "Return Orders" as text %}
{% include "sidebar_item.html" with label='return-orders' text=text icon="fa-undo" %}
{% endif %}
{% trans "Contacts" as text %}
{% include "sidebar_item.html" with label='company-contacts' text=text icon="fa-users" %}

View File

@ -51,8 +51,7 @@
{% block js_ready %}
{{ block.super }}
loadReturnOrderTable('#return-order-table', {
});
loadReturnOrderTable('#return-order-table', {});
{% if report_enabled %}
<!-- TODO: report button callbacks -->

View File

@ -20,34 +20,8 @@
*/
/* exported
allocateStockToSalesOrder,
cancelPurchaseOrder,
cancelSalesOrder,
completePurchaseOrder,
completeSalesOrder,
completeSalesOrderShipment,
completePendingShipments,
createPurchaseOrder,
createPurchaseOrderLineItem,
createReturnOrder,
createSalesOrder,
createSalesOrderLineItem,
createSalesOrderShipment,
duplicatePurchaseOrder,
editPurchaseOrder,
editPurchaseOrderLineItem,
editSalesOrder,
exportOrder,
issuePurchaseOrder,
loadPurchaseOrderLineItemTable,
loadPurchaseOrderExtraLineTable
loadPurchaseOrderTable,
loadReturnOrderTable,
loadSalesOrderAllocationTable,
loadSalesOrderLineItemTable,
loadSalesOrderExtraLineTable
loadSalesOrderShipmentTable,
loadSalesOrderTable,
newPurchaseOrderFromOrderWizard,
newSupplierPartFromOrderWizard,
orderParts,

View File

@ -20,41 +20,22 @@
*/
/* exported
allocateStockToSalesOrder,
cancelPurchaseOrder,
cancelSalesOrder,
completePurchaseOrder,
completeSalesOrder,
completeSalesOrderShipment,
completePendingShipments,
createPurchaseOrder,
createPurchaseOrderLineItem,
createReturnOrder,
createSalesOrder,
createSalesOrderLineItem,
createSalesOrderShipment,
duplicatePurchaseOrder,
editPurchaseOrder,
editPurchaseOrderLineItem,
editSalesOrder,
exportOrder,
issuePurchaseOrder,
loadPurchaseOrderLineItemTable,
loadPurchaseOrderExtraLineTable
loadPurchaseOrderTable,
loadReturnOrderTable,
loadSalesOrderAllocationTable,
loadSalesOrderLineItemTable,
loadSalesOrderExtraLineTable
loadSalesOrderShipmentTable,
loadSalesOrderTable,
newPurchaseOrderFromOrderWizard,
newSupplierPartFromOrderWizard,
orderParts,
removeOrderRowFromOrderWizard,
removePurchaseOrderLineItem,
loadOrderTotal,
extraLineFields,
*/