Allow editing of extra line items in order table (#3888)

* Allow editing of extra line items in order table

* Allow addition of extra line items even if order is not "pending"

* Allow addition and editing of extra line items for sales orders

* javascript linting
This commit is contained in:
Oliver 2022-11-02 07:32:14 +11:00 committed by GitHub
parent db45b6f9dc
commit c7a2def353
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 29 additions and 39 deletions

View File

@ -48,7 +48,7 @@
<h4>{% trans "Extra Lines" %}</h4> <h4>{% trans "Extra Lines" %}</h4>
{% include "spacer.html" %} {% include "spacer.html" %}
<div class='btn-group' role='group'> <div class='btn-group' role='group'>
{% if roles.purchase_order.change and order.status == PurchaseOrderStatus.PENDING %} {% if roles.purchase_order.change %}
<button type='button' class='btn btn-success' id='new-po-extra-line'> <button type='button' class='btn btn-success' id='new-po-extra-line'>
<span class='fas fa-plus-circle'></span> {% trans "Add Extra Line" %} <span class='fas fa-plus-circle'></span> {% trans "Add Extra Line" %}
</button> </button>

View File

@ -42,7 +42,7 @@
<h4>{% trans "Extra Lines" %}</h4> <h4>{% trans "Extra Lines" %}</h4>
{% include "spacer.html" %} {% include "spacer.html" %}
<div class='btn-group' role='group'> <div class='btn-group' role='group'>
{% if roles.sales_order.change and order.is_pending %} {% if roles.sales_order.change %}
<button type='button' class='btn btn-success' id='new-so-extra-line'> <button type='button' class='btn btn-success' id='new-so-extra-line'>
<span class='fas fa-plus-circle'></span> {% trans "Add Extra Line" %} <span class='fas fa-plus-circle'></span> {% trans "Add Extra Line" %}
</button> </button>

View File

@ -2473,9 +2473,6 @@ function loadPurchaseOrderExtraLineTable(table, options={}) {
setupFilterList('purchaseorderextraline', $(table), filter_target); setupFilterList('purchaseorderextraline', $(table), filter_target);
// Is the order pending?
var pending = options.status == {{ SalesOrderStatus.PENDING }};
// Table columns to display // Table columns to display
var columns = [ var columns = [
{ {
@ -2555,26 +2552,24 @@ function loadPurchaseOrderExtraLineTable(table, options={}) {
title: '{% trans "Notes" %}', title: '{% trans "Notes" %}',
}); });
if (pending) { columns.push({
columns.push({ field: 'buttons',
field: 'buttons', switchable: false,
switchable: false, formatter: function(value, row, index, field) {
formatter: function(value, row, index, field) {
var html = `<div class='btn-group float-right' role='group'>`; var html = `<div class='btn-group float-right' role='group'>`;
var pk = row.pk; var pk = row.pk;
html += makeIconButton('fa-clone', 'button-duplicate', pk, '{% trans "Duplicate line" %}'); html += makeIconButton('fa-clone', 'button-duplicate', pk, '{% trans "Duplicate line" %}');
html += makeIconButton('fa-edit icon-blue', 'button-edit', pk, '{% trans "Edit line" %}'); html += makeIconButton('fa-edit icon-blue', 'button-edit', pk, '{% trans "Edit line" %}');
html += makeIconButton('fa-trash-alt icon-red', 'button-delete', pk, '{% trans "Delete line" %}', ); html += makeIconButton('fa-trash-alt icon-red', 'button-delete', pk, '{% trans "Delete line" %}', );
html += `</div>`; html += `</div>`;
return html; return html;
} }
}); });
}
function reloadTable() { function reloadTable() {
$(table).bootstrapTable('refresh'); $(table).bootstrapTable('refresh');
@ -4320,9 +4315,6 @@ function loadSalesOrderExtraLineTable(table, options={}) {
setupFilterList('salesorderextraline', $(table), filter_target); setupFilterList('salesorderextraline', $(table), filter_target);
// Is the order pending?
var pending = options.status == {{ SalesOrderStatus.PENDING }};
// Table columns to display // Table columns to display
var columns = [ var columns = [
{ {
@ -4402,26 +4394,24 @@ function loadSalesOrderExtraLineTable(table, options={}) {
title: '{% trans "Notes" %}', title: '{% trans "Notes" %}',
}); });
if (pending) { columns.push({
columns.push({ field: 'buttons',
field: 'buttons', switchable: false,
switchable: false, formatter: function(value, row, index, field) {
formatter: function(value, row, index, field) {
var html = `<div class='btn-group float-right' role='group'>`; var html = `<div class='btn-group float-right' role='group'>`;
var pk = row.pk; var pk = row.pk;
html += makeIconButton('fa-clone', 'button-duplicate', pk, '{% trans "Duplicate line" %}'); html += makeIconButton('fa-clone', 'button-duplicate', pk, '{% trans "Duplicate line" %}');
html += makeIconButton('fa-edit icon-blue', 'button-edit', pk, '{% trans "Edit line" %}'); html += makeIconButton('fa-edit icon-blue', 'button-edit', pk, '{% trans "Edit line" %}');
html += makeIconButton('fa-trash-alt icon-red', 'button-delete', pk, '{% trans "Delete line" %}', ); html += makeIconButton('fa-trash-alt icon-red', 'button-delete', pk, '{% trans "Delete line" %}', );
html += `</div>`; html += `</div>`;
return html; return html;
} }
}); });
}
function reloadTable() { function reloadTable() {
$(table).bootstrapTable('refresh'); $(table).bootstrapTable('refresh');

View File

@ -15,4 +15,4 @@ INVENTREE_DB_USER=pguser
INVENTREE_DB_PASSWORD=pgpassword INVENTREE_DB_PASSWORD=pgpassword
# Enable plugins? # Enable plugins?
INVENTREE_PLUGINS_ENABLED=True INVENTREE_PLUGINS_ENABLED=False