2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-05-04 14:28:48 +00:00

2600 Commits

Author SHA1 Message Date
Oliver
4f8dddc597
JS translation fix (#6288)
* Implement {% jstrans %} template

- Forces string escaping in translated text
- Required for js written in templates

* Fix part_base.html

* Update .html files

- Change any templated javascript code to use {% jstrans %}

* Update .js files

- Explicitly use {% jstrans %}

* Update CI checks
2024-01-19 01:16:17 +00:00
Oliver
1d3a23ca4e
News updates (#6275)
* Set default ordering

* Order table by "most recent entries" by default
2024-01-18 17:25:15 +11:00
Oliver
576bef5d82
Add new setting PURCHASEORDER_AUTO_COMPLETE (#6245)
* Add new setting PURCHASEORDER_AUTO_COMPLETE

- Controls whether purchase orders are automatically closed
- Default to True

* Tweak setting component
2024-01-16 00:51:03 +11:00
Oliver
9b1a310ffe
Fix rendering of supplier part pack quantity (#6226)
- Fixes https://github.com/inventree/InvenTree/issues/6224
2024-01-13 08:06:47 +11:00
Oliver
1b054c5a9c
Patch purchase_order.js (#6215)
* Patch purchase_order.js

Small tweak to catch potential undefined variable

* Cleanup

* Remove trailing whitespace
2024-01-12 22:17:39 +11:00
Oliver
a63529a9cf
Update django-allauth version (#6099)
* Patch for django-allauth 0.55.0

- Some breaking changes here
- Add logger error if auth provider cannot be imported
- Fix for API endpoints

* Only provide URLs for configured plugins

* Update for django-allauth 0.56.0

- Remove support for keycloak
- Remove example from configuration template

* Update django-allauth in requirements.txt

* Update requirements.in

* Refactor SSO functions into common file

* Update config template file

* Update docs

* Fix template files

* Log SSO exceptions to the database

- WIll help greatly with debugging installs

* Add note about error handling in docs
2023-12-18 17:35:36 +11:00
Oliver
99c92ff655
Sales order barcode allocate (#6072)
* Bug fix for BarcodePOReceive endpoint

- Existing scan must match "stockitem" to raise an error

* bug fix: barcode.js

- Handle new return data from barcode scan endpoint

* Add barcode endpoint for allocating stock to sales order

* Improve logic for preventing over allocation of stock item to sales order

* Test for sufficient quantity

* Bump API version

* Bug fix and extra check

* Cleanup unit tests

* Add unit testing for new endpoint

* Add blank page for app sales orders docs

* Add docs for new barcode features in app

* Fix unit tests

* Remove debug statement
2023-12-14 11:13:50 +11:00
Oliver
8d46521cab
Plugin loading improvements (#6056)
* Add API endpoint to reload plugin registry

* Tweak debug

* Add elements for CUI

* Update API version

* Reload plugins from PUI
2023-12-11 07:46:41 +11:00
Oliver
238902e4f3
Url validation (#6045)
* Add new setting INVENTREE_STRICT_URLS

- Enforce schema prefix to URL validation
- Default  = True

* Implement new validation

* Also implement for DRF serializers
2023-12-06 17:17:15 +11:00
Oliver
2ccddd8f2e
Project Responsible (#5944)
* Add "responsible owner" to project code table

* Update project code serializer

* Update CUI project code table

* Update PUI project code table

* Update API version
2023-11-21 23:13:20 +11:00
Oliver
0d7b4f2f17
Fixes call to processField (#5943)
* Fixes call to processField

- Previously used options.fields?
- Should use fields?

* Update forms.js
2023-11-20 22:03:08 +11:00
Lavissa
e2b29cbd95
Toggle full name display of users (#5927)
* Add option to display full names instead of usernames

* InvenTree Setting added to allow for admins to choose full names
  over usernames for display in the web GUI

* Fix FA icon for settings page

* Remove debug print
2023-11-16 13:18:01 +11:00
Lukas
0b168c1d9a
CUI dependent/nested fields (#5924)
* Added backend changes to support printing options

* Pass printing options seperatly via kwargs for easier api refactor later

* Implemented printing options in CUI

* Fix js linting

* Use translations for printing dialog

* Support nested fields in CUI

* Added docs

* Remove plugin and template fields from send printing options

* Fix docs

* Added tests

* Fix tests

* Fix options response and added test for it

* Fix tests

* Bump api version

* Update docs

* Apply suggestions from code review

* Fix api change date

* Added dependent field and improved nested object fields on CUI

* Fix: cui js style

* Fix process field implementation if the 'old' __ syntax is used for nested fields
2023-11-16 11:58:51 +11:00
Matthias Mair
5be6bc8940
Added order cancel notifications (#5912)
* Squashed commit of the following:

commit 5e8ea099068475fd257d8c172348dc6f3edf9bcf
Author: Matthias Mair <code@mjmair.com>
Date:   Tue Oct 24 09:22:38 2023 +0200

    Update ui_plattform.spec.ts

commit 49da3312beff7fd6837ea741e621df221c445d19
Author: Matthias Mair <code@mjmair.com>
Date:   Tue Oct 24 07:56:25 2023 +0200

    more logging

commit 5337be4c3990051b805a6fce2e79ca4030b4afe5
Author: Matthias Mair <code@mjmair.com>
Date:   Tue Oct 24 07:56:11 2023 +0200

    added filter method for undefined settings that overwrite defaults

commit 5df8a0b3e77cd5dcf04c39ad7638ac845df75e4c
Author: Matthias Mair <code@mjmair.com>
Date:   Tue Oct 24 03:05:06 2023 +0200

    you do not need to string a string

commit 0650d3b3a0132889c2a76de38db38224e974d205
Author: Matthias Mair <code@mjmair.com>
Date:   Tue Oct 24 03:04:34 2023 +0200

    fix things that were borken for no good reason

commit a40dbfd1364cf01465037350184f59d2a2a8afab
Author: Matthias Mair <code@mjmair.com>
Date:   Tue Oct 24 02:39:34 2023 +0200

    reduce unneeded blocking timeouts

commit bf9046a5361ae919e70662e717d6156434b6fe43
Author: Matthias Mair <code@mjmair.com>
Date:   Tue Oct 24 02:34:10 2023 +0200

    catch server fetching errors

commit aa01e67e8c8e789fdf755ac4481e730fe5ea4183
Author: Matthias Mair <code@mjmair.com>
Date:   Tue Oct 24 02:33:29 2023 +0200

    move init as things are now plugged together different

commit 290c33bd3125d50779497d6fc5981d5813b58f5d
Author: Matthias Mair <code@mjmair.com>
Date:   Tue Oct 24 01:49:32 2023 +0200

    do not log a failed automatic login try - why would you?

* Added notifications for cancled orders

* cleanup submodules

* added notification to build

* move import?
2023-11-15 09:31:24 +11:00
Oliver
247ad4dcf9
Revert "Form improvements (#5837)" (#5913)
This reverts commit 0d193d8cffae0dd48cfd79e9ca3306de9b77cb70.
2023-11-14 14:49:45 +11:00
Lukas
0d193d8cff
Form improvements (#5837)
* Added backend changes to support printing options

* Pass printing options seperatly via kwargs for easier api refactor later

* Implemented printing options in CUI

* Fix js linting

* Use translations for printing dialog

* Support nested fields in CUI

* Added docs

* Remove plugin and template fields from send printing options

* Fix docs

* Added tests

* Fix tests

* Fix options response and added test for it

* Fix tests

* Bump api version

* Update docs

* Apply suggestions from code review

* Fix api change date

* Added dependent field and improved nested object fields on CUI

* Fix: cui js style
2023-11-13 22:49:45 +11:00
Oliver
ac26f61ecd
Owner list API updates (#5906)
* Implement better search matching for owner list API

* Update UserSerializer

-Add filterset fields to various API endpoints

* Allow owner list to be filtered by "is_active" status

- Only applies to users (not groups)

* Add ability to filter "owner" list by "is_active" status

- Only applies to users

* Use "is_active" filter for "responsible" form field
2023-11-13 15:06:45 +11:00
Oliver
63edd39e2d
Ulugbek erkinov master (#5872)
* Remove stat context variables

* Revert "Remove stat context variables"

This reverts commit 0989c308d0cea9b9405a1338d257b542c6d33d73.

* Allow longer timeout for image download tests

* fix: Adding specific quantity of a part as installed item(s

* fix: Adding specific quantity of a part as installed item(s

* Update serializers.py

* Mark field as not required

* If value not provided, revert to "default" behavior

* Fix serializer validation

* Update frontend forms to mach

* Bump API version

---------

Co-authored-by: Ulugbek Erkinov <ulugbekerkinov606@gmail.com>
2023-11-06 22:58:46 +11:00
Oliver
4f8bca4ea4
PO auto fill fix (#5871)
* Take "on_order" quantity into account when ordering items

* Clean up panel.md

* update urls.d
2023-11-06 21:14:23 +11:00
Lukas
a11418398f
Printing options (#5786)
* Added backend changes to support printing options

* Pass printing options seperatly via kwargs for easier api refactor later

* Implemented printing options in CUI

* Fix js linting

* Use translations for printing dialog

* Added docs

* Remove plugin and template fields from send printing options

* Fix docs

* Added tests

* Fix tests

* Fix options response and added test for it

* Fix tests

* Bump api version

* Update docs

* Apply suggestions from code review

* Fix api change date
2023-11-02 00:39:19 +11:00
Matthias Mair
782f36cd48
[PUI] Added AboutInventreeModal (#5813)
* updated typing to allow either link or action

* fixed typing

* made it possible to use an action instead of a link

* added ServerInfo Modal skeleton

* fixed anchor

* added content to ServerInfo

* Factored database lookup out

* Extended status API to CUI level

* extended ServerInfo to CUI level

* Made modal larger

* fixed default settings

* Refactored urls into seperate functions

* Refactored python version into seperate function

* Added endpoint and modal for PUI version modal

* switched to indirect imports to reduce imports

* Added copy button

* Added full copy button

* added default

* cleaned unused vars

* cleaned unused  vars

* Refactored auth check for InfoView

* implemented suggested changes

* fixed check logic
2023-10-31 10:02:28 +11:00
Oliver
a1f9260da6
Build part change fix (#5808)
* Add DiffMixin class

- Allows us to compute "diffs" against items stored in the database, when they are being updated

* Prevent build order part from being changed after creation

* Remove "part" field from buildorder edit form

* Add unit test
2023-10-29 23:13:38 +11:00
Oliver
f280e0aeaf
Update sales_order.js (#5784)
Typo fix
2023-10-25 12:24:30 +11:00
Oliver
dfc4fa7584
Fixes for table rendering (#5782)
- Handle case where related object does not exist in the dataset
2023-10-25 11:45:00 +11:00
Oliver
b335728e29
Fix admin site - Custom admin URL (#5766)
* Update config template file

* Add entry to docs

* Add INVENTREE_ADMIN_ENABLED to settings.py

* Add helper functions for improving admin links

* Refactor existing admin links

* remove debug statements

* Fix custom admin URL

* Expand documentation

* Fix URL

* Improve wording in config_template.yaml

* Extend admin_url tag

- Allow lookup without pk
- Handle case where pk not found
2023-10-21 22:12:14 +11:00
Matthias Mair
158a209a0f
Version bump (#5740)
* Updated all dependencies

* fixed some spelling errors

* More spelling corrections

* Fixes for changes in react-query
2023-10-18 07:27:28 +11:00
Oliver
a566ac67a7
BOM Table - Fix pricing when subassembly is open (#5721)
- Ignore pricing for sub-items
- Fixes https://github.com/inventree/InvenTree/issues/5286
2023-10-17 14:12:32 +11:00
Lukas
e8e0b57cea
Feature/location types (#5588)
* Added model changes for StockLocationTypes

* Implement icon for CUI

* Added location type to location table with filters

* Fix ruleset

* Added tests

* Bump api version to v136

* trigger: ci

* Bump api version variable too
2023-10-11 16:34:38 +11:00
Kenneth Lorthioir
e76fa11e63
Open External Links in new window (#5674)
* Update clip_link.html

* Update item_base.html

* Add new_window to all external links
2023-10-07 15:41:33 +11:00
Oliver
7ab5ddcd7d
Plugin auto migrate (#5668)
* Improved handling of race condition when saving setting value

* Improvements for managing pending migrations

- Inform user if there are outstanding migrations
- reload plugin registry (if necessary)

* Increase django-q polling time

According to this thread, should reduce multiple workers taking the same task:

https://github.com/Koed00/django-q/issues/183#issuecomment-239676084

* Revert default behavior

* Better logging

* Remove comment

* Update unit test

* Revert maintenance mode behaviour

* raise ValidationError in settings
2023-10-06 11:38:01 +11:00
Oliver
c7eb90347a
Exchange rate plugin (#5667)
* Add plugin mixin class for supporting exchange rates

* Split some mixin classes out into their own files

- mixins.py is becoming quite bloated!

* Add some new settings for controlling currency updates

* Adds basic plugin implementation

* Refactor existing implementation

- Builtin plugin uses frankfurter.app API
- Better error / edge case handlign

* Add sample plugin for currency exchange

* Allow user to select which plugin to use for plugin updates

* Observe user-configured setting for how often exchange rates are updated

* Updates for some of the sample plugins

* Fix plugin slug

* Add doc page

* Document simple example

* Improve sample

* Add blank page for currency settings info

* More info in "config" page

* Update docs again

* Updated unit tests

* Fill out default settings values when InvenTree runs

* Add log messages

* Significant improvement in default settings speed

- Use bulk create
- Be efficient
- Dont' be inefficient

* More strict checks

* Refactor default values implementation

- Don't run at startup
- Run on list API
- Implement generic @classmethod
2023-10-05 21:19:28 +11:00
Lukas
9b4e1743c7
Feature/Tree picker (#5595)
* Show only the current modal over the backdrop, move others behind

* Added initial draft for tree picker

* Added filters to tree picker

* Added tree picker to more location fields

* Fixed bug with missing input group and filters side effect

* Added tree picker to part category inputs

* Added missing picker for part category parent input

* Fixed disabled items

* Fix js linting errors

* trigger: ci

* Bump api_version.py

* Update api_version.py
2023-10-05 00:11:49 +11:00
Oliver
ffda700244
Improve unit conversion (#5658)
- In previous implementation, could not have a value "10k" for a unit of "m"
- Now, correct result is obtained (10k [m] = 10[km])
- Still passes all previous unit tests
- Simpler code, too
2023-10-04 17:28:20 +11:00
Oliver
78905a45c7
Plugin missing fix (#5653)
* Add 'is_installed' property to PluginConfig model

- Allow us to show users which plugins are "outdated"

* Cleanup plugin table

- Display clearly if a plugin is no longer installed

* Fixes for plugin table

* Revert change due to failing CI
2023-10-03 19:44:10 +11:00
Oliver
88314da7b3
Fix for plugin installation via web interface (#5646)
* Fix for plugin installation via web interface

- Previous implementation did not correctly catch error output
- Refactored into new file plugin.installer.py
- Provides better "output" when plugin does install correctly

* Remove unnecessary debug output

* Update unit test

* Remove placeholder code
2023-10-03 18:47:55 +11:00
Oliver
352fb4f6ff
Allow plugin list to be filtered by "sample" or "builtin" status (#5647) 2023-10-03 10:39:24 +11:00
Oliver
324d5929b5
Primary address fix (#5592)
* Improve management of primary address for a company

- Simplify approach (remove "confirm_primary" field)
- Remove @receiver hook
- Move all logic into Address.save() method

* Make address primary if it is the only one defined for a company

* Update frontend table

* Fix saving logic

* Actually fix it this time

* Fix for unit test

* Another test fix
2023-09-23 10:14:59 +10:00
Oliver
17d227443d
Copy notes (#5546)
* Add option to copy notes when duplicating a part

* Update front-end forms
2023-09-15 14:52:47 +10:00
Oliver
1e55fc8b6d
Issued by filter (#5515)
* Construct dynamic user filter for issued-by

* Allow "build order" table to be filtered by "issued_by" field

* Bump API version

* Fix API version
2023-09-08 09:10:42 +10:00
Oliver
f917c91522
Optional error notification (#5506)
* Add user setting for receiving error notifications

* Ignore uses who don't want error notifications

* Add config to settings page
2023-09-05 15:23:14 +10:00
Oliver
218618aa93
Paginate notifications on the server (#5503) 2023-09-05 13:00:50 +10:00
Oliver
dce565b4a3
Fix build output unallocate button (#5426) 2023-08-11 10:11:06 +10:00
Oliver
86ca0b27a4
Purchase history graph fix (#5421)
* Fix debug messages

* Fix bug in purchase history chart

- Use new pack_quantity_native attribute
2023-08-10 14:24:59 +10:00
Oliver
a1d2782137
Add optional "description" column to SalesOrderLineItem table (#5419)
- Provides more visibility for part information
2023-08-10 13:00:55 +10:00
Oliver
62362455b8
Sales order variant stock (#5415)
* Annotate available variant stock to SalesOrderLine serializer

* Filter variant stock by:

- active = True
- salable = True

* Add 'salable' filter to StockList API

* Filter available stock in sales order table:

- Must be salable
- Must be active

* Update table display

* Bump API version
2023-08-09 21:45:12 +10:00
Oliver
c39ae80a13
Improve sorting of part column for BOM table (#5386) 2023-08-02 17:37:00 +10:00
Oliver
7394ddae33
Build output table sort (#5380)
* Implement sorting for "build output" column in build output table

* Implement sorting for the "required tests" column

* use isNan
2023-08-01 12:52:36 +10:00
Miklós Márton
25334c0d91
Fix selecting the default stock item template (#5318) 2023-07-23 19:42:56 +10:00
Miklós Márton
feeccc5c91
Fix selecting default label template (#5317) 2023-07-23 17:09:41 +10:00
Oliver
f70294b247
Stock installed table fix (#5305)
* Prevent installed items from being hidden

* Fix parent / child relationship
2023-07-21 23:53:58 +10:00