Commit Graph

12006 Commits

Author SHA1 Message Date
Oliver
26d5d15b49
Change the default serialization level for postgresql DB (#3268)
- Previously defaulted to SERIALIZABLE
- Now defaults to READ_COMMITTED
2022-06-29 07:27:35 +10:00
Matthias Mair
cf70e4220f
Update requirements (#3228)
* Remove stat context variables

* Revert "Remove stat context variables"

This reverts commit 0989c308d0.

* remove old backport

* move requirements

* move isort

* move migrations-tests

* add pip-tools as req and add hook

* Use hashes and also run when txt files are added

* Update to hashes in requirements

* update requirements install path

* remove allauth-2fa for a test

* install dev-requirements

* re-enable allauth

* remove hashes from pre normal setup

* Remove version bindings if they are the laest

* move depencies to upper bound

* fix django-money

* remove windows specific requirements

* also install dependencies

* update markdownify

* remove django-admin-shell

* remove unneeded packages

* add docs

* remove pins and fix pre-commit pipeline

* pin django-money

* really remove admin shell

* return default behaviour for money serializer

* pip fix

* update filter name

* set decimal for output

* add migrations

* pin coveralls

* update requirements

Co-authored-by: Oliver Walters <oliver.henry.walters@gmail.com>
2022-06-28 22:12:00 +10:00
Oliver
1a90d06acc
New Crowdin updates (#3232)
* updated translation base

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-28 14:09:05 +10:00
Oliver
8f92fddd2d
Virtual part fix (#3265)
* Add 'virtual': False requirement to sales order items

* Adds "virtual" filter for part table

* Adds extra validation to the SalesOrderLineItem model

* Prevent creation of stock items for virtual parts

- Add validation check to clean() method of StockItem model
- Improve validation message for StockItemSerializer class

* Hide "new stock item" button for virtual parts

* Hide more buttons for 'virtual' parts
2022-06-28 13:39:27 +10:00
Matthias Mair
b63ba4b636
[BUG] Duplication of "base URL" setting (#3263)
* [BUG] Duplication of "base URL" setting
Fixes #3196

Adds after_safe key to settings: this action is executed after the setting is saved. The current setting object is supplied to the function as the first argument.

* Add unittests

* fix style

* ammned allowed keys
2022-06-28 11:26:05 +10:00
Oliver
ad57ca5ddf
Adds notification when items are received against a purcahse order (#3259) 2022-06-27 07:30:38 +10:00
Oliver
b13e12b7bd
Adds a template for handling 403 errors due to CSRF issues (#3260) 2022-06-26 18:09:58 +10:00
Oliver
8c6e3db774
Bug fix for field validation on child forms (#3258)
* Bug fix for field validation on child forms

- If a child form is launched which conatins numerical inputs, field validation fails
- Not taking the "level" parameter into account when looking for the field

* trim long description strings in modal forms
2022-06-26 12:25:42 +10:00
Oliver
b2e31e3474
Notify users when a build order is completed (#3255) 2022-06-26 09:25:37 +10:00
Oliver
56bbda60b5
Add map files for qr-scanner library (#3254) 2022-06-25 16:33:17 +10:00
Oliver
ce67fd1c61
Exchange backend fix (#3253)
* Prevent creation of duplicate backend objects

* Ignore exchange errors, rather than returning None

* Revert "Prevent creation of duplicate backend objects"

This reverts commit 0b6d1ce86f.
2022-06-25 15:30:54 +10:00
Oliver
44b42050aa
Fix translation issue with javascript (#3246)
* Adds a custom translation node class to strip dirty characters from translated strings

* Update javascript files to use new template tag

* Override behaviour of {% load i18n %}

- No longer requires custom tag loading
- All templates now use escaped translation values
- Requires re-ordering of app loading
- Revert js_i18n to simply i18n

* CI step now lints JS files compiled in each locale

* Checking that the CI step fails

* Revert "Checking that the CI step fails"

This reverts commit ba2be0470d.
2022-06-25 10:50:26 +10:00
Oliver
16ac1d97f7
Remove custom javascript from auth pages (#3250)
* Remove custom javascript from auth pages

- Unauthorized user cannot load these scripts
- Simply throws console errors

* Split basic "show message" function out into new js file

* Split more generic functions out into new .js file

* javascript linting fix
2022-06-25 07:45:50 +10:00
Oliver
5b54979202
Prevent write of SERVER_RESTART_REQUIRED setting when importing dataset (#3249) 2022-06-24 20:42:55 +10:00
Oliver
daf019c13a
CI unit test fixes (#3244)
* CI unit test fixes

* Validate expected response depending on status of DEBUG mode

* Remove tests for browsable API endpoints
2022-06-23 14:26:42 +10:00
Oliver
782ba5693a
Prevent newline characters from breaking part page rendering (#3242) 2022-06-23 13:49:48 +10:00
Oliver
b247aa6062
Fix thumbnail command (#3243)
- New image size "preview" was not being generated
- Check was looking for existance of "thumbnail" (which did exist)
- Updated so that all image sizes are generated on a migration
2022-06-23 13:48:36 +10:00
Matthias Mair
7283197bac
MFA remove improvement (#3239)
* temporary fix for GHSA-8j76-mm54-52xq

* return to setting afterwards
2022-06-23 12:21:10 +10:00
Oliver
4268130669
Small visual tweaks to various auth views (#3238) 2022-06-23 07:09:17 +10:00
Oliver
9b4e443289
Prevent calculation of 'allocation_count' before model is saved (#3235) 2022-06-22 20:50:21 +10:00
Oliver
63b4ff3eb6
Remove reliance on django-markdownx (#3231)
* Remove reliance on django-markdownx

- We are now rendering notes on the client side using easymde
- No longer any need to utilize the markdownx integration
- Adds character limit for notes fields`

* Adjust legacy migrations - remove references to markdownx

* Fix bug for company notes field
2022-06-20 22:20:04 +10:00
Oliver
a8b71d7d9e
New Crowdin updates (#3227)
* updated translation base

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-20 11:35:59 +10:00
Oliver
652e6fb83e
Sales order tables (#3225)
* Add buttons to expand / collapse shipment tables

(cherry picked from commit 0af9fc473e)

* Updates for sales order lines table

(cherry picked from commit d99ec062ad)
2022-06-18 22:22:00 +10:00
Oliver
eb255e84d8
Small UI improvements to the settings interface (#3223) 2022-06-18 17:33:59 +10:00
Oliver
eeff6074e7
Adds a simple unit test to ensure that bleach is running on API data (#3222) 2022-06-18 17:08:47 +10:00
Oliver
9ba3fdf23d
Only enable browsable API if in debug mode (#3221)
(cherry picked from commit 6556cbd163)
2022-06-18 16:42:50 +10:00
Oliver
36868ebb4c
Hide buttons for users without required permissions (#3219) 2022-06-18 14:49:46 +10:00
Oliver
12fcccb5a6
Fix API endpoint permission for the "AttachmentMixin" class (#3218)
* Fix API endpoint permission for the "AttachmentMixin" class

- Any authenticated user could perform CREATE and UPDATE operations on attachments
- Could be performed via the browsable DRF API
- Could also be performed via the front-end (with some advaned jiggering of OPTIONS code)

* Show or hide buttons depending on the permissions of the user

* Add shortcut for table permission check
2022-06-18 14:48:09 +10:00
Oliver
18cf92ec8b
Update django-allauth to 0.48.0 (#3217)
* Update django-allauth to 0.48.0

* Update allauth settings
2022-06-18 12:30:59 +10:00
Oliver
74bec86675
Part page loading improvements (#3185)
* Lazy load the pricing bom table when the "pricing" tab is selected

* Update django-debug-toolbar configuration

* Major refactoring for the 'can_build' function

- Use a single annotated query to the db, rather than a for loop (which is what a caveman would use)
- Query performance is greatly improved
- Also refactors existing variant-part-stock subquery code, to make it re-usable

* Use minified JS and CSS where possible

* Render a 'preview' version of each part image

- Saves load time when the image is quite large
- Adds a data migration to render out the new variation

* Adds 'preview' version of company images

* Defer loading of javascript files

Note: some cannot be deferred - jquery in particular

* Crucial bugfix for user roles context

- Previously was *not* being calculated correctly
- A non-superuser role would most likely display pages incorrectly

* Prevent loading of "about" on every page

- Load dynamically when requested
- Takes ~400ms!
- Cuts out a lot of fat

* Match displayed image size to preview image size

* Utilize caching framework for accessing user "role" information

- Reduces number of DB queries required by rendering framework

* Remove redundant query elements

* Remove 'stock' field from PartBrief serializer

- A calculated field on a serializer is a *bad idea* when that calculation requires a DB hit

* Query improvements for StockItem serializer

- Remove calculated fields
- Fix annotations

* Bug fixes

* Remove JS load test

- Loading of JS files is now deferred, so the unit test does not work as it used to

* Fix broken template for "maintenance" page

* Remove thumbnail generation migrations

- Already performed manually as part of ''invoke migrate"
- Running as a migration causes unit test problems
- Not sensible to run this as a data-migration anyway

* tweak for build table
2022-06-17 21:26:28 +10:00
Oliver
0d01ea2f2e
Auth forms fix (#3214)
* Improvement and consolidation of various auth forms

* Update "disable 2FA" page to use form fields

Note: Requires merging of https://github.com/valohai/django-allauth-2fa/pull/135

* Update django-allauth-2fa requirements
2022-06-17 11:33:45 +10:00
Matthias Mair
50a4bda184
Small changes to password changing (#3213)
* fix formatting

* also check for the old password

* validate that password matches the rules
2022-06-17 10:36:36 +10:00
Jonas Otto
136924cd3f
fix docs link for "email settings not configured" warning (#3209) 2022-06-17 08:14:40 +10:00
Oliver
d84b67ddf4
Label dpi config (#3208)
* Updates for label printing settings:

- Make LABEL_ENABLE a global setting
- Add LABEL_DPI setting (default = 300)
- Add new global settings tab

* Use the configured DPI when printing labels
2022-06-16 14:49:17 +10:00
Oliver
9bd62f986f
Sanitize data before displaying in markdown editor (#3205)
* Sanitize data before displaying in markdown editor

* Use the sanitize option provided by easymde

* Spelling fix
2022-06-16 10:57:28 +10:00
Matthias Mair
e83995b4f5
Add bleach (#41) (#3204)
* use shims for API view inheritation

* Add mixin for input sanitation

* fix clean operation to fix all string values

* Also clean up dicts
this is to future-proof this function

* Update docstirng

* proof custom methods against XSS through authenticated users
2022-06-16 10:01:53 +10:00
Oliver
f8a2760955
New Crowdin updates (#3187)
* updated translation base

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-16 07:57:23 +10:00
Oliver
7a1869d30c
Fix sanitization for array case - was missing a return value (#3199)
(cherry picked from commit c05ae111d0)
2022-06-15 20:43:32 +10:00
Oliver
cd418d6948
Merge pull request from GHSA-rm89-9g65-4ffr
* Enable HTML escaping for all tables by default

* Enable HTML escaping for all tables by default

* Adds automatic escaping for bootstrap tables where custom formatter function is specified

- Intercept the row data *before* it is provided to the renderer function
- Adds a function for sanitizing nested data structure

* Sanitize form data before processing
2022-06-15 18:33:33 +10:00
Oliver
57563f6b7a
Merge pull request from GHSA-7rq4-qcpw-74gq
* Create custom ModelResource subclass

- Strips illegal starting characters from string cells
- Prevents formula injection

* Update all existing ModelResource classes to base off InvenTreeResource

* Handle more complex case where an illegal char is hidden behind another one
2022-06-15 18:32:35 +10:00
Oliver
76aa3a75f2
Merge pull request from GHSA-fr2w-mp56-g4xp
* Enforce file download for attachments table(s)

* Enforce file download for attachment in 'StockItemTestResult' table
2022-06-15 18:31:56 +10:00
Oliver
8b464e4397
Migrate "Convert to Variant" form to the API (#3183)
* Adds a Part API filter to limit query to valid conversion options for the specified part

* Refactor 'exclude_tree' filter to use django-filter framework

* Refactor the 'ancestor' filter

* Refactoring more API filtering fields:

- variant_of
- in_bom_for

* Adds API endpoint / view / serializer for converting a StockItem to variant

* stock item conversion now perfomed via the API

* Bump API version

* Add unit tests for new filtering option on the Part list API endpoint

* Adds  unit test for "convert" API endpoint functionality
2022-06-12 16:06:11 +10:00
Oliver
9b86bc6002
New Crowdin updates (#3162)
* updated translation base

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-12 14:10:15 +10:00
Oliver
1ae6bde896
Clear cache for more unit tests (#3184) 2022-06-12 12:58:40 +10:00
Oliver
6eddcd3c23
Setting caching (#3178)
* Revert "Remove stat context variables"

This reverts commit 0989c308d0.

* Add a caching framework for inventree settings

- Actions that use "settings" require a DB hit every time
- For example the part.full_name() method looks at the PART_NAME_FORMAT setting
- This means 1 DB hit for every part which is serialized!!

* Fixes for DebugToolbar integration

- Requires different INTERNAL_IPS when running behind docker
- Some issues with TEMPLATES framework

* Revert "Revert "Remove stat context variables""

This reverts commit 52e6359265.

* Add unit tests for settings caching

* Update existing unit tests to handle cache framework

* Fix for unit test

* Re-enable cache for default part values

* Clear cache for further unit tests
2022-06-12 10:56:16 +10:00
Matthias Mair
90aa7b8444
Sentry (#3174)
* Add sentry for optional error reporting
Closes https://github.com/inventreedb/org/issues/3
Heavily inspired by https://github.com/netbox-community/netbox/issues/9340

* do not consider optional stuff in coverage

* Add DSN for inventree org

Co-authored-by: Oliver Walters <oliver.henry.walters@gmail.com>
2022-06-11 23:13:13 +10:00
Oliver
5ecba6b13c
Add error handling for case where user does not have git installed (#3179) 2022-06-11 23:11:50 +10:00
Oliver
090f4f4387
Converting more forms to the API (#3181)
* Delete category via the API

* Delete StockLocation via the API

* Delete StockItem via the API

- Removes the final instance of AjaxDelete

* Remove URL path

* Add missing code
2022-06-11 21:53:26 +10:00
Oliver
258957c14c
SupplierPart availability (#3148)
* Adds new fields to the SupplierPart model:

- available
- availability_updated

* Allow availability_updated field to be blank

* Revert "Remove stat context variables"

This reverts commit 0989c308d0.

* Increment API version

* Adds availability information to the SupplierPart API serializer

- If the 'available' field is updated, the current date is added to the availability_updated field

* Add 'available' field to SupplierPart table

* More JS refactoring

* Add unit testing for specifying availability via the API

* Display availability data on the SupplierPart detail page

* Add ability to set 'available' quantity from the SupplierPart detail page

* Revert "Revert "Remove stat context variables""

This reverts commit 3f98037f79.
2022-06-08 21:49:07 +10:00
Oliver
b49230b32c
L10 crowdin (#3158)
* updated translation base

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-08 08:51:56 +10:00
Oliver
a816c14b95
Allow build orders to be deleted via the API (#3155) 2022-06-08 07:45:42 +10:00
Oliver
403655e3d2
Adding bulk deletion endpoint for notifications (#3154)
* Catch DoesNotExist error

* Move notificationtable function to js file

* Fix for custom metadata class

- Previously only worked if a POST or PUT action was available on the endpoint
- So, a ListAPIView endpoint would not actually work!
- Adding in a BulkDelete mixin to a ListAPIView caused failure

* Add unit test to ensure new OPTIONS metadata updates are checked

* Expand functionality of the existing BulkDelete mixin

- Allow deletion by custom filters
- Allow each implementing class to implement custom filters
- Adds more unit testing for BulkDelete mixin class

* Add bulk delete operation for Notification API

- Ensure users can only delete their *own* notifications

* Improve notification tables / buttons / etc

* Adds unit testing for bulk delete of notifications

- Fixed API permissions for notifications list endpoint

* Update BulkDelete operations for the StockItemTestResult table

* Use filters parameter in attachments table to ensure that only correct attachments are deleted

* JS linting

* Fixes for unit tests
2022-06-08 07:45:30 +10:00
Oliver
c0148c0a38
Ensure an error gets logged when a delivery method fails (#3144)
* Ensure an error gets logged when a delivery method fails

- Refactor existing code to log a custom error to the database
- Limit error notifications to UI

* Adjust unit test

* Clear existing notifications before run

* Add some debug to work out what is going on

* Accommodate extra notification
2022-06-07 08:58:00 +10:00
Oliver
6b038d85b6
Notification on new orders (#3145)
* Trigger a notification when a new SalesOrder is created

- Notify the "responsible" owners (excluding the creator)
- Add unit test for new notification

* Adds notification when a new PurchaseOrder is created

* Add notification when a new build order is created

- Includes unit tests

* Refactor order notification code

- Adds a "exclude users" option for sending notifications

* Fixes for notification refactoring

* make notification a helper

* reduce statements togehter

* make reuse easier

* Add docs

* Make context variables clearer

* fix assertation

* Fix set notation

Co-authored-by: Matthias <code@mjmair.com>
2022-06-07 08:11:11 +10:00
Oliver
00b75d792e
Adds API mixin for "bulk delete" (#3146)
* Introduces a BulkDelete API mixin class

- Allows deletion of multiple items against a single API request

* Bump API version

* Adds BulkDelete mixin to StockItemTestResult API class

* refactor "multi BOM Item delete" to use new approach

* Refactor various attachment API endpoints

* Refactor multi delete for StockItem

* Convert remaining enndpoints over

* Fix for API test code
2022-06-07 07:25:12 +10:00
Oliver
ea83d4b290
Refactor stock item test result form for API (#3143)
* Fix "polarity" of modal form submit button

(cherry picked from commit 0e4550f288)

* Use existing API functionality to delete all test results for a particular StockItem

* Remove outdated forms / views
2022-06-06 21:27:19 +10:00
Matt Brown
121c5d107e
Separate unit cost and purchase price in BOM (#3141)
It's possible for a part to have purchase price information, but not supplier
pricing (aka unit prices), but the current BOM price display logic will only
show the purchase prices when supplier prices are also available.

It seems reasonable to separate these two pieces of information - even when no
supplier pricing is available, seeing the purchase prices for BOM components is
useful on its own.
2022-06-06 21:03:15 +10:00
Oliver
88a0e38b69
Fix "polarity" of modal form submit button (#3142) 2022-06-06 20:43:50 +10:00
Oliver
1e6bdfbcab
Overdue order notification (#3114)
* Adds a background task to notify users when a PurchaseOrder becomes overdue

* Schedule the overdue purchaseorder check to occur daily

* Allow notifications to be sent to "Owner" instances

- Extract user information from the Owner instance

* add unit test to ensure notifications are sent for overdue purchase orders

* Adds notification for overdue sales orders

* Clean up notification display panel

- Simplify rendering
- Order "newest at top"
- Element alignment tweaks

* style fixes

* More style fixes

* Tweak notification padding

* Fix import order

* Adds task to notify user of overdue build orders

* Adds unit tests for build order notifications

* Refactor subject line for emails:

- Use the configured instance title as a prefix for the subject line

* Add email template for overdue build orders

* Fix unit tests to accommodate new default value

* Logic error fix
2022-06-06 19:12:29 +10:00
Matt Brown
7b4d0605b8
Fix has_complete_bom_pricing logic errors (#3140)
* Fix has_complete_bom_pricing logic errors

There are two logic errors in this property method that have been present since
c6fd228.

1) The get_setting method needs to be called on the InventTreeSetting class in
   common.models, not on the module itself.

2) You cannot call a property method directly passing an argument in Python, so
   the call to has_pricing_info is invalid and always fails. Given that
   has_complete_bom_pricing is/was the only user of that property anyway, fix
   this by just internalising the logic from that property in the method
   directly.

* style nit: use implicit checking for bools

has_complete_bom_pricing is a boolean property, the preferred pythonic style
for if comparisons of this type is not to complete directly to == False, etc
and rely on the implicit truthiness of the type.
2022-06-06 18:57:21 +10:00
Oliver
e85d9aca52
L10 crowdin (#3138)
* updated translation base

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-06 16:43:36 +10:00
Oliver
92aa7adfec
Adds callback for creation of an error log (#3136)
* Adds callback for creation of an error log

* Fix unit tests
2022-06-06 15:21:31 +10:00
Oliver
a066fcc909
Add new global setting to control auto-upload of test reports (#3137)
* Add new global setting to control auto-upload of test reports

* Adds callback to attach a copy of the test report when printing

* Fix for all attachment API endpoints

- The AttachmentMixin must come first!
- User was not being set, as the custom 'perform_create' function was never called

* Remove duplicated UserSerializer

* display uploading user in attachment table

* Add unit test to check the test report is automatically uploaded
2022-06-06 15:20:41 +10:00
Oliver
2b1d8f5b79
Set part category (#3134)
* Refactor function to enable / disable submit button on modal forms

* Category selection now just uses the AP

* Remove unused forms / views

* JS linting fixes

* remove outdated unit test
2022-06-06 13:00:30 +10:00
Oliver
fe8f111a63
Delete part via API (#3135)
* Updates for the PartRelated model

- Deleting a part also deletes the relationships
- Add unique_together requirement
- Bug fixes
- Added unit tests

* Adds JS function to delete a part instance

* Remove legacy delete view

* JS linting
2022-06-06 11:42:22 +10:00
Matthias Mair
f38386b13c
Add more checks to pre-commit (#3132)
* Add bandit to pre-commit checks

* fix catchall exceptions

* remove unused definitons

* remove unuseed ariables

* Add docstring

* fix B006, B008 errors

* fix B007 error

* ignore B009

* Add checks for formatting and naming
2022-06-06 08:56:52 +10:00
Oliver
bbbfd003e0
Convert category parameter forms to use the API (#3130)
* Moving PartCategoryParameterTemplate model to the API

- Add detail API endpoint
- Add 'create' action to LIST endpoint

* Update settings page to use the new API forms

* Remove old views / forms

* Update API version

* Fix table buttons

* Add title to deletion form

* Add unit tests for new API views
2022-06-06 00:25:08 +10:00
Oliver
80b10c62f3
Fix behaviour of attachment table for purchase orders (#3127)
- Refresh table, rather than reloading page!

(cherry picked from commit 141c2370e3a19526def9bfcd7ccac50e60e1684a)
2022-06-04 09:11:30 +10:00
Oliver
0c8bb7328a
Change view queryset from .all() to .none() (#3125)
- For some reason, the reverse URL lookups would fail for stock items which were not "in stock"
- e.g. detail pages for stock items would fail to render if the stock item was "destroyed" or "quarantined"
- changing the queryset to .none() fixed this
- I do not know why...
2022-06-03 20:20:21 +10:00
Oliver
b20fa1df9a
L10 crowdin (#3124)
* updated translation base

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-03 20:01:38 +10:00
Oliver
2e40f3ccf3
Move PartParameterTemplate model to the API (#3123)
* Adds detail API view for the PartParameterTemplate model

* Use API methods rather than server-side forms

* Remove old views / forms

* Update API version
2022-06-03 17:11:19 +10:00
Oliver
ebca787f71
Remove outdated forms / views for stock item tracking (#3122)
* Remove outdated forms / views for stock item tracking

- No longer used anywhere
- Manual stock tracking entries are no longer supported anyway

* Futher cleanup:

- Delete unused template
- Remove URL which pointed to a nonexistent template
- Remove button for manually adding stock tracking entries
2022-06-03 12:20:37 +10:00
Oliver
4b3f77763d
Return from customer (#3120)
* Adds ability to return item into stock via the API

* Remove old server-side form / view for returning stock from a customer

* Add unit tests for new API endpoint
2022-06-03 08:36:08 +10:00
Oliver
5fef6563d8
Bug fix for part category view (#3119) 2022-06-03 00:14:36 +10:00
Oliver
e8bf35585a
Ignore auto-creation of shipments under certain conditions (#3118)
- Database is not ready
- Data import is active

Ref: https://github.com/inventree/demo-dataset/pull/23
2022-06-03 00:07:06 +10:00
Oliver
309ed595d7
Queryset annotation refactor (#3117)
* Refactor out 'ordering' serializer annotation field

* Refactor BomItem serializer annotations

* Factor out MPTT OuterRef query

* Add 'available_stock' annotation to SalesOrderLineItem serializer

- Allows for better rendering of stock availability in sales order table

* Improve 'available quantity' rendering of salesorderlineitem table

* Bump API version

* Add docstring
2022-06-02 23:22:47 +10:00
Oliver
2074bf9156
Fix broken delete button (#3116)
* Fix broken delete button

* Fix filtering for purchaseorder table on supplierpart page

(cherry picked from commit 77fb02ff39)
2022-06-02 15:00:09 +10:00
Matthias Mair
0c97a50e47
Docstring checks in QC checks (#3089)
* Add pre-commit to the stack

* exclude static

* Add locales to excludes

* fix style errors

* rename pipeline steps

* also wait on precommit

* make template matching simpler

* Use the same code for python setup everywhere

* use step and cache for python setup

* move regular settings up into general envs

* just use full update

* Use invoke instead of static references

* make setup actions more similar

* use python3

* refactor names to be similar

* fix runner version

* fix references

* remove incidential change

* use matrix for os

* Github can't do this right now

* ignore docstyle errors

* Add seperate docstring test

* update flake call

* do not fail on docstring

* refactor setup into workflow

* update reference

* switch to action

* resturcture

* add bash statements

* remove os from cache

* update input checks

* make code cleaner

* fix boolean

* no relative paths

* install wheel by python

* switch to install

* revert back to simple wheel

* refactor import export tests

* move setup keys back to not disturbe tests

* remove docstyle till that is fixed

* update references

* continue on error

* add docstring test

* use relativ action references

* Change step / job docstrings

* update to merge

* reformat comments 1

* fix docstrings 2

* fix docstrings 3

* fix docstrings 4

* fix docstrings 5

* fix docstrings 6

* fix docstrings 7

* fix docstrings 8

* fix docstirns 9

* fix docstrings 10

* docstring adjustments

* update the remaining docstrings

* small docstring changes

* fix function name

* update support files for docstrings

* Add missing args to docstrings

* Remove outdated function

* Add docstrings for the 'build' app

* Make API code cleaner

* add more docstrings for plugin app

* Remove dead code for plugin settings
No idea what that was even intended for

* ignore __init__ files for docstrings

* More docstrings

* Update docstrings for the 'part' directory

* Fixes for related_part functionality

* Fix removed stuff from merge 99676ee

* make more consistent

* Show statistics for docstrings

* add more docstrings

* move specific register statements to make them clearer to understant

* More docstrings for common

* and more docstrings

* and more

* simpler call

* docstrings for notifications

* docstrings for common/tests

* Add docs for common/models

* Revert "move specific register statements to make them clearer to understant"

This reverts commit ca96654622.

* use typing here

* Revert "Make API code cleaner"

This reverts commit 24fb68bd3e.

* docstring updates for the 'users' app

* Add generic Meta info to simple Meta classes

* remove unneeded unique_together statements

* More simple metas

* Remove unnecessary format specifier

* Remove extra json format specifiers

* Add docstrings for the 'plugin' app

* Docstrings for the 'label' app

* Add missing docstrings for the 'report' app

* Fix build test regression

* Fix top-level files

* docstrings for InvenTree/InvenTree

* reduce unneeded code

* add docstrings

* and more docstrings

* more docstrings

* more docstrings for stock

* more docstrings

* docstrings for order/views

* Docstrings for various files in the 'order' app

* Docstrings for order/test_api.py

* Docstrings for order/serializers.py

* Docstrings for order/admin.py

* More docstrings for the order app

* Add docstrings for the 'company' app

* Add unit tests for rebuilding the reference fields

* Prune out some more dead code

* remove more dead code

Co-authored-by: Oliver Walters <oliver.henry.walters@gmail.com>
2022-06-02 01:37:39 +10:00
Oliver
66a6915213
Adds 'multi delete' for attachment tables (#3111)
* Adds 'multi delete' for attachment tables

- Should roll out seamlessly to any attachment table

* JS linting
2022-06-01 17:23:36 +10:00
Oliver
e174096173
Adds ability to search build API by part parameters (#3110)
* Adds ability to filter build API by part parameters

* Bump API version
2022-06-01 16:52:43 +10:00
Oliver
a129c650fe
Remove unique-together requirement for BomItem model (#3104)
* Remove unique-together requirement for BomItem model

Ref: https://github.com/inventree/InvenTree/issues/1254

* Update unit test

* Remove unused import
2022-05-31 13:33:23 +10:00
Oliver
02607bd854
Search improvements (#3103)
* Allow part list API to be searched by SKU

* Enable manufacturer parts and supplier parts search preview

* Increment API version

* Remove whitespace

* Remove more whitespace
2022-05-31 11:51:22 +10:00
Oliver
9430d1bbbe
L10 crowdin (#3095)
* updated translation base

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-29 17:46:29 +10:00
Oliver
b9fd263899
Docker improvements (#3042)
* Simplified dockerfile

- Changed from alpine to python:slim
- Removed some database libs (because we *connect* to a db, not host it)

* - Add gettext as required package
- Only create inventree user as part of production build (leave admin access for dev build)

* Tweaks for tasks.py

* Fix user permissions (drop to inventree user)

* Drop to the 'inventree' user level as part of init.sh

- As we have mounted volumes at 'run time' we need to ensure that the inventree user has correct permissions!
- Ref: https://stackoverflow.com/questions/39397548/how-to-give-non-root-user-in-docker-container-access-to-a-volume-mounted-on-the

* Adjust user setup

- Only drop to non-root user as part of "production" build
- Mounted external volumes make it tricky when in the dev build
- Might want to revisit this later on

* More dockerfile changes

- reduce required system packages
-

* Add new docker github workflow

* Print some more debug

* GITHUB_BASE_REF

* Add gnupg to base requirements

* Improve debug output during testing

* Refactoring updates for label printing API

- Update weasyprint version to 55.0
- Generate labels as pdf files
- Provide filename to label printing plugin
- Additional unit testing
- Improve extraction of some hidden debug data during TESTING
- Fix a spelling mistake (notifaction -> notification)

* Working on github action

* More testing

* Add requirement for pdf2image

* Fix label printing plugin and update unit testing

* Add required packages for CI

* Move docker files to the top level directory

- This allows us to build the production image directly from soure
- Don't need to re-download the source code from github
- Note: The docker install guide will need to be updated!

* Fix for docker ci file

* Print GIT SHA

* Bake git information into the production image

* Add some exta docstrings to dockerfile

* Simplify version check script

* Extract git commit info

* Extract docker tag from check_version.py

* Newline

* More work on the docker workflow

* Dockerfile fixes

- Directory / path issues

* Dockerfile fixes

- Directory / path issues

* Ignore certain steps on a pull request

* Add poppler-utils to CI

* Consolidate version check into existing CI file

* Don't run docker workflow on pull request

* Pass docker image tag through to the build

Also check .j2k files

* Add supervisord.conf example file back in

* Remove --no-cache-dir option from pip install
2022-05-29 09:40:37 +10:00
Matthias Mair
9a2300d920
Add option to also reload plugin mechanisms (#3081) 2022-05-29 08:25:40 +10:00
Matthias Mair
4d8836378b
CI updates (#3087)
* Add pre-commit to the stack

* exclude static

* Add locales to excludes

* fix style errors

* rename pipeline steps

* also wait on precommit

* make template matching simpler

* Use the same code for python setup everywhere

* use step and cache for python setup

* move regular settings up into general envs

* just use full update

* Use invoke instead of static references

* make setup actions more similar

* use python3

* refactor names to be similar

* fix runner version

* fix references

* remove incidential change

* use matrix for os

* Github can't do this right now

* ignore docstyle errors

* Add seperate docstring test

* update flake call

* do not fail on docstring

* refactor setup into workflow

* update reference

* switch to action

* resturcture

* add bash statements

* remove os from cache

* update input checks

* make code cleaner

* fix boolean

* no relative paths

* install wheel by python

* switch to install

* revert back to simple wheel

* refactor import export tests

* move setup keys back to not disturbe tests

* remove docstyle till that is fixed

* update references

* continue on error

* use relativ action references

* Change step / job docstrings
2022-05-28 10:38:12 +10:00
Oliver
09a4fab0d6
Adds 'quarantine' code for StockItemStatus (#3084)
* Adds 'quarantine' code for StockItemStatus

- Marks item as "unavailable"
- Removes unused code from StockItemStatus class

* Add migration file
2022-05-27 15:12:15 +10:00
Oliver
6c7a80c141
Check user permissions before performing search (#3083)
* Check user permissions before performing search

* JS linting
2022-05-27 13:26:45 +10:00
Oliver
640a5d0f24
Improve error management for order price calculation (#3075)
* Improve error management for order price calculation

- If there are missing exchange rates, it throws an error
- Very much an edge case

* Style fixes

* Add warning message if total order price cannot be calculated

* price -> cost
2022-05-27 13:26:37 +10:00
Oliver
d1c92a9eda
Update version.py
Fix typo?
2022-05-26 18:24:01 +10:00
Oliver
7ccc8ad10d
Update version.py
Bump version number to indicate dev candidate for 0.8.0
2022-05-26 18:23:43 +10:00
Oliver
643df4761d
Enable 'tree view' for build order table (#3070)
* Enable 'tree view' for build order table

* Ensure we pass locale code to the build table

* Adjust button class based on current context

* Fix display of 'child builds' table on build page

* Force a rebuild of the entire table when the filters are refreshed

* Refactor PurchaseOrder table also

* Refactor existing SalesOrder table also

* JS linting
2022-05-26 15:41:53 +10:00
Oliver
2d1776a151
Refactor 'DeleteManufacturerPart' form (#3067)
* Refactor 'DeleteManufacturerPart' form

- Remove duplicated forms
- Update style to match other forms
- Block on each deletion before progressing to the next one

* PEP fix

* Adds deleteSupplierParts function

* Refactor all instances of supplier part deletion

* Refactor tractor : use convenience function for bootstraptable.getSelections

* Add deleter for manufacturerpartparameter.

Refactor existing code into a single function

* Refactor deletion for stock items

* JS linting
2022-05-25 23:35:53 +10:00
Oliver
2378073c61
SalesOrderShipment improvements (#3058)
* Adds two new fields to SalesOrderShipment model:

- Invoice number (char)
- Link (URL)

* Bump API version

* Update API / serializer / JS

- Allow entry of new fields at time of shipping

* PEP fixes

* Actually fix the PEP issues

* Unit testing: check some more fields
2022-05-25 11:00:19 +10:00
Oliver
063375557f
L10 crowdin (#3063)
* updated translation base

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-24 20:29:17 +10:00
Oliver
ea9f2f81f1
Stock available (#3057)
* Fix display of stock labels

- If 'shipped' or 'installed', don't display 'allocated' flag

* Switch stock item data around

* Add 'available' and 'allocation' information to the StockItem detail page

- Cache some context data to the view renderer

* Stock table now also displays allocation informatoin
2022-05-24 15:35:04 +10:00
Matthias Mair
1c6e5f0f20
More plugin testing (#3052)
* Add a check of a child panel too

* do not cover error catching

* test for implementation error

* Add warning to test for

* Add test for event_sample

* ignore safety switches

* Add a settings flag to enable event testing

* test if not implemented is raises

* raise plugin specific errors

* use plugin specific error

* fix assertation

* add test for mixin

* this point can't be reached

* add tests for locate plugin

* fix assertations

* fix function call

* refert switch

* this is already caught by the internal API

* also cover mixin redirect
2022-05-24 09:23:06 +10:00
Matthias Mair
a7ef560ee3
remove dead code (#3054)
no references are found in the code
2022-05-24 09:20:59 +10:00
Oliver
c0b74e18ac
L10 crowdin (#3051)
* updated translation base

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-23 14:07:08 +10:00
Oliver
3c02b95f85
Shipment date edit (#3050)
* Allow user to select shipment date when shipping a salesorder

- Defaults to 'today'

* Retain the tracking number information through the from

* JS linting

* Add unit testing for the SalesOrderShipmentComplete serializer / API endpoint
2022-05-23 13:57:40 +10:00
Matthias Mair
840ade25cd
Label printing unit test (#3047)
* Adds a very simple sample plugin for label printing

* Test mixin install status and API query

* Better error reporting for label printing API

* pep fixes

* fix assertation

* remove broken assertation

* igonre for coverage

* test the base process of printing

* refactor tests

* clean up basic test

* refactor url

* fix url creation

* test printing multiples

* test all printing endpoints

* test all list options - move api tests

* test for invalid filters

* refactor

* test with no part

* these should not happen
checks are in place upstream

* fix assertation

* do not cover continue parts

* test for wrong implementation

* ignore DB not ready

* remove covage from default parts

* fix url generation

* test debug mode

* fix url assertation

* check that nothing was rendered

Co-authored-by: Oliver Walters <oliver.henry.walters@gmail.com>
2022-05-23 08:54:44 +10:00
Matthias Mair
6247eecf69
Exclude testing exceptions from coverage (#3046)
* exclude testing excetions

* check user str

* check related users

* move no coverage marker

* fix assertation

* add test for filters

* do not cover logs
2022-05-22 15:54:13 +10:00
Maksim Stojkovic
0ec067da40
[Feature] Shipment Creation in Stock Allocation Modal (#3024)
* Added order reference to line item options

* Basic working version implemented

* Re-execute fields function in secondary modals

* Added missing argument and parameter

* Added missing parentheses

* Fixed hidden field name for depth > 0
2022-05-22 09:34:38 +10:00
Oliver
40153b94a5
L10 crowdin (#3045)
* updated translation base

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-22 09:18:07 +10:00
Matthias Mair
5805685c48 Merge branch 'master' of https://github.com/inventree/InvenTree into style-fixes 2022-05-21 23:57:41 +02:00
Oliver
624a6ebb6c
Merge pull request #3043 from maksimstojkovic/fr-2986-shipment-page-action
Complete Allocated Pending Orders from SO Page Actions Menu
2022-05-21 23:45:29 +10:00
Oliver
8eaf172512
Merge pull request #3040 from matmair/test-simplify
Test simplify
2022-05-21 19:41:23 +10:00
Matthias Mair
22adc37242 fix import 2022-05-21 02:40:45 +02:00
Matthias Mair
e1ff4b6e87 more class use 2022-05-20 23:01:20 +02:00
Matthias Mair
43f714b96c use variable for values and up the all 2022-05-20 19:57:13 +02:00
Matthias Mair
9af0b981e7 fix class to enable userlogin 2022-05-20 19:14:35 +02:00
Matthias Mair
6ef8c3dc83 run as admin 2022-05-20 19:11:21 +02:00
Matthias Mair
b7a501f42c log out first 2022-05-20 19:09:51 +02:00
Matthias Mair
43a2442f02 add usermodel back in 2022-05-20 18:53:33 +02:00
Matthias Mair
556b7036aa remove repo name from assertations
this breaks on other runners (gitlab, azure devops) as they handle repo names in another way
2022-05-20 18:42:41 +02:00
Matthias Mair
9b15d88d5f fix rule assign 2022-05-20 18:34:45 +02:00
Matthias Mair
45a9a4d0c5 add in missing class references 2022-05-20 17:55:11 +02:00
Matthias Mair
799af89312 style fixes 2022-05-20 17:45:04 +02:00
Matthias Mair
a148dbf303 refactor 'all' role 2022-05-20 17:43:51 +02:00
Maksim Stojkovic
f036252fb9 Added completePendingShipments to exported section 2022-05-21 01:31:01 +10:00
Matthias Mair
c50456297e fix assertation 2022-05-20 17:27:08 +02:00
Matthias Mair
e1d22f538d resort imports 2022-05-20 17:24:51 +02:00
Maksim Stojkovic
ac35bd8073
Merge branch 'inventree:master' into fr-2986-shipment-page-action 2022-05-21 01:06:58 +10:00
Maksim Stojkovic
c38862b28c Added page action to process pending shipments 2022-05-21 01:05:54 +10:00
Maksim Stojkovic
3eb4898019 Added support for secondary buttons on modals
Secondary buttons can be added to modal footers beside Close and Submit
Buttons can be linked to callback functions
Callback functions can access options arguments passed to constructForm
2022-05-21 00:52:45 +10:00
Maksim Stojkovic
f1ca9d7aa8 Added div for extra secondary modal buttons 2022-05-20 22:22:49 +10:00
Matthias Mair
74726f0fda fix endline 2022-05-20 13:35:07 +02:00
Matthias Mair
93b6934127 fix trailing 2022-05-20 13:20:55 +02:00
Matthias Mair
9f922f06ff fix more imports 2022-05-20 12:53:04 +02:00
Matthias Mair
a6f7a29817 fix import path 2022-05-20 12:48:03 +02:00
Oliver
bd195105e7
Merge pull request #2991 from matmair/not-working-tests
Static test fixes
2022-05-20 20:46:28 +10:00
Maksim Stojkovic
b99a9306ce Added onSuccess support to completeShipment 2022-05-20 20:37:23 +10:00
Matthias Mair
e8287f02d4 rename 2022-05-20 12:33:51 +02:00
Matthias Mair
42d325e7ca fix spelling 2022-05-20 12:33:28 +02:00
Matthias Mair
3a1996dd48 PEP fix 2022-05-20 12:32:25 +02:00
Matthias Mair
023ff3c85a Merge branch 'master' of https://github.com/inventree/InvenTree into test-simplify 2022-05-20 12:13:31 +02:00
Matthias Mair
0d5dea3e6d refactor test setup 2022-05-20 12:12:32 +02:00
Maksim Stojkovic
af0901d06c Changed complete shipments button to always show 2022-05-20 19:30:19 +10:00
Maksim Stojkovic
c6b9585c02 Fixed typo 2022-05-20 18:28:02 +10:00
Oliver
cc59ef65fc PEP fixes 2022-05-20 17:31:08 +10:00
Oliver
33bab19abb Better reporting of settings errors 2022-05-20 17:29:18 +10:00
Oliver
8da278a072 Adds option to hide unavailable stock items from the search preview window 2022-05-20 17:10:51 +10:00
Oliver
0f4ed55bed JS fixes 2022-05-20 17:02:28 +10:00
Oliver
8ad141f910 Add extra options to control search results in preview window
- Allow user to optionally show / hide inactive purchase orders
- Allow user to optionally show / hide inactive sales orders
2022-05-20 16:57:30 +10:00
Matthias Mair
63c64f9dff
Update apps.py 2022-05-20 08:31:21 +02:00
Maksim Stojkovic
f2a3b4ab1f Changed completeShipment reload to optional 2022-05-20 16:29:59 +10:00
Matthias Mair
c98cae8c1f
switch print with assert 2022-05-20 08:19:14 +02:00
Maksim Stojkovic
b48f8fba2b
Merge branch 'inventree:master' into fr-2986-shipment-page-action 2022-05-20 16:02:45 +10:00
Maksim Stojkovic
239138a1b5 Added page actions menu item 2022-05-20 15:01:45 +10:00
Matthias Mair
e1abdddc4a
Merge branch 'inventree:master' into not-working-tests 2022-05-20 00:28:35 +02:00
Matthias
b87f44dbfc
skip css if not available 2022-05-20 00:10:41 +02:00
Oliver
8385080e4c
Merge pull request #3036 from maksimstojkovic/auto-reload-so
Primitive solution to SO reload on shipment
2022-05-19 21:16:24 +10:00
Maksim Stojkovic
d9beaab92c Primitive solution to SO reload on shipment 2022-05-19 20:31:55 +10:00
Oliver Walters
e93b138de4 Expand unit tests for settings
- Check that name and description are translated
- Check for only allowed keys
- Extend checks to include user settings
- Check default value for boolean setting
2022-05-19 19:49:39 +10:00
Oliver
1bff1868fd
Merge pull request #3034 from SchrodingersGat/plugin-panels-test
Plugin panels test
2022-05-19 14:30:03 +10:00
Oliver
0c02e57b58
Merge pull request #3028 from maksimstojkovic/automatic-shipment-creation
[Feature] Create a default shipment when creating SO
2022-05-19 13:48:33 +10:00
Oliver
2ddaa9c04a
Merge pull request #3020 from SchrodingersGat/download-unit-tests
Download unit tests
2022-05-19 13:34:41 +10:00
Oliver
07319731d2 Validate that errors get logged 2022-05-19 13:20:42 +10:00
Oliver
adaec90909 CI: Allow exchange rate test a few goes 2022-05-19 12:54:07 +10:00
Maksim Stojkovic
140006a4cd
Fix PEP styles 2022-05-19 12:19:55 +10:00
Oliver
80e3d0970a Adds unit tests for the samplepanel plugin 2022-05-19 11:28:18 +10:00
Oliver
11b21a9cca Allow registry.with_mixin to filter by active status 2022-05-19 11:00:31 +10:00
Oliver
ebcb9685b5 Updates to samplepanel plugin
- Enhanced content for "hello world" panel
- Add an optional panel which breaks rendering
2022-05-19 10:04:20 +10:00
Oliver
14b60cdedc Custom panel content gets passed through the templating engine 2022-05-19 10:03:44 +10:00
Oliver
7d9690b974 Add logging message when plugin fails to render custom panels 2022-05-19 09:53:12 +10:00
Matthias
113a10eb8a
disable static test for now 2022-05-19 01:48:58 +02:00
Oliver
9446702d78 Skip plugin loading for various database admin functions 2022-05-19 09:45:16 +10:00
Matthias
890a5cd1e6
rollback testing dsaveguards and add docs 2022-05-19 01:43:28 +02:00
Matthias
c97a2531a0
update check 2022-05-19 01:06:14 +02:00
Matthias
295c849447
and print 2022-05-19 00:26:59 +02:00
Matthias
8dedf95a8d
make 'some' request 2022-05-19 00:25:27 +02:00
Matthias
734affb983
PEP fix 2022-05-19 00:22:00 +02:00
Matthias
254c2ccca0
this should already happen in SetUp 2022-05-19 00:21:33 +02:00
Matthias
99f3fc814d
add warning if DB not ready 2022-05-19 00:20:48 +02:00
Matthias
84871fdc79
remove tries - if we are here the AppReg should be ready or fail 2022-05-19 00:19:14 +02:00
Matthias
d2ea76d350
fix setup 2022-05-19 00:16:03 +02:00
Matthias
5ab4fdeb84
skip tests if no themes are present 2022-05-19 00:14:20 +02:00
Matthias
c0ef12f270
only use the user if authenticated 2022-05-18 23:33:04 +02:00
Matthias
51cd038f04
jump over if static dir does not exsist 2022-05-18 23:31:44 +02:00
Matthias
6a8a5c6bc1
Merge branch 'not-working-tests' of https://github.com/matmair/InvenTree into not-working-tests 2022-05-18 23:23:44 +02:00
Matthias
444c8b871e
create labels on startup 2022-05-18 23:23:34 +02:00
Kálmán Rózsahegyi
9e8da0e8e0 Fix manufacturer part detail template with missing company view tests 2022-05-18 22:20:42 +02:00
Maksim Stojkovic
4dc997c4ae Added unit test 2022-05-19 02:06:43 +10:00
Oliver Walters
0831b85e29 Adding some unit tests for SalesOrderLineItem API 2022-05-19 01:39:16 +10:00
Maksim Stojkovic
276075ce05 PEP styling 2022-05-19 00:33:03 +10:00
Maksim Stojkovic
5ece98ed39
Merge branch 'inventree:master' into automatic-shipment-creation 2022-05-19 00:28:41 +10:00
Maksim Stojkovic
2cf67ea0c9 Create default shipment in backend 2022-05-19 00:10:55 +10:00
Maksim Stojkovic
9ae8a6b219 Revert "Create a default shipment when creating SO"
This reverts commit c7003fbed8.
2022-05-18 23:43:06 +10:00
Oliver
8ceff063f8
Merge pull request #3027 from SchrodingersGat/locate-plugin-fix
Fix broken calls to offload_task
2022-05-18 23:42:26 +10:00
Oliver Walters
c6590066b8 Add tests for successful location
- Sample plugin now updates metadata tag
2022-05-18 22:46:15 +10:00
Oliver Walters
dd476ce796 Add unit tests for the 'locate' plugin
- Test various failure modes
- Some of the failure modes didn't fail - this is also a failure
- Fixing API code accordingly
2022-05-18 22:20:29 +10:00
Maksim Stojkovic
c7003fbed8 Create a default shipment when creating SO 2022-05-18 22:01:47 +10:00
Oliver Walters
0e0ba66b9a Fix broken calls to offload_task 2022-05-18 21:40:53 +10:00
Oliver Walters
aa3a86f372 Exclude metadata from StockLocation and StockItem model resource class 2022-05-18 21:33:40 +10:00
Jakob Haufe
3f67682d53
Increment API version 2022-05-18 13:25:01 +02:00
Jakob Haufe
ed1cc1209e
Add admin class 2022-05-18 13:25:01 +02:00
Jakob Haufe
72f330ab75
Add JS 2022-05-18 13:25:00 +02:00
Jakob Haufe
c6d3cd9bae
Add content panel 2022-05-18 13:25:00 +02:00
Jakob Haufe
fc3e61df24
Add sidebar item 2022-05-18 13:24:59 +02:00
Jakob Haufe
09a7627788
Add API URLs 2022-05-18 13:24:59 +02:00
Jakob Haufe
69ba271bf7
Add API endpoints 2022-05-18 13:24:58 +02:00
Jakob Haufe
3ee32374b4
Add serializer 2022-05-18 13:24:58 +02:00
Jakob Haufe
a373e669cd
Add permission 2022-05-18 13:24:58 +02:00
Jakob Haufe
c608778a1b
Add migration 2022-05-18 13:24:57 +02:00
Jakob Haufe
67c675d1a6
Add ManufacturerPartAttachment class 2022-05-18 13:24:50 +02:00
Oliver
4ceb35a43f Fix PEP issue 2022-05-18 17:00:20 +10:00
Oliver
6147afe35f Catch errors when rendering custom plugin panels 2022-05-18 16:54:57 +10:00
Oliver
810671f423 Yet another fix 2022-05-18 13:40:57 +10:00
Oliver
0f1dd3fe65 Same fix for config file test 2022-05-18 13:02:23 +10:00
Oliver
e57087de63 Fix unit test 2022-05-18 12:19:10 +10:00
Oliver
3b53260d75 Allow some variation in unit test 2022-05-18 11:51:14 +10:00
Matthias
9a0189b6bb
fix env name 2022-05-18 02:30:07 +02:00
Matthias
bdf28b72df
fix default 2022-05-18 02:25:44 +02:00
Matthias
4ac7d9626c
add missing test from merge back in 2022-05-18 02:07:28 +02:00
Matthias
9b37760856
fix assertations 2022-05-18 02:06:00 +02:00
Matthias
a570dab5e5
generalise function to make new methods simpler 2022-05-18 02:04:15 +02:00
Matthias
ca7fb691ac
make change patch simpler 2022-05-18 02:02:14 +02:00
Matthias
9f0b00cc0e
replace old function 2022-05-18 02:01:52 +02:00
Matthias
6e19187929
add missing import 2022-05-18 02:01:25 +02:00
Matthias
dc4affb3c5
Merge branch 'webp-support' of https://github.com/matmair/InvenTree into webp-support 2022-05-18 01:58:44 +02:00
Matthias
278c9dbf05
Merge branch 'master' of https://github.com/inventree/InvenTree into webp-support 2022-05-18 01:55:41 +02:00
Matthias Mair
67733fa37b
Merge branch 'inventree:master' into not-working-tests 2022-05-18 01:54:00 +02:00
Oliver
db75c31f6d
Translation merge (#3022)
* updated translation base

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-18 08:27:42 +10:00
Oliver Walters
b6c2ade940 Add unit test for downloading Part data 2022-05-18 07:52:29 +10:00
Oliver Walters
1c6d79451e Don't decode downloaded .xls file 2022-05-18 07:25:43 +10:00
Matthias Mair
a40f189c7a
Use unierest mock for env setting 2022-05-17 19:23:50 +02:00
Oliver Walters
c5b14944a1 Unit tests for downloading BuildOrder data 2022-05-18 00:31:43 +10:00
Oliver Walters
0d078768fe Unit tests for downloading PurchaseOrder data 2022-05-18 00:08:11 +10:00
Oliver Walters
a6be0b32c6 Add unit tests for exporting SalesOrder data 2022-05-17 23:48:58 +10:00
Oliver Walters
3488da19b0 Return data as a list of dict objects 2022-05-17 23:47:09 +10:00
Oliver Walters
a44267c306 bug fix 2022-05-17 23:22:40 +10:00
Oliver Walters
920e7e0bb7 Adds helper function to process and validate a downloaded .csv file 2022-05-17 23:21:30 +10:00
Oliver Walters
55000d5c48 Add ability to download file as StringIO or BytesIO 2022-05-17 22:28:46 +10:00
Oliver Walters
fd9f25dc0d Adds helper function for testing a file download via the api 2022-05-17 21:26:33 +10:00
Oliver Walters
f4b470c396 Merge remote-tracking branch 'inventree/master' into shipment-assign-fix 2022-05-17 18:48:57 +10:00
Oliver
9bcbaaa5f5 Remove more python2 stuff 2022-05-17 16:57:31 +10:00
Oliver
e7b458978c More unit tests 2022-05-17 15:10:48 +10:00
Oliver
01a30935f0 Add unit tests for BuildOutputDelete serializer 2022-05-17 14:20:41 +10:00
Oliver
5a0acedce6 Add unit tests for BuildOutputCreate serializer 2022-05-17 13:00:53 +10:00
Oliver
256451d82b Fix context such that build output can be deleted 2022-05-17 11:52:42 +10:00
Matthias
fb55f5d2a2
convert remaining function 2022-05-17 01:32:08 +02:00
Matthias
041128ff9c
pep fix 2022-05-17 01:07:36 +02:00
Matthias
7a2b17e939
do not try to access anon users settings 2022-05-17 01:03:04 +02:00
Matthias
94a19727da
fix assertation 2022-05-17 01:02:29 +02:00
Matthias
728cccc469
fix assertation 2022-05-17 00:53:51 +02:00
Matthias
09af7d964d
raise a warning for assertations 2022-05-17 00:24:02 +02:00
Oliver Walters
aa7fcb3601 Remove status_code addition 2022-05-17 08:23:39 +10:00
Matthias
b3e42f5fb0
Add tests for offloading 2022-05-17 00:13:39 +02:00
Matthias
3e859f7abb
fix assertation 2022-05-16 23:51:17 +02:00
Matthias
9f3fdcb590
make test simpler 2022-05-16 23:43:07 +02:00
Matthias
09bda7e516
add checks for old_error_log 2022-05-16 23:42:09 +02:00
Matthias
f3c4720f5b
extend update check 2022-05-16 23:41:33 +02:00
Matthias Mair
2ec59a6ad2 extend tests for task_delete_succ 2022-05-16 19:45:00 +02:00
Matthias Mair
eb24bf78b8 external api failures are not covered 2022-05-16 19:39:43 +02:00
Matthias Mair
8340daf77b Merge branch 'master' of https://github.com/inventree/InvenTree into not-working-tests 2022-05-16 19:01:40 +02:00
Matthias Mair
fc8a63325e that was a stupid misstake 2022-05-16 18:57:27 +02:00
Matthias Mair
07711b8e74 fix check 2022-05-16 18:34:02 +02:00
Matthias Mair
79b4b23a07 pep fix 2022-05-16 18:33:49 +02:00
Matthias Mair
763cd13b7c use a function if it was passed 2022-05-16 18:30:37 +02:00
Matthias Mair
7fc408cf60 move exceptions up 2022-05-16 18:29:41 +02:00
Matthias Mair
30dbfa9a4f add tests for InvenTree.tasks 2022-05-16 18:21:58 +02:00
Matthias Mair
cce3d3a35d make imports on function level 2022-05-16 18:01:16 +02:00
Matthias Mair
18a263ff75 do a local import 2022-05-16 17:55:45 +02:00
Matthias Mair
a9cfdf8fdb fix import 2022-05-16 17:52:36 +02:00
Matthias Mair
2df049fe05 Merge branch 'master' of https://github.com/inventree/InvenTree into matmair/issue3005 2022-05-16 17:48:01 +02:00
Matthias Mair
0f5c03e44c use direct import instead of text for offload 2022-05-16 17:45:51 +02:00
Matthias Mair
9ec626b650 Also allow non string references
Fixes #3005
2022-05-16 17:29:14 +02:00
Oliver Walters
027a7c88de Copy error implementation from django-error-report lib
Ref: https://github.com/mhsiddiqui/django-error-report/blob/master/error_report/middleware.py
2022-05-17 01:17:48 +10:00
Oliver Walters
048f1ad601 Simplify DRF exception handler
- Check the default handler first
- If *any* other API requets throws an exception, will now pass through the custom handler
2022-05-17 01:03:02 +10:00
Oliver Walters
2509db2b88 JS linting 2022-05-17 00:52:01 +10:00
Oliver
c51f052f25
Merge pull request #3011 from matmair/matmair/issue2996
Remove python 2 code
2022-05-17 00:51:31 +10:00
Oliver Walters
27930cd897 PEP style fixes 2022-05-17 00:41:03 +10:00
Matthias
b630fb2856
update envguard import 2022-05-16 16:41:00 +02:00
Oliver Walters
3373bb19f1 Remove unique_together requirement on SalesOrderAllocation model 2022-05-17 00:36:30 +10:00
Oliver Walters
263ac01727 Typo fix 2022-05-17 00:35:59 +10:00
Oliver Walters
6512c0061e Catch a 500 and make it a 400
While we are at it, convert __all__ to non_field_errors automatically
2022-05-17 00:35:24 +10:00
Oliver Walters
ae50546ca6 Display API error information if available 2022-05-17 00:25:32 +10:00
Oliver Walters
1488a0e72f Adds a custom exception handler for DRF
- Handles common exceptions not captured by DRF
- Returns exeption data as a JSON object
2022-05-17 00:18:47 +10:00
Oliver
86c86bf446
Merge pull request #3006 from SchrodingersGat/bom-delete-fix
BOM delete fix
2022-05-16 23:30:22 +10:00
Oliver
31667020ae
Merge pull request #3004 from SchrodingersGat/events-fix
Add required imports to plugin.events
2022-05-16 23:05:45 +10:00
Oliver
ea2fb76a29
Translation merge (#3009)
* updated translation base

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-16 23:04:58 +10:00
Oliver
042cb021de
Merge pull request #2957 from SchrodingersGat/locate-mixin
Adds plugin mixin to "locate" items
2022-05-16 22:57:20 +10:00
Oliver Walters
6658b89946 Refactor BOM item deletion
- Send delete requests sequentially, rather than simultaneously
- Prevents server overload
- Present a much cleaner dialog to the user
2022-05-16 22:51:34 +10:00
Oliver Walters
1903ac12cd Allow customization of button class in modal forms 2022-05-16 22:43:29 +10:00
Oliver Walters
7fa83d70ad Fix for broken unit test 2022-05-16 22:14:06 +10:00
Oliver Walters
2ed69f638a Fix error message 2022-05-16 22:08:58 +10:00
Oliver Walters
73413baa59 Add required imports to plugin.events 2022-05-16 22:01:34 +10:00
Oliver Walters
bd17458f37 Add metadata endpoints for SalesOrder and PurchaseOrder models 2022-05-16 21:40:10 +10:00
Oliver Walters
5582c8ba43 Add metadata endpoints for SalesOrder and PurchaseOrder models 2022-05-16 21:29:49 +10:00
Oliver Walters
21ebf562fd Adds metadata fields to PurchaseOrder and SalesOrder models 2022-05-16 21:21:32 +10:00
Oliver Walters
a52ba05eb7 Add unit test for PartCategory API endpoints 2022-05-16 21:19:01 +10:00
Oliver Walters
37a74dbfef Adds a metadata serializer class for accessing instance metadata via the API
- Adds endpoint for Part
- Adds endpoint for PartCategory
- Adds endpoint for StockItem
- Adds endpoint for StockLocation
2022-05-16 20:59:09 +10:00
Oliver Walters
cd68d5a80e Add metadata mixin to Part and PartCategory models 2022-05-16 19:14:46 +10:00
Oliver
8052d78311
Merge pull request #3002 from SchrodingersGat/order-form-fix
Fix "fields" attribute for PurchaseOrderLineItem edit form
2022-05-16 09:29:03 +10:00
Oliver
3614e09211 Fix "fields" attribute for PurchaseOrderLineItem edit form
- The 'order' field was not being included
2022-05-16 09:25:20 +10:00
Oliver
57d481a8b8
Merge pull request #2999 from matmair/fix-todos
Fix Todo texts
2022-05-16 09:16:34 +10:00
Matthias
74a3abc4a2
make args wider 2022-05-15 23:26:46 +02:00
Oliver
c3433128b5
Merge pull request #2975 from matmair/fix-boolean
Fix boolean comparator
2022-05-16 07:22:55 +10:00
Matthias
ecccfbd546
Remove encoding header
Fixes #2996
2022-05-15 20:33:00 +02:00
Matthias
9c342e1fe3
fix definition 2022-05-15 20:06:07 +02:00
Matthias
a8d3ee15bf
fix func definition 2022-05-15 20:05:56 +02:00
Matthias
cced30c081
pass through request data 2022-05-15 18:41:39 +02:00
Matthias
23608e6933
remove unneeded args 2022-05-15 18:36:33 +02:00
Matthias
d9fe7ac272
general Todo - no specific task
removed therefore
2022-05-15 18:09:39 +02:00
Matthias
f4fbd57e6e
errors fail whole plugins now so no saving 2022-05-15 18:09:05 +02:00
Matthias
45d70737bd
we do not have server stats checks so this does not make sende 2022-05-15 18:08:42 +02:00
Matthias
9e590c1bc6
this seems fine - just keep it that way 2022-05-15 18:06:32 +02:00
Matthias
c7a2d11893
refactor to make simpler 2022-05-15 18:02:12 +02:00
Matthias
8b9c80d2a4
remove todo that is not fitting any more 2022-05-15 17:55:05 +02:00
Matthias
136d642703
Merge branch 'fix-boolean' of https://github.com/matmair/InvenTree into fix-boolean 2022-05-15 17:52:34 +02:00
Matthias
77aeecf23a
make operators simpler 2022-05-15 17:52:23 +02:00
Matthias
ca0508f2f0
update to https to match hotspots 2022-05-15 17:22:58 +02:00
Matthias
2090a4d417
add in static label test 2022-05-15 17:14:03 +02:00
Matthias
d3fb6570ad
readd static test 2022-05-15 17:12:28 +02:00
Matthias
6d34e5f5a0
Merge branch 'small-python-fixes-plugin' of https://github.com/matmair/InvenTree into not-working-tests 2022-05-15 17:06:36 +02:00
Matthias
076098a0e0
use static reference
this is stupid but is required
2022-05-15 16:50:17 +02:00
Oliver Walters
28b811d961 PEP style fixes 2022-05-16 00:47:00 +10:00
Matthias
0c0b2efbe0
raise error 2022-05-15 16:46:05 +02:00
Oliver Walters
097afed78e Adds metadata mixin class for adding JSON field to internal tables
- Add metadata field to stocklocation
- Add metadata field to stockitem
2022-05-16 00:45:16 +10:00
Oliver Walters
818be32e31 Move location plugin sample into its own directory 2022-05-16 00:35:34 +10:00
Matthias Mair
3b60b98594
Merge branch 'inventree:master' into fix-boolean 2022-05-15 16:28:51 +02:00
Oliver Walters
206da02328 Skip some git hash checks if running tests under docker 2022-05-16 00:21:05 +10:00
Oliver Walters
eebdad154a PEP fixes 2022-05-16 00:12:33 +10:00
Oliver Walters
40513c556d Remove locate button from top-level stock location 2022-05-16 00:10:50 +10:00
Oliver Walters
95dbfa1958 Merge remote-tracking branch 'inventree/master' into locate-mixin
# Conflicts:
#	InvenTree/InvenTree/api.py
#	InvenTree/InvenTree/urls.py
#	InvenTree/plugin/base/integration/mixins.py
#	InvenTree/plugin/mixins/__init__.py
2022-05-16 00:10:38 +10:00
Oliver
a26840d77f
Merge pull request #2971 from matmair/plugin-app-refactor
Plugin app refactor
2022-05-15 23:45:42 +10:00
Oliver Walters
fa954b3812 Merge remote-tracking branch 'inventree/master' into locate-mixin
# Conflicts:
#	InvenTree/InvenTree/api_version.py
#	InvenTree/InvenTree/urls.py
2022-05-15 23:44:07 +10:00
Oliver Walters
55f87033b2 Add unit tests for .webp support 2022-05-15 23:36:41 +10:00
Oliver
9c1e266628
Merge pull request #2985 from matmair/dead-code-owner
remove duplicate code
2022-05-15 21:51:57 +10:00
Oliver
db026c935b
Merge pull request #2990 from matmair/matmair/issue2989
Remove static label tests
2022-05-15 21:28:16 +10:00
Matthias Mair
dcbd9d906b
Update errors 2022-05-15 04:47:45 +02:00
Matthias
897dd115f9
PEP fix 2022-05-15 04:14:13 +02:00
Matthias
b0439267ea
fix error-type to use custom errors 2022-05-15 04:12:57 +02:00
Matthias
025c6f9b82
raise proper error 2022-05-15 04:08:45 +02:00
Matthias
7a102dcd8e
PEP fix 2022-05-15 03:22:43 +02:00
Matthias
976cbfbb8b
remove old definition 2022-05-15 03:20:11 +02:00
Matthias
5048d51558
Refactor printer into own base dir 2022-05-15 03:19:47 +02:00
Matthias
43b1d25016
PEP fix 2022-05-15 03:06:35 +02:00
Matthias
4fa23cbe4d
split up tests 2022-05-15 02:58:01 +02:00
Matthias
777e3f42df
fix test 2022-05-15 02:57:23 +02:00
Matthias
68940deb5b
rename test 2022-05-15 02:56:05 +02:00
Matthias
e68cd009f6
fix input 2022-05-15 02:54:21 +02:00
Matthias
b3f65735bf
fix test assertations 2022-05-15 02:53:12 +02:00
Matthias
eb7e9f4703
test url args in action 2022-05-15 02:49:08 +02:00
Matthias
7abdffae0d
Add post test 2022-05-15 02:48:59 +02:00
Matthias
7c0dea69b0
add test for api_call with full url 2022-05-15 02:42:40 +02:00
Matthias
039dbbbe7e
fix doctest 2022-05-15 02:40:23 +02:00
Matthias
442341de50
split into more tests 2022-05-15 02:39:55 +02:00
Matthias
3e6b37bf55
Add test without simple_response 2022-05-15 02:35:06 +02:00
Matthias
8c6061d3b7
move failing test to seperate test 2022-05-15 02:32:26 +02:00
Matthias
aeaf15b374
Test action error messages 2022-05-15 02:25:30 +02:00
Matthias
9609d8ae09
Add tests for PLUGIN_ON_STARTUP 2022-05-15 01:59:07 +02:00
Matthias
abac26725b
use returns for checks 2022-05-15 01:47:44 +02:00
Matthias
640242eca3
Add tests for plugin installs form url with pkgn 2022-05-15 01:32:52 +02:00
Matthias
1cb51d1782
Do not cover custom install dirs 2022-05-15 01:29:50 +02:00
Matthias
76f92003fd
Fix assertation 2022-05-15 01:15:00 +02:00
Matthias
6660069f45
add docs 2022-05-15 01:10:46 +02:00
Matthias
39543555af
Add test for call_funciton 2022-05-15 01:10:23 +02:00
Matthias
43179bbfd5
remove coverage where it does not make sense 2022-05-15 01:07:50 +02:00
Matthias
38cb557baf
Add test for wrong key 2022-05-15 01:07:35 +02:00
Matthias
48d458698a
reduce lines 2022-05-15 01:06:56 +02:00
Matthias
d3cc698500
merge tests together 2022-05-15 01:05:49 +02:00
Matthias
2ae5fcf6a8
PEP fix 2022-05-15 00:46:56 +02:00
Matthias
40fa86152e
Add test for wrong token 2022-05-15 00:44:26 +02:00
Matthias
75843c1789
Merge branch 'theme-tests' of https://github.com/matmair/InvenTree into not-working-tests 2022-05-15 00:25:53 +02:00
Matthias
a1a1f4debe
PEP fix 2022-05-15 00:18:31 +02:00
Matthias
f8d3aedb1d
Remove static label tests
Fixes #2989
2022-05-15 00:14:54 +02:00
Matthias
2483b746cf
remove static test 2022-05-15 00:08:46 +02:00
Matthias
f3bf126415
maybe this ressource can be found in the cloud 2022-05-14 00:11:18 +02:00
Matthias Mair
bf2b9d2beb
Update test_middleware.py 2022-05-13 19:37:09 +02:00
Matthias
53712c2d6c
PEP fix 2022-05-13 01:29:32 +02:00
Matthias
3712daca55
remove duplicate code
we are already checking this stuff from line 640
2022-05-13 01:27:40 +02:00
Matthias
80a2dad34e
remove dead code 2022-05-13 01:23:25 +02:00
Matthias
6b550e0547
Tests for token Auth 2022-05-13 01:23:12 +02:00
Matthias
a7a80da928
Add unittests for auth stack
Fixes #2980
2022-05-13 01:22:51 +02:00
Matthias
47673c293e
Merge branch 'master' of https://github.com/inventree/InvenTree into plugin-app-refactor 2022-05-12 23:45:12 +02:00
Oliver
c2dd8afea6
Merge pull request #2981 from SchrodingersGat/model-setting-reference
Add settings which reference *model instances* allowing better lookup of models
2022-05-12 17:59:56 +10:00
Oliver
c4fa72e54c PEP style fixes 2022-05-12 17:30:52 +10:00
Oliver
a81ea01e8e Model introspection
- Find the class registered to the model (or log an error)
- Pass the api_url through to the frontend
2022-05-12 17:28:55 +10:00
Oliver
e112d555d4 Simplify the various settings objects, to improve retrieval of 'parameters' from the base class
- Remove the GenericReferencedSettingsClass mixin
- Each subclass defines a very simple get_kwargs() method
- Now, at object level *and* class level we can perform lookup of settings and actually get proper data back
- Adds "model" option to setting (precursor of things to come)
2022-05-12 16:45:27 +10:00
Oliver
59cf9825fe Update comment 2022-05-12 15:16:26 +10:00
Oliver
47ddafb728 Fix edge case when converting stock item to variant
- If the stock item had been created as part of a Build Order, and subsequently "converted" to a variant part, the conversion operation will fail
- Patch allows the build reference to be linked based on either the base part, or any conversion options
2022-05-12 15:15:51 +10:00
Oliver
8edc0cc893 PEP fixes 2022-05-12 12:47:25 +10:00
Oliver
a83c3289b7 Merge remote-tracking branch 'inventree/master' into table-downloader 2022-05-12 12:44:26 +10:00
Oliver
c89547f58c Adds exporter and download functionality for BuildOrder table 2022-05-12 12:44:15 +10:00
Oliver
d0ddb47b1f Adds exporter and download button for sales orders 2022-05-12 11:44:05 +10:00
Oliver
1b1f7634b7 Adds exporter and download button for PurchaseOrder table 2022-05-12 11:41:25 +10:00
Oliver
465e69c254 Refactor exporters for:
- Part
- PurchaseOrderLineItem
2022-05-12 11:33:17 +10:00
Oliver
a77d4b97b4 Refactor stock_list endpoint to use the new mixin 2022-05-12 11:29:33 +10:00
Oliver
650d082eca Bump API version 2022-05-12 11:23:58 +10:00
Oliver
774bfdb9e7 Adds APIDownloadMixin class to implement common behaviour 2022-05-12 11:22:34 +10:00
Oliver
151f2cae6f Do not redirect requests for media / static / api / js files
- For these paths, just return a 401
- This is necessary to stop unauthorized calls to the API or to request media files from redirecting to the login page
2022-05-12 10:45:30 +10:00
Matthias Mair
af8bddf690
fix boolean comp 2022-05-12 02:30:37 +02:00
Matthias Mair
262409eba9
Merge branch 'inventree:master' into theme-tests 2022-05-12 01:51:23 +02:00
Matthias
4ed795174d
PEP fix 2022-05-12 00:52:28 +02:00
Matthias
3d580e732f
change test to slug 2022-05-12 00:51:02 +02:00
Matthias
eaab905bfd
reset plugin name default 2022-05-12 00:50:29 +02:00
Matthias
142398976c
test plugin details 2022-05-12 00:38:21 +02:00
Matthias
bd42fea5fa
another pep check 2022-05-12 00:07:19 +02:00
Matthias
699db12b24
make test more precise 2022-05-12 00:04:37 +02:00
Matthias
a6e889b25e
pep fix 2022-05-12 00:04:29 +02:00
Matthias
c809398bda
Add check for IntegrationPluginBase depreciation 2022-05-12 00:01:23 +02:00
Matthias
da3b7ae7d0
fix assertation typ 2022-05-11 23:57:21 +02:00
Matthias
c274228806
fix test 2022-05-11 23:46:41 +02:00
Matthias
8becad3c0a
reset zero behaviour 2022-05-11 23:45:45 +02:00
Matthias
c462399fef
check if depreciation fires 2022-05-11 23:45:17 +02:00
Matthias
2c83728f71
also check message 2022-05-11 23:27:42 +02:00
Matthias
f8e51c0873
fix test 2022-05-11 23:21:42 +02:00
Matthias
912d0625f0
PEP fix 2022-05-11 23:12:27 +02:00
Matthias
432a9b2e4d
add warning if plugin testing - is need to probe for 2022-05-11 23:12:21 +02:00
Matthias
4397f57acc
test that a save() action on a plugin is reloading 2022-05-11 23:11:54 +02:00
Matthias
baca0dc268
do not cover error 2022-05-11 23:05:22 +02:00
Matthias
8a91fc362b
test plugin model more 2022-05-11 23:05:08 +02:00
Matthias
da885456b7
tests for template 2022-05-11 22:47:41 +02:00
Matthias
fdc6c8300a
Merge branch 'master' of https://github.com/inventree/InvenTree into plugin-app-refactor 2022-05-11 22:03:32 +02:00
Matthias
8366620c1d
add test for user creation 2022-05-11 22:02:41 +02:00
Matthias
86f663e834
this was only used for testing 2022-05-11 21:58:14 +02:00
Matthias
63fa527fa4
ignore for cover 2022-05-11 21:58:03 +02:00
Matthias
036b58ea04
update path in test 2022-05-11 21:52:49 +02:00
Matthias
993f6380db
pep fix 2022-05-11 17:53:28 +02:00
Matthias
50156466db
fix title asks 2022-05-11 17:51:23 +02:00
Matthias
d794890264
fix assertations 2022-05-11 17:38:42 +02:00
Matthias
2a551e7ab9
Add test to replace removed coverage 2022-05-11 17:08:12 +02:00
Matthias
5cb4f0e73d
PEP fix 2022-05-11 16:57:23 +02:00
Matthias
272d2f79cc
patch mixin 2022-05-11 16:55:38 +02:00
Matthias
175066ba19
rename functions 2022-05-11 16:51:50 +02:00
Matthias
37f72e9652
remove integration naming from docs 2022-05-11 16:50:36 +02:00
Matthias
1782974df8
replace depreceated values everywhere 2022-05-11 16:46:03 +02:00
Matthias
81deb8201e
new references for Meta values in plugin
depreceate old values - add depreeation warning
2022-05-11 16:35:38 +02:00
Matthias
f17ef4585c
fix wrong import 2022-05-11 16:18:32 +02:00
Oliver
2652c75bda
Merge pull request #2972 from SchrodingersGat/user-create-auto-fix
Do not try to create a new admin user if one already exists
2022-05-11 23:29:16 +10:00
Matthias
5de6cc0d11
remove double def 2022-05-11 14:58:29 +02:00
Matthias
e8c9d71360
Adapt docs 2022-05-11 14:55:45 +02:00
Matthias
b1b1db29b9
restructure 2022-05-11 14:54:11 +02:00
Matthias
9eadcce0eb
move mixins 2022-05-11 14:48:36 +02:00
Matthias
355695c679
make MixinBase betterfor init 2022-05-11 14:47:00 +02:00
Matthias
f76dcdeb82
move properties to meta 2022-05-11 14:45:45 +02:00
Matthias
dfb11cca1d
Add legacy 2022-05-11 14:40:00 +02:00
Matthias
1571b99ed2
rename IntegrationPluginBase to InvenTreePlugin 2022-05-11 14:28:26 +02:00
Matthias
01e8b5dce3
remove InvenTreePluginBase 2022-05-11 14:21:16 +02:00
Matthias
05839ca94c
remove legacy action 2022-05-11 14:20:05 +02:00
Matthias
19cfa540d9
add export definition 2022-05-11 14:06:11 +02:00
Matthias
538e5e6c21
rename shim 2022-05-11 14:03:24 +02:00
Matthias
1636459ccd
move to use shim 2022-05-11 14:02:45 +02:00
Matthias
066eaa119d
fix import 2022-05-11 14:01:29 +02:00
Matthias
3503ca4b4e
move import back too 2022-05-11 13:54:08 +02:00
Matthias
ffe546d647
Merge branch 'master' of https://github.com/inventree/InvenTree into plugin-app-refactor 2022-05-11 13:52:36 +02:00
Oliver
362bc55479
Merge pull request #2966 from matmair/add-report-check
Add code128 template
2022-05-11 21:50:08 +10:00
Matthias
7361a9637a
move event back 2022-05-11 13:49:49 +02:00
Matthias
182ffd880a
init directories 2022-05-11 13:46:07 +02:00
Matthias
dd5f53d2ef
PEP fix 2022-05-11 13:42:15 +02:00
Matthias
887609cf2a
move import 2022-05-11 13:38:24 +02:00
Matthias
1098327ba9
move out templete renderer into helper 2022-05-11 13:32:29 +02:00
Matthias
970503f424
refactor events 2022-05-11 13:28:59 +02:00
Matthias
5a139ec74b
make import simpler
the minimum version is 3.9
2022-05-11 13:19:24 +02:00
Matthias
9788419b0c
remove unneeded import 2022-05-11 13:13:34 +02:00
Matthias
6ec3ec19a2
move parts to conform to general style 2022-05-11 13:11:27 +02:00
Matthias
51cca7a13c
move apis to their respective bases 2022-05-11 13:10:29 +02:00
Oliver Walters
f00c3639c0 PEP fxi 2022-05-11 21:04:36 +10:00
Oliver Walters
e1609c50db Typo fix 2022-05-11 20:57:42 +10:00
Matthias
499f37a97a
PEP fix 2022-05-11 12:55:52 +02:00
Matthias
16a2328702
move tests to their functions 2022-05-11 12:55:04 +02:00
Matthias
934b795f9b
split tests to functions tests 2022-05-11 12:54:01 +02:00
Matthias
4ae5ed36a7
fix imports 2022-05-11 12:53:31 +02:00
Oliver Walters
d7eab8e1a3 Improve log output 2022-05-11 20:48:26 +10:00
Oliver Walters
20fa72e36f Do not try to create a new admin user if one already exists with that name 2022-05-11 20:46:44 +10:00
Matthias
1da12fe5ff
add import comment 2022-05-11 12:45:40 +02:00
Matthias
18ad87433e
move plugin and integration together 2022-05-11 12:45:25 +02:00
Matthias
87ef2a3382
remove old code 2022-05-11 12:41:08 +02:00
Matthias
34467003ad
fix bacodeMixin base 2022-05-11 12:38:37 +02:00
Matthias
0d89959d49
move action 2022-05-11 12:38:14 +02:00
Matthias
308dd53c35
rename tests 2022-05-11 12:37:22 +02:00
Matthias
b030c42480
move inegration mixins 2022-05-11 12:36:54 +02:00
Matthias
b28f71374e
move barcodes 2022-05-11 12:35:42 +02:00
Matthias
87fa2d2067
pep fix 2022-05-11 12:28:15 +02:00
Matthias
eae80f667d
remove all functional code from /plugins 2022-05-11 12:25:17 +02:00
Matthias
3c9e4e7eab
make imports easier 2022-05-11 12:17:46 +02:00
Matthias
f0d2730ae6
rename file to fit structure 2022-05-11 12:16:06 +02:00
Oliver
96ee235563
L10 crowdin (#2967)
* updated translation base

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-11 14:08:06 +10:00
Matthias
462713ca61
pep fix 2022-05-11 04:22:42 +02:00
Matthias
b7087b83b5
Merge branch 'master' of https://github.com/inventree/InvenTree into add-report-check 2022-05-11 04:19:18 +02:00
Matthias
fa8a726399
activate barcode tests 2022-05-11 04:08:26 +02:00
Matthias
9a69f125a9
move barcodes to plugin 2022-05-11 04:08:13 +02:00
Matthias
352e718e68
remove digikey barcode plugin 2022-05-11 04:03:30 +02:00
Matthias
f620491517
add test for rendering label 2022-05-11 03:15:20 +02:00
Matthias
a65d747501
add additional template 2022-05-11 03:05:40 +02:00
Matthias
67966eba13
Add code128 template 2022-05-10 23:56:02 +02:00
Oliver Walters
9658f47e93 PEP fix 2022-05-10 22:32:44 +10:00
Oliver Walters
a6703df3c7 More fixes and unit tests 2022-05-10 22:10:56 +10:00
Oliver Walters
235954af18 Add unit test for invalid item 2022-05-10 22:08:23 +10:00
Oliver Walters
6766343f8f Update API version 2022-05-10 22:05:59 +10:00
Oliver Walters
5a978f07a5 Fix error response in barcode API 2022-05-10 22:05:08 +10:00
Oliver
db018af0ce Prevent some model based events from triggering during data import 2022-05-10 13:43:16 +10:00
Oliver
5af4629163 Order test results by decreasing date for build order
- This means that "newer" results will be found first
- Thus a newer "true" will beat an older "false"
2022-05-10 11:54:51 +10:00
Oliver Walters
a17ea3ac10 Change "identify" to "locate" for consistency with the app 2022-05-10 08:31:40 +10:00
Oliver Walters
26499816c1 javascript lint 2022-05-10 08:12:04 +10:00
Matthias
688cb7469c
fix usage of old html tags 2022-05-09 19:58:38 +02:00
Matthias Mair
1ae5df5759
Merge branch 'inventree:master' into theme-tests 2022-05-09 19:41:05 +02:00
Oliver Walters
5ea115ae83 hard code url 2022-05-10 01:18:36 +10:00
Oliver Walters
6c0661a6f2 PEP style fixes 2022-05-09 23:52:19 +10:00
Oliver Walters
35fbb910e8 Enable button for locating a StockLocation 2022-05-09 23:45:29 +10:00
Oliver Walters
224092e192 Fix typo 2022-05-09 23:44:58 +10:00
Oliver Walters
57f3efe758 Adds an endpoint for calling the plugin code to "locate" something 2022-05-09 23:42:28 +10:00
Oliver Walters
9b7c26ec9c Bump API version 2022-05-09 22:54:48 +10:00
Oliver Walters
b7cd30b314 Merge remote-tracking branch 'inventree/master' into locate-mixin 2022-05-09 22:48:44 +10:00
Oliver Walters
4704db5183 Adds 'locate item' and 'locate location' buttons 2022-05-09 22:48:26 +10:00
Oliver Walters
256af802e2 Use the new 'mixin' filter to simplify request of label printer plugins 2022-05-09 22:35:46 +10:00
Oliver Walters
26f32a0ce8 Plugin list API filters
- Filter by "active" status
- Filter by "mixin" support
2022-05-09 22:33:33 +10:00
Oliver Walters
6aeb7d723d Fix typo in mixin name 2022-05-09 22:25:09 +10:00
Oliver Walters
0a0a6a799a Fix for sample plugin 2022-05-09 22:20:00 +10:00
Oliver Walters
172705cc3b Adds sample plugin for locating items 2022-05-09 22:13:07 +10:00
Oliver Walters
59c747841c Adds plugin mixin to "locate" items 2022-05-09 22:01:27 +10:00
Oliver Walters
30d799dbc6 Fix permissions for global settings API 2022-05-09 21:43:12 +10:00
Oliver Walters
db8396564c Further unit test fixes 2022-05-09 20:47:44 +10:00
Oliver Walters
b0d2ece263 Unit test fixes 2022-05-09 20:11:02 +10:00
Oliver Walters
037e057c53 Adds global setting to enable or disable webcam support for barcode scanning 2022-05-09 19:46:11 +10:00
Oliver
77eb978c25
Merge pull request #2944 from SchrodingersGat/settings-by-key
Settings by key
2022-05-09 19:38:46 +10:00
Oliver Walters
b3c1d6b603 Fix plugin registry function so tests pass 2022-05-09 07:59:01 +10:00
Oliver Walters
3db09156ed Check for empty column name in data importer
Ref: https://github.com/inventree/InvenTree/issues/2940
2022-05-09 07:53:10 +10:00
Matthias
061314e989
Merge branch 'master' of https://github.com/inventree/InvenTree into theme-tests 2022-05-08 22:55:56 +02:00
Oliver Walters
aed02f6f0f PEP fixes 2022-05-08 22:53:49 +10:00
Oliver Walters
e78a5dc104 Keep existing behaviour for notification settings (at least for now) 2022-05-08 22:52:08 +10:00
Oliver Walters
3a9bacb27c Implement new approach for plugin settings
- URL specifies plugin slug and setting key
2022-05-08 22:48:47 +10:00
Oliver Walters
f733e23b65 Update serializer for plugin settings API
- Use string key rather than pk for plugin
- Allow filtering by 'enabled' status of the plugin
- Allow filtering by the plugin key
2022-05-08 17:46:19 +10:00
Oliver Walters
5cd2c20a11 PEP style fixes 2022-05-08 17:32:23 +10:00
Oliver Walters
6415a20e6e Update api_version.py 2022-05-08 13:33:28 +10:00
Oliver Walters
9e872d283b Update unit tests to match new format
- Add more unit tests for global settings
- Add more unit tests for user settings
2022-05-08 13:31:53 +10:00
Oliver Walters
5560706c33 User settings are now accessed via unique KEY 2022-05-08 10:58:31 +10:00
Oliver Walters
dd017f36c7 Augment existing frontend code to allow adjustment of notification settings 2022-05-08 10:50:57 +10:00
Oliver Walters
cd6a6b9196 Access global settings via the API using the <key> of the setting, rather than the <PK>
- Allows us to access settings even if they have not been 'created' yet
- Settings are created with default values if not found
2022-05-08 10:39:14 +10:00
Oliver
64e2234159
Merge pull request #2937 from SchrodingersGat/panel-plugin
[Feature] UI Plugins
2022-05-08 09:01:43 +10:00
Oliver Walters
ada1eeeb35 Remove 'no cover' 2022-05-08 07:53:21 +10:00
Matthias
df6d1a85da
fix assertation 2022-05-07 23:35:38 +02:00
Matthias
13854998ea
Add test for ColorTheme 2022-05-07 23:12:15 +02:00
Oliver Walters
50d8f242bb Fix for unit test 2022-05-07 23:50:41 +10:00
Oliver
52bae1feef
Translation updates (#2924)
* updated translation base

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-07 23:25:54 +10:00
Oliver Walters
b2689b943e Specific call to super() was actually needed 2022-05-07 23:22:54 +10:00
Oliver Walters
e57a3870c6 Fix build index template 2022-05-07 22:47:48 +10:00
Oliver Walters
06e79ee91b Move view mixin to plugin.views 2022-05-07 22:34:03 +10:00
Oliver Walters
9f15dd8e2a Custom panels can now be rendered from a template 2022-05-07 22:32:26 +10:00
Oliver Walters
103921f5c4 Rename plugin.loader to plugin.template
- Add helper function for rendering a template
2022-05-07 19:59:59 +10:00
Oliver Walters
44c4e88646 Add a configurable setting to the demo plugin 2022-05-07 02:17:20 +10:00
Oliver Walters
96f61dfcdb Add plugin description 2022-05-06 23:48:24 +10:00
Oliver Walters
bcf6e41b48 Add some example docs 2022-05-06 23:43:54 +10:00
Oliver Walters
5ed0128435 PEP style fixes 2022-05-06 23:34:34 +10:00
Oliver Walters
60f799c90a Add plugin view support for most of the remaining views 2022-05-06 23:32:42 +10:00
Oliver Walters
243e3ff37d Fix calls to super() 2022-05-06 23:32:09 +10:00
Oliver Walters
12c58b14d6 Improvements for panel mixin sample 2022-05-06 23:19:47 +10:00
Oliver Walters
0797e9ebf0 Simplify the new template rendering
- No extra template code is required for any new page
- All loaded in base.html or page_base.html
- Oh, so clean!
2022-05-06 23:19:21 +10:00
Oliver Walters
71128a1c8e Refactor the plugin javascript template
- Can appear in "base.html"
- Only renders anything if there are actually plugins available for the page
2022-05-06 22:57:15 +10:00
Oliver Walters
c80b36fc2f Adds a new InvenTreePluginMixin mixin class for enabling custom plugin rendering on a page
- Any view which needs custom plugin code must implement this mixin
- Initially implement for the PartDetail page
2022-05-06 22:52:52 +10:00
Oliver Walters
7b8a10173d Adds a new "Panel" mixin which can render custom panels on given pages
- Adds item to sidebar menu
- Adds panel content
- Runs custom javascript when the page is loaded
2022-05-06 22:49:51 +10:00
Oliver Walters
28e16616e5 Adds a PanelMixin plugin mixin class
Intended to allow rendering of custom panels on pages
2022-05-06 21:32:11 +10:00
Oliver Walters
170cb54490 Sort urls.py 2022-05-06 21:30:27 +10:00
Oliver Walters
b80ff5e460 Tweak display of plugin badges 2022-05-06 21:03:30 +10:00
Oliver
9e1d8e52f3
Merge pull request #2805 from matmair/matmair/issue2385
Plugins for notifications
2022-05-06 20:00:56 +10:00
Oliver
1b7172b57e
Merge pull request #2936 from matmair/test_tags
Test more templatetags
2022-05-06 12:16:14 +10:00
Matthias
09ceada639
fix test assertation 2022-05-06 03:03:08 +02:00
Matthias
0d0b713f6e
Fix tests 2022-05-06 02:26:58 +02:00
Matthias
2261e7a615
PEP fix 2022-05-06 02:20:38 +02:00
Matthias
33e3385830
fix assertations 2022-05-06 02:17:53 +02:00
Matthias
20d552f809
extend tag tests 2022-05-06 02:13:25 +02:00
Matthias
0eff4a4526
can not be covered in testing 2022-05-06 02:07:59 +02:00
Matthias
baf7e4505e
do not cover pacakge code - is not CI'd 2022-05-06 01:52:32 +02:00
Matthias
9a9a7e0ff4
also cover list API 2022-05-06 01:31:23 +02:00
Matthias
a2331829c9
this can not happen with normal operation 2022-05-06 01:31:11 +02:00
Matthias
d5c95f2225
only safety test - api is not callable as non-user 2022-05-06 01:29:16 +02:00
Matthias
8f220837d0
only log messages about notification methods 2022-05-06 01:25:22 +02:00
Oliver
eb1aad71ea
Merge pull request #2935 from matmair/fix-anon-static
fix error with anon connections and language check
2022-05-06 09:16:57 +10:00
Matthias
2b1d4ba9c1
add test for plugin settings 2022-05-06 01:15:12 +02:00
Matthias
7f8d20da0f
test _str 2022-05-06 01:12:22 +02:00
Matthias
1a70829f5c
do not cover dev error catcher 2022-05-06 01:12:11 +02:00
Matthias
a77382d0b5
sadd test for notification user settings 2022-05-06 01:04:00 +02:00
Matthias
50b17d6ae8
add mixin test 2022-05-06 01:03:11 +02:00
Matthias
ccefaade92
Add args back in to serializer 2022-05-06 00:48:20 +02:00
Matthias
1676cb8eb8
fix error with anon connections and language check 2022-05-06 00:13:58 +02:00
Matthias
28b8e27698
Merge branch 'matmair/issue2385' of https://github.com/matmair/InvenTree into matmair/issue2385 2022-05-06 00:11:38 +02:00
Matthias
fe4b264ae1
Fix user check 2022-05-06 00:11:26 +02:00
Matthias Mair
a1016c746c
Merge branch 'inventree:master' into so_fix_clean 2022-05-05 11:27:44 +02:00
Matthias Mair
6bd997ffad
Merge branch 'inventree:master' into matmair/issue2385 2022-05-05 11:26:25 +02:00
Matthias
164a8acf33
make genericref simpler 2022-05-05 01:31:19 +02:00
Matthias
17127e914d
PEP fix 2022-05-04 17:44:27 +02:00
Matthias
05d1f9703e
Add nice repr for NotificationUserSetting 2022-05-04 17:42:45 +02:00
Matthias
a27f8a427a
Merge branch 'matmair/issue2385' of https://github.com/matmair/InvenTree into matmair/issue2385 2022-05-04 17:40:47 +02:00
Matthias
cf986e557c
make unloading safer 2022-05-04 17:40:44 +02:00
Matthias
b16305afef
add html for notification setting 2022-05-04 17:40:04 +02:00
Matthias
0ff407348d
Add admin for NotificationUserSetting 2022-05-04 17:39:37 +02:00
Matthias
34855bbb37
add API endpoint for notifications 2022-05-04 17:38:50 +02:00
Matthias
c684e7d5e0
Add generic serializer 2022-05-04 16:57:39 +02:00
Oliver
1dee578907
Merge pull request #2931 from SchrodingersGat/more-api-functionality
Converting more forms to the API
2022-05-04 23:24:28 +10:00
Matthias
df9ca599a2
use full names consistently 2022-05-04 15:18:36 +02:00
Matthias Mair
a6bede877a
Merge branch 'inventree:master' into matmair/issue2385 2022-05-04 15:11:56 +02:00
Oliver Walters
82541ede32 More unit tests
- BuildOrderCancel
- StockItemInstall
- StockItemUninstall
2022-05-04 22:49:21 +10:00
Matthias
055b9c9a46
remove duplicate endif 2022-05-04 13:57:35 +02:00
Oliver Walters
1c0fba0fca Add unit test for SalesOrderCancel API endpoint 2022-05-04 21:51:09 +10:00
Oliver Walters
7a5be35f10 Add unit tests for new purchase order API endpoints:
- PurchaseOrderCancel
- PurchaseOrderComplete
- PurchaseOrderIssue
2022-05-04 21:44:38 +10:00
Matthias
19d3b03280
fix double endif 2022-05-04 13:10:49 +02:00
Matthias
5435cd28c9
redirect to index if company was deleted 2022-05-04 12:39:56 +02:00
Matthias
00dffd953b
add messages if company was deleted 2022-05-04 12:39:12 +02:00
Matthias
1a3d482e42
Merge branch 'master' of https://github.com/inventree/InvenTree into matmair/issue2788 2022-05-04 12:33:21 +02:00
Matthias Mair
cf93ba7cf9
Merge branch 'inventree:master' into matmair/issue2385 2022-05-04 12:23:05 +02:00
Oliver Walters
88dbd5aa74 PEP fixes 2022-05-04 18:46:07 +10:00
Oliver Walters
104f9d4a70 Remove outdated unit tests 2022-05-04 18:39:33 +10:00
Oliver Walters
17c84141b1 Javascript linting 2022-05-04 17:38:01 +10:00
Oliver Walters
7365f7b5cb Paint the icon red 2022-05-04 17:33:19 +10:00
Oliver Walters
1cefdfc2e4 PEP style fixes 2022-05-04 17:31:44 +10:00
Oliver Walters
adbcd68fe8 Refactor "uninstall stock item" form to use the API 2022-05-04 17:25:24 +10:00
Oliver Walters
5cf30a850d Prune a lot of dead code 2022-05-04 17:01:19 +10:00
Oliver Walters
bd3d6f47a1 Refactor CancelBuild form 2022-05-04 16:30:46 +10:00
Oliver Walters
768e23c7b8 Refactor BuildOrder API classes with a fancy mixin 2022-05-04 15:59:30 +10:00
Oliver Walters
a510ca89f7 Refactor CancelSalesOrder form 2022-05-04 15:55:21 +10:00
Oliver Walters
bf48e3204b Refactor PurchaseOrderIssue form 2022-05-04 15:45:13 +10:00
Oliver Walters
5afc3bfce2 Replace PurchaseOrderComplete form 2022-05-04 15:33:50 +10:00
Oliver Walters
e527ddcc86 Extract context information from the OPTIONS request (forms.js) 2022-05-04 15:31:33 +10:00
Oliver Walters
4e7d1d8e7f Bump API version 2022-05-04 15:16:50 +10:00
Oliver Walters
62cd0f39c7 Replace the existing CancelPurchaseOrderForm with an API driven form 2022-05-04 15:14:14 +10:00
Oliver Walters
e920fc31e7 Only include extra context information if requested 2022-05-04 15:07:22 +10:00
Oliver Walters
c7980a347e Adds ability to add custom serializer context information to the OPTIONS endpoint
- Will be useful for constructing prettier forms with information about the endpoint
2022-05-04 15:06:02 +10:00
Oliver
628c9edd09
Merge pull request #2929 from SchrodingersGat/spelling-fixes
Fix speling errors in translated strings
2022-05-04 09:56:47 +10:00
Oliver
b65a969433
Merge pull request #2928 from matmair/coverage-adaption
Increase coverage
2022-05-04 09:39:24 +10:00
Oliver Walters
75e24635b5 Fix speling errors in translated strings 2022-05-04 09:17:42 +10:00
Matthias
8038cff874
ignore for coverage 2022-05-04 00:43:49 +02:00
Matthias
6504ef535a
fix test - len needs to be recalculated 2022-05-03 23:23:36 +02:00
Matthias
e1b395c9be
test is_active 2022-05-03 23:19:51 +02:00
Matthias
cf0cbff69a
we are not covering packages right now 2022-05-03 23:19:01 +02:00
Matthias
5e277130fa
do not cover not implemented Mixin 2022-05-03 23:07:16 +02:00
Matthias
c5acfaf541
do not coverage catch for load 2022-05-03 23:06:57 +02:00
Matthias
e95c3e0948
do not cover default returns 2022-05-03 23:06:38 +02:00
Matthias
1522d330fa
add test for is_sample 2022-05-03 23:06:11 +02:00
Matthias
096c0c876c
PEP fix 2022-05-03 22:58:24 +02:00
Matthias
d49f74746a
test that MixinImplementationErrors raise 2022-05-03 22:56:28 +02:00
Matthias
204b4fd527
rename test 2022-05-03 22:55:39 +02:00
Matthias
626e3838ae
also cover errors 2022-05-03 22:15:24 +02:00
Matthias
a357c4ef88
also cover unregistering 2022-05-03 22:13:29 +02:00
Matthias
08e278232b
ignore db not ready in coverage 2022-05-03 22:12:34 +02:00
Matthias
b9cbc287f2
empty mixin schaffold - no tests 2022-05-03 22:10:26 +02:00
Matthias
0a012c3c58
only possible in test cases with plugin_tests off 2022-05-03 22:09:58 +02:00
Matthias
4663815cfa
this is just an extra safety check - should not trigger 2022-05-03 22:09:20 +02:00
Matthias
4e5015e742
do not cover unready db 2022-05-03 22:08:57 +02:00
Matthias
58a5eac66a
ignore outside sample code in coverage 2022-05-03 22:06:10 +02:00
Matthias
07a86a3883
ognore catches in coverage 2022-05-03 22:05:56 +02:00
Matthias
7c437a3cf2
adjust testing function to also check return 2022-05-03 21:59:17 +02:00
Matthias
70b108d813
add check for call function 2022-05-03 21:56:58 +02:00
Matthias
5ea6a325ee
fix smaple code 2022-05-03 21:48:49 +02:00
Matthias
5fa7b45d1d
Add tests for scheduling
Closes #2523
2022-05-03 21:39:45 +02:00
Matthias
300558adb0
increase coverage on owners model 2022-05-03 20:26:49 +02:00
Matthias
05d2d3664c
ignore defaults for coverage 2022-05-03 20:13:07 +02:00
Matthias
0900fe82dc
ignore coverage on reverse conversion 2022-05-03 20:11:41 +02:00
Oliver
a191e45511
Merge pull request #2927 from SchrodingersGat/order-parts-wizard
Order parts wizard
2022-05-03 18:36:45 +10:00
Oliver Walters
e7ddeb8173 PEP style fixes 2022-05-03 17:36:30 +10:00
Oliver Walters
96c5a8252c remove dead code 2022-05-03 17:33:03 +10:00
Oliver Walters
f0e8e32c8a More refactoring 2022-05-03 17:27:21 +10:00
Oliver Walters
f3e8edaf1f Refactor for SupplierPart detail page 2022-05-03 17:21:33 +10:00
Oliver Walters
05b01e4d6c Refactor order parts for manfuacturer part detail page 2022-05-03 17:16:38 +10:00
Oliver Walters
28f3244574 Order parts from "supplier parts" page
- Prevent duplicate parts from loading
2022-05-03 16:52:23 +10:00
Oliver Walters
c0163a476f Refactor 'order parts' window from manufacturer part list 2022-05-03 16:42:00 +10:00
Oliver
1158b81b8b
Merge pull request #2926 from SchrodingersGat/event-generation
Use the tablename when generating automatic model events
2022-05-03 15:38:31 +10:00
Oliver Walters
bac5a16491 JS linting fxies 2022-05-03 14:28:41 +10:00
Oliver Walters
141b764b94 Modal fixes 2022-05-03 14:01:25 +10:00
Oliver Walters
8cd8581dbf fixes 2022-05-03 13:51:04 +10:00
Oliver Walters
1794f65d19 Button to submit each row individually 2022-05-03 13:44:28 +10:00
Oliver Walters
d69b5811b1 Improved javascript log / warn / error messages 2022-05-03 12:00:28 +10:00
Oliver Walters
4732efb330 Fix callbacks for adding new supplier part and/or purchase order "inline" 2022-05-03 11:42:13 +10:00
Oliver Walters
f1d8bf71b7 Use the tablename when generating automatic model events 2022-05-03 10:18:11 +10:00
Matthias
87515b1b48
fix __str__ instance 2022-05-02 22:46:03 +02:00
Matthias
e7b189ba29
fix templates 2022-05-02 22:41:24 +02:00
Matthias
8f3899ffe6
move migrations 2022-05-02 22:10:50 +02:00
Matthias Mair
0c338cb2ae
Merge branch 'inventree:master' into matmair/issue2788 2022-05-02 21:50:57 +02:00
Matthias Mair
4125803e6d
Merge branch 'inventree:master' into matmair/issue2385 2022-05-02 21:50:52 +02:00
Oliver Walters
e87a02638e Merge remote-tracking branch 'inventree/master' into order-parts-wizard
# Conflicts:
#	InvenTree/order/serializers.py
#	InvenTree/templates/js/translated/model_renderers.js
2022-05-02 16:11:11 +10:00
Oliver Walters
18080f329b Remove compiled .mo files from tracking 2022-05-02 10:52:30 +10:00
Oliver
194d72e63e
updated translation base (#2914)
* updated translation base

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-02 10:31:31 +10:00
Matthias Mair
e418a54c25 PEP fix 2022-05-01 21:48:45 +00:00
Matthias Mair
8490589fa9 check for only unique methods to be added 2022-05-01 21:46:31 +00:00
Matthias
96e6752324
remove double import 2022-05-01 22:13:35 +02:00
Matthias
e7a0cf7342
fix old url() usage 2022-05-01 22:04:37 +02:00
Matthias
de6507e918
update translation commands 2022-05-01 22:03:49 +02:00
Matthias
67ab45bdee
update depreciated paths 2022-05-01 22:00:18 +02:00
Matthias
d05472b30c
upgrade to pyhton 3.9 syntax
using pyupgrade
2022-05-01 21:53:12 +02:00
Oliver
cc42977233
Merge pull request #2910 from SchrodingersGat/translation-ci
Translation CI
2022-05-01 23:19:58 +10:00
Oliver Walters
526571c062 Prevent recursion 2022-05-01 22:50:56 +10:00
Oliver Walters
e3c3ed28da PEP fixes 2022-05-01 22:46:50 +10:00
Oliver Walters
0a3613476c Fix empty translation string 2022-05-01 22:34:03 +10:00
Oliver Walters
d72efc3757 Small tweaks
- Factor out native_value property (not needed!)
- PEP fixes
2022-05-01 22:30:24 +10:00
Oliver Walters
f794d91e5c Adds more unit tests for global settings objects 2022-05-01 22:26:51 +10:00
Oliver Walters
0f8f9f3e5e Add unit test for integer settings with validator 2022-05-01 22:21:57 +10:00
Oliver Walters
f972551246 Add unit test for multiple-choice setting type 2022-05-01 22:07:16 +10:00
Oliver Walters
eabe082f0a Add unit tests for boolean user settings (via the API) 2022-05-01 20:23:50 +10:00
Oliver Walters
75fa0bed26 Render "native value" in serializer 2022-05-01 20:13:58 +10:00
Oliver Walters
5d4972d981 Convert settings to 'native' values before running callable valiators 2022-05-01 19:46:17 +10:00
Oliver Walters
3777686c92 503 page was missing inventree_extras
(cherry picked from commit 1a8fd7878ea253f7cdfd50f54850827e634fcb0f)
2022-05-01 19:44:52 +10:00
Oliver
433ecdb2c3
Merge pull request #2714 from matmair/matmair/issue2694
[FR] Add delivery cost (excluding unit cost that already exists) in PO
2022-05-01 10:28:47 +10:00
Matthias
93a05491ce
PEP fix 2022-05-01 00:17:07 +02:00
Matthias
58901a8cf6
fix migrations 2022-05-01 00:15:02 +02:00
Matthias
0c72fa180c
fix model backtrack 2022-05-01 00:09:17 +02:00
Matthias
9947cc2b08
remove old permissionset 2022-05-01 00:07:37 +02:00
Matthias
132f4aa82e
Use set_null instead 2022-05-01 00:07:13 +02:00
Kálmán Rózsahegyi
b8399e4887 Increment number of JS files in test_js_load 2022-04-30 21:56:05 +02:00
Kálmán Rózsahegyi
c7692475a8 Add onBarcodeScanClicked() to exported functions 2022-04-30 21:28:55 +02:00
Matthias Mair
c18579088a
Merge branch 'inventree:master' into matmair/issue2385 2022-04-30 19:53:32 +02:00