diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py new file mode 100644 index 0000000000..7851efd8dd --- /dev/null +++ b/InvenTree/InvenTree/api_version.py @@ -0,0 +1,149 @@ +""" +InvenTree API version information +""" + + +# InvenTree API version +INVENTREE_API_VERSION = 40 + +""" +Increment this API version number whenever there is a significant change to the API that any clients need to know about + +v40 -> 2022-04-19 + - Adds ability to filter StockItem list by "tracked" parameter + - This checks the serial number or batch code fields + +v39 -> 2022-04-18 + - Adds ability to filter StockItem list by "has_batch" parameter + +v38 -> 2022-04-14 : https://github.com/inventree/InvenTree/pull/2828 + - Adds the ability to include stock test results for "installed items" + +v37 -> 2022-04-07 : https://github.com/inventree/InvenTree/pull/2806 + - Adds extra stock availability information to the BomItem serializer + +v36 -> 2022-04-03 + - Adds ability to filter part list endpoint by unallocated_stock argument + +v35 -> 2022-04-01 : https://github.com/inventree/InvenTree/pull/2797 + - Adds stock allocation information to the Part API + - Adds calculated field for "unallocated_quantity" + +v34 -> 2022-03-25 + - Change permissions for "plugin list" API endpoint (now allows any authenticated user) + +v33 -> 2022-03-24 + - Adds "plugins_enabled" information to root API endpoint + +v32 -> 2022-03-19 + - Adds "parameters" detail to Part API endpoint (use ¶meters=true) + - Adds ability to filter PartParameterTemplate API by Part instance + - Adds ability to filter PartParameterTemplate API by PartCategory instance + +v31 -> 2022-03-14 + - Adds "updated" field to SupplierPriceBreakList and SupplierPriceBreakDetail API endpoints + +v30 -> 2022-03-09 + - Adds "exclude_location" field to BuildAutoAllocation API endpoint + - Allows BuildItem API endpoint to be filtered by BomItem relation + +v29 -> 2022-03-08 + - Adds "scheduling" endpoint for predicted stock scheduling information + +v28 -> 2022-03-04 + - Adds an API endpoint for auto allocation of stock items against a build order + - Ref: https://github.com/inventree/InvenTree/pull/2713 + +v27 -> 2022-02-28 + - Adds target_date field to individual line items for purchase orders and sales orders + +v26 -> 2022-02-17 + - Adds API endpoint for uploading a BOM file and extracting data + +v25 -> 2022-02-17 + - Adds ability to filter "part" list endpoint by "in_bom_for" argument + +v24 -> 2022-02-10 + - Adds API endpoint for deleting (cancelling) build order outputs + +v23 -> 2022-02-02 + - Adds API endpoints for managing plugin classes + - Adds API endpoints for managing plugin settings + +v22 -> 2021-12-20 + - Adds API endpoint to "merge" multiple stock items + +v21 -> 2021-12-04 + - Adds support for multiple "Shipments" against a SalesOrder + - Refactors process for stock allocation against a SalesOrder + +v20 -> 2021-12-03 + - Adds ability to filter POLineItem endpoint by "base_part" + - Adds optional "order_detail" to POLineItem list endpoint + +v19 -> 2021-12-02 + - Adds the ability to filter the StockItem API by "part_tree" + - Returns only stock items which match a particular part.tree_id field + +v18 -> 2021-11-15 + - Adds the ability to filter BomItem API by "uses" field + - This returns a list of all BomItems which "use" the specified part + - Includes inherited BomItem objects + +v17 -> 2021-11-09 + - Adds API endpoints for GLOBAL and USER settings objects + - Ref: https://github.com/inventree/InvenTree/pull/2275 + +v16 -> 2021-10-17 + - Adds API endpoint for completing build order outputs + +v15 -> 2021-10-06 + - Adds detail endpoint for SalesOrderAllocation model + - Allows use of the API forms interface for adjusting SalesOrderAllocation objects + +v14 -> 2021-10-05 + - Stock adjustment actions API is improved, using native DRF serializer support + - However adjustment actions now only support 'pk' as a lookup field + +v13 -> 2021-10-05 + - Adds API endpoint to allocate stock items against a BuildOrder + - Updates StockItem API with improved filtering against BomItem data + +v12 -> 2021-09-07 + - Adds API endpoint to receive stock items against a PurchaseOrder + +v11 -> 2021-08-26 + - Adds "units" field to PartBriefSerializer + - This allows units to be introspected from the "part_detail" field in the StockItem serializer + +v10 -> 2021-08-23 + - Adds "purchase_price_currency" to StockItem serializer + - Adds "purchase_price_string" to StockItem serializer + - Purchase price is now writable for StockItem serializer + +v9 -> 2021-08-09 + - Adds "price_string" to part pricing serializers + +v8 -> 2021-07-19 + - Refactors the API interface for SupplierPart and ManufacturerPart models + - ManufacturerPart objects can no longer be created via the SupplierPart API endpoint + +v7 -> 2021-07-03 + - Introduced the concept of "API forms" in https://github.com/inventree/InvenTree/pull/1716 + - API OPTIONS endpoints provide comprehensive field metedata + - Multiple new API endpoints added for database models + +v6 -> 2021-06-23 + - Part and Company images can now be directly uploaded via the REST API + +v5 -> 2021-06-21 + - Adds API interface for manufacturer part parameters + +v4 -> 2021-06-01 + - BOM items can now accept "variant stock" to be assigned against them + - Many slight API tweaks were needed to get this to work properly! + +v3 -> 2021-05-22: + - The updated StockItem "history tracking" now uses a different interface + +""" diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index 9688f90c12..5b3d2eb8d8 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -282,6 +282,7 @@ INSTALLED_APPS = [ MIDDLEWARE = CONFIG.get('middleware', [ 'django.middleware.security.SecurityMiddleware', + 'x_forwarded_for.middleware.XForwardedForMiddleware', 'user_sessions.middleware.SessionMiddleware', # db user sessions 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', @@ -662,11 +663,13 @@ LANGUAGE_CODE = CONFIG.get('language', 'en-us') # If a new language translation is supported, it must be added here LANGUAGES = [ + ('cs', _('Czech')), ('de', _('German')), ('el', _('Greek')), ('en', _('English')), ('es', _('Spanish')), ('es-mx', _('Spanish (Mexican)')), + ('fa', _('Farsi / Persian')), ('fr', _('French')), ('he', _('Hebrew')), ('hu', _('Hungarian')), diff --git a/InvenTree/InvenTree/static/script/jquery-ui/jquery-ui.js b/InvenTree/InvenTree/static/script/jquery-ui/jquery-ui.js index aa871b2a59..bfed42f715 100644 --- a/InvenTree/InvenTree/static/script/jquery-ui/jquery-ui.js +++ b/InvenTree/InvenTree/static/script/jquery-ui/jquery-ui.js @@ -1,4 +1,4 @@ -/*! jQuery UI - v1.12.1 - 2021-07-18 +/*! jQuery UI - v1.13.0 - 2021-10-07 * http://jqueryui.com * Includes: widget.js, position.js, disable-selection.js, keycode.js, unique-id.js, widgets/resizable.js, widgets/autocomplete.js, widgets/menu.js, widgets/mouse.js * Copyright jQuery Foundation and other contributors; Licensed MIT */ @@ -17,11 +17,11 @@ $.ui = $.ui || {}; -var version = $.ui.version = "1.12.1"; +var version = $.ui.version = "1.13.1"; /*! - * jQuery UI Widget 1.12.1 + * jQuery UI Widget 1.13.0 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors @@ -744,7 +744,7 @@ var widget = $.widget; /*! - * jQuery UI Position 1.12.1 + * jQuery UI Position 1.13.1 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors @@ -1232,7 +1232,7 @@ var position = $.ui.position; /*! - * jQuery UI Disable Selection 1.12.1 + * jQuery UI Disable Selection 1.13.0 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors @@ -1268,7 +1268,7 @@ var disableSelection = $.fn.extend( { /*! - * jQuery UI Keycode 1.12.1 + * jQuery UI Keycode 1.13.0 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors @@ -1303,7 +1303,7 @@ var keycode = $.ui.keyCode = { /*! - * jQuery UI Unique ID 1.12.1 + * jQuery UI Unique ID 1.13.0 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors @@ -1347,7 +1347,7 @@ var uniqueId = $.fn.extend( { var ie = $.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() ); /*! - * jQuery UI Mouse 1.12.1 + * jQuery UI Mouse 1.13.0 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors @@ -1368,7 +1368,7 @@ $( document ).on( "mouseup", function() { } ); var widgetsMouse = $.widget( "ui.mouse", { - version: "1.12.1", + version: "1.13.0", options: { cancel: "input, textarea, button, select, option", distance: 1, @@ -1592,7 +1592,7 @@ var plugin = $.ui.plugin = { /*! - * jQuery UI Resizable 1.12.1 + * jQuery UI Resizable 1.13.0 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors @@ -1612,7 +1612,7 @@ var plugin = $.ui.plugin = { $.widget( "ui.resizable", $.ui.mouse, { - version: "1.12.1", + version: "1.13.0", widgetEventPrefix: "resize", options: { alsoResize: false, @@ -2806,7 +2806,7 @@ var safeActiveElement = $.ui.safeActiveElement = function( document ) { /*! - * jQuery UI Menu 1.12.1 + * jQuery UI Menu 1.13.0 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors @@ -2826,7 +2826,7 @@ var safeActiveElement = $.ui.safeActiveElement = function( document ) { var widgetsMenu = $.widget( "ui.menu", { - version: "1.12.1", + version: "1.13.0", defaultElement: "