Add ability to create a new extra line item

This commit is contained in:
Oliver 2023-03-16 16:21:14 +11:00
parent 153b9c0abe
commit 55b835f49e
3 changed files with 141 additions and 122 deletions

View File

@ -146,30 +146,32 @@
);
});
enableDragAndDrop(
'#attachment-dropzone',
'{% url "api-po-attachment-list" %}',
{
data: {
order: {{ order.id }},
},
label: 'attachment',
success: function(data, status, xhr) {
$('#attachment-table').bootstrapTable('refresh');
onPanelLoad('order-attachments', function() {
enableDragAndDrop(
'#attachment-dropzone',
'{% url "api-po-attachment-list" %}',
{
data: {
order: {{ order.id }},
},
label: 'attachment',
success: function(data, status, xhr) {
$('#attachment-table').bootstrapTable('refresh');
}
}
}
);
);
loadAttachmentTable('{% url "api-po-attachment-list" %}', {
filters: {
order: {{ order.pk }},
},
fields: {
order: {
value: {{ order.pk }},
hidden: true,
loadAttachmentTable('{% url "api-po-attachment-list" %}', {
filters: {
order: {{ order.pk }},
},
fields: {
order: {
value: {{ order.pk }},
hidden: true,
}
}
}
});
});
loadStockTable($("#stock-table"), {
@ -219,60 +221,62 @@ $('#new-po-line').click(function() {
{% endif %}
loadPurchaseOrderLineItemTable('#po-line-table', {
order: {{ order.pk }},
{% if order.supplier %}
supplier: {{ order.supplier.pk }},
{% endif %}
{% if roles.purchase_order.change %}
allow_edit: true,
{% else %}
allow_edit: false,
{% endif %}
{% if order.status == PurchaseOrderStatus.PENDING %}
pending: true,
{% endif %}
{% if order.status == PurchaseOrderStatus.PLACED and roles.purchase_order.change %}
allow_receive: true,
{% else %}
allow_receive: false,
{% endif %}
});
$("#new-po-extra-line").click(function() {
var fields = extraLineFields({
onPanelLoad('order-items', function() {
loadPurchaseOrderLineItemTable('#po-line-table', {
order: {{ order.pk }},
{% if order.supplier %}
supplier: {{ order.supplier.pk }},
{% endif %}
{% if roles.purchase_order.change %}
allow_edit: true,
{% else %}
allow_edit: false,
{% endif %}
{% if order.status == PurchaseOrderStatus.PENDING %}
pending: true,
{% endif %}
{% if order.status == PurchaseOrderStatus.PLACED and roles.purchase_order.change %}
allow_receive: true,
{% else %}
allow_receive: false,
{% endif %}
});
{% if order.supplier.currency %}
fields.price_currency.value = '{{ order.supplier.currency }}';
{% endif %}
$("#new-po-extra-line").click(function() {
constructForm('{% url "api-po-extra-line-list" %}', {
fields: fields,
method: 'POST',
title: '{% trans "Add Order Line" %}',
onSuccess: function() {
$("#po-extra-lines-table").bootstrapTable("refresh");
},
var fields = extraLineFields({
order: {{ order.pk }},
});
{% if order.supplier.currency %}
fields.price_currency.value = '{{ order.supplier.currency }}';
{% endif %}
constructForm('{% url "api-po-extra-line-list" %}', {
fields: fields,
method: 'POST',
title: '{% trans "Add Order Line" %}',
onSuccess: function() {
$("#po-extra-lines-table").bootstrapTable("refresh");
},
});
});
});
loadExtraLineTable({
table: '#po-extra-lines-table',
order: {{ order.pk }},
url: '{% url "api-po-extra-line-list" %}',
name: 'purchaseorderextraline',
filtertarget: '#filter-list-purchase-order-extra-lines',
{% settings_value "PURCHASEORDER_EDIT_COMPLETED_ORDERS" as allow_edit %}
{% if order.is_pending or allow_edit %}
allow_edit: {% js_bool roles.purchase_order.change %},
allow_delete: {% js_bool roles.purchase_order.delete %},
{% else %}
allow_edit: false,
allow_delete: false,
{% endif %}
loadExtraLineTable({
table: '#po-extra-lines-table',
order: {{ order.pk }},
url: '{% url "api-po-extra-line-list" %}',
name: 'purchaseorderextraline',
filtertarget: '#filter-list-purchase-order-extra-lines',
{% settings_value "PURCHASEORDER_EDIT_COMPLETED_ORDERS" as allow_edit %}
{% if order.is_pending or allow_edit %}
allow_edit: {% js_bool roles.purchase_order.change %},
allow_delete: {% js_bool roles.purchase_order.delete %},
{% else %}
allow_edit: false,
allow_delete: false,
{% endif %}
});
});
loadOrderTotal(

View File

@ -102,7 +102,18 @@ onPanelLoad('order-details', function() {
});
$('#new-return-order-extra-line').click(function() {
// TODO: Create new return order extra line item
let fields = extraLineFields({
order: {{ order.pk }},
});
constructForm('{% url "api-return-order-extra-line-list" %}', {
fields: fields,
method: 'POST',
title: '{% trans "Add Extra Line" %}',
onSuccess: function() {
$("#return-order-extra-lines-table").bootstrapTable('refresh');
}
});
});
});

View File

@ -244,66 +244,70 @@
},
});
$("#new-so-line").click(function() {
createSalesOrderLineItem({
order: {{ order.pk }},
onSuccess: function() {
$("#so-lines-table").bootstrapTable("refresh");
onPanelLoad('order-items', function() {
$("#new-so-line").click(function() {
createSalesOrderLineItem({
order: {{ order.pk }},
onSuccess: function() {
$("#so-lines-table").bootstrapTable("refresh");
}
});
// Create a new SalesOrderLine item
var fields = soLineItemFields({
order: {{ order.pk }},
});
});
loadSalesOrderLineItemTable(
'#so-lines-table',
{
order: {{ order.pk }},
reference: '{{ order.reference }}',
status: {{ order.status }},
{% if roles.sales_order.change %}
allow_edit: true,
{% endif %}
{% if order.is_pending %}
pending: true,
{% endif %}
}
);
$("#new-so-extra-line").click(function() {
var fields = extraLineFields({
order: {{ order.pk }},
});
constructForm('{% url "api-so-extra-line-list" %}', {
fields: fields,
method: 'POST',
title: '{% trans "Add Extra Line" %}',
onSuccess: function() {
$("#so-extra-lines-table").bootstrapTable("refresh");
},
});
});
// Create a new SalesOrderLine item
var fields = soLineItemFields({
loadExtraLineTable({
order: {{ order.pk }},
});
});
loadSalesOrderLineItemTable(
'#so-lines-table',
{
order: {{ order.pk }},
reference: '{{ order.reference }}',
status: {{ order.status }},
{% if roles.sales_order.change %}
allow_edit: true,
table: '#so-extra-lines-table',
url: '{% url "api-so-extra-line-list" %}',
name: 'salesorderextraline',
filtertarget: '#filter-list-sales-order-extra-lines',
{% settings_value "SALESORDER_EDIT_COMPLETED_ORDERS" as allow_edit %}
{% if order.is_pending or allow_edit %}
allow_edit: {% js_bool roles.sales_order.change %},
allow_delete: {% js_bool roles.sales_order.delete %},
{% else %}
allow_edit: false,
allow_delete: false,
{% endif %}
{% if order.is_pending %}
pending: true,
{% endif %}
}
);
$("#new-so-extra-line").click(function() {
var fields = extraLineFields({
order: {{ order.pk }},
});
constructForm('{% url "api-so-extra-line-list" %}', {
fields: fields,
method: 'POST',
title: '{% trans "Add Extra Line" %}',
onSuccess: function() {
$("#so-extra-lines-table").bootstrapTable("refresh");
},
});
});
loadExtraLineTable({
order: {{ order.pk }},
table: '#so-extra-lines-table',
url: '{% url "api-so-extra-line-list" %}',
name: 'salesorderextraline',
filtertarget: '#filter-list-sales-order-extra-lines',
{% settings_value "SALESORDER_EDIT_COMPLETED_ORDERS" as allow_edit %}
{% if order.is_pending or allow_edit %}
allow_edit: {% js_bool roles.sales_order.change %},
allow_delete: {% js_bool roles.sales_order.delete %},
{% else %}
allow_edit: false,
allow_delete: false,
{% endif %}
});
loadOrderTotal(
'#soTotalPrice',