diff --git a/bin/backend/controls/articles/ArticleList.js b/bin/backend/controls/articles/ArticleList.js index 4f408f9dcbad739aa1f01fc9e9be46b46b041ac9..35df93882d7123074bb25d48dfd35bc5e659a36a 100644 --- a/bin/backend/controls/articles/ArticleList.js +++ b/bin/backend/controls/articles/ArticleList.js @@ -184,6 +184,15 @@ define('package/quiqqer/erp/bin/backend/controls/articles/ArticleList', [ return this.$articles; }, + /** + * Return the articles count + * + * @returns {number} + */ + count: function () { + return this.$articles.length; + }, + /** * Unserialize the list * @@ -196,7 +205,7 @@ define('package/quiqqer/erp/bin/backend/controls/articles/ArticleList', [ unserialize: function (list) { const self = this; let data = {}; - + if (typeOf(list) === 'string') { try { data = JSON.stringify(list); @@ -511,7 +520,23 @@ define('package/quiqqer/erp/bin/backend/controls/articles/ArticleList', [ * @param priceFactor */ addPriceFactor: function (priceFactor) { - this.$priceFactors.push(priceFactor); + const prio = priceFactor.index; + + if (prio === this.$priceFactors.length) { + this.$priceFactors.push(priceFactor); + return; + } + + this.$priceFactors.splice(prio, 0, priceFactor); + }, + + /** + * Return the articles count + * + * @returns {number} + */ + countPriceFactors: function () { + return this.$priceFactors.length; }, /** diff --git a/locale.xml b/locale.xml index adf7548303d57743feba82256907828fa26dc556..62beddf0bd1008a8b7b072b30a46bcb8a590515d 100644 --- a/locale.xml +++ b/locale.xml @@ -1355,6 +1355,15 @@ Allowed characters: Letters, numbers and _ ä ö ü ß]]></en> <en><![CDATA[Vat]]></en> </locale> + <locale name="add.pricefactor.button"> + <de><![CDATA[Preisfaktor hinzufügen]]></de> + <en><![CDATA[Add pricefactor]]></en> + </locale> + <locale name="message.pricefactor.empty"> + <de><![CDATA[Keine Preisfaktoren vorhanden]]></de> + <en><![CDATA[No price factors available]]></en> + </locale> + </groups> </locales>