Commit Graph

14635 Commits

Author SHA1 Message Date
Oliver
86ca0b27a4
Purchase history graph fix (#5421)
* Fix debug messages

* Fix bug in purchase history chart

- Use new pack_quantity_native attribute
2023-08-10 14:24:59 +10:00
Oliver
a1d2782137
Add optional "description" column to SalesOrderLineItem table (#5419)
- Provides more visibility for part information
2023-08-10 13:00:55 +10:00
Matthias Mair
ebbc27047b
[P-UI] Home page (#5344)
* Add new start page

* [FR/P-UI] Home/Start page - widgets

* load widgets dynamic

* code cleanup

* remove lodash

* refactor and rename to WidgetLayout

* Add CSS serving

* removed unneeded complexity

* clean up UI; switch to menu for controls

* change signature

* added hotkey

* removed hover

* removed dummy widget

* Add translations

* fix test

* uses real data for getting started

* adapted style for GettingStartedCard

* added placeholder usage to GettingStartedCard
2023-08-09 22:32:53 +10:00
Oliver
62362455b8
Sales order variant stock (#5415)
* Annotate available variant stock to SalesOrderLine serializer

* Filter variant stock by:

- active = True
- salable = True

* Add 'salable' filter to StockList API

* Filter available stock in sales order table:

- Must be salable
- Must be active

* Update table display

* Bump API version
2023-08-09 21:45:12 +10:00
Lukas
1fe382e318
Fix plugin pickeling (#5412) 2023-08-09 21:18:21 +10:00
Ben Charlton
af14cef29c
Add missing __init__.py to Inventree/web (#5390) 2023-08-08 15:58:11 +10:00
Oliver
e468227fbe
Email fix (#5396)
* Construct absolute URL when sending email confirmation

* Implement required changes to auth URLs

* Fix unit test
2023-08-08 14:37:38 +10:00
Matthias Mair
131442b6c7
fixes small style error in panel.md (#5404) 2023-08-07 09:50:20 +10:00
Matthias Mair
6e13034bc7
Add playground (#5359) 2023-08-06 21:59:03 +10:00
Matthias Mair
2f224b3c19
Packages - force python 3.9 (#5206)
* specify python 3.9

* now support 12 too

* rmove 12

* change deps

* add dedicated wheel install

* add dev headers (for rappidfuzz)
2023-08-06 21:50:38 +10:00
Michael
e1abe5be40
Added docs on the panel plugin example (#5402)
* added docu and image for panel plugin example

* format
2023-08-06 21:49:29 +10:00
Matthias Mair
b6cb20ccfa
increased settings value from 200 to 2000 (#5403)
Closes #5400
2023-08-06 21:47:14 +10:00
Matthias Mair
71026c338c
Use error report fork (#5171)
* switch to django-error-report-2

* fix commit

* bump version

* bump error-report version
2023-08-06 21:41:57 +10:00
Matthias Mair
879d496e26
Bump deps (#5385)
* bump deps

* use isinstance where possible

* and another bump ;-)

* small fix for isinstance

* fixed wrong comparison

* fixed comparision

* use exact comparision
2023-08-06 21:39:15 +10:00
Oliver
54e0e47c6a
Handle case where calculation may be performed on invalid values (#5394) 2023-08-03 14:17:09 +10:00
Oliver
73891f0b94
Hindi support (#5389)
* Add support for hindi language code

* Add initial translation file for hindi
2023-08-02 23:18:42 +10:00
Oliver
eeabc8d1f9
Pin mkdocs version to 1.4.3 (#5388)
- Updates to readthedocs policy mean that this needs to be pinned
- Moving to 1.5.0 breaks current documentation set
2023-08-02 22:52:01 +10:00
Oliver
c39ae80a13
Improve sorting of part column for BOM table (#5386) 2023-08-02 17:37:00 +10:00
Oliver
647c3ade20
Pint unit fix (#5381)
* Accept conversion of fractional values

- e.g. "1/10" is a valid input value
- pint dimensions returns strange results sometimes

* Add option (default) to return value without units

- Handles conversion for "stringish" input values

* Update unit tests

* Fix return from convert_physical_value method

* Update unit tests

* Improved checking for conversion code

* Call to_base_units first

* Conversion depends on whether units are supplied or not

* Updates to unit testing

* Handle conversion of units for supplier parts

- Includes some refactoring
2023-08-02 14:46:28 +10:00
Oliver
7394ddae33
Build output table sort (#5380)
* Implement sorting for "build output" column in build output table

* Implement sorting for the "required tests" column

* use isNan
2023-08-01 12:52:36 +10:00
Oliver
668dab4175
Fix auto-allocation of build outputs (#5378)
- Creation of BuildItem objects was using old model references
2023-08-01 11:23:01 +10:00
Hendrik v. Raven
ee5416719f
Fix SSO check comparing id against name and extend log output (#5340)
* add error log on SSO check failure

* sso_check_provider: fix by comparing against id

the name is the pretty printed version which not necessarily is the same
as the provider id it is compared against. This fails e.g. for the
microsoft allauth extension where the id is microsoft, but the name is
"Microsoft Graph".

Closes: #5330
2023-08-01 10:38:29 +10:00
Oliver
90383ccb53
Fix for migration - updating from old version (#5372) 2023-07-31 12:40:04 +10:00
Oliver
36d669d70d
Fix for label printing plugins (#5371)
- Don't pass pdf_file data to background process
- pre-rendered template data cannot be pickled
2023-07-31 10:07:12 +10:00
Oliver
b89a120f9e
Return 404 on API requests other than GET (#5365)
- Other request methods need love too!

(cherry picked from commit 59ffdcaa19)
2023-07-28 21:48:37 +10:00
Oliver
87da286f2f
Handle purchase price export for .xls files (#5362) 2023-07-28 15:28:50 +10:00
Oliver
5f3d3b28b3
Handle errors when printing reports (#5360)
- Re-throw as a ValidationError
- Results in a 400 error, not a 500
2023-07-28 13:47:46 +10:00
Oliver
7e7d4d01a2
Global search input drawer (#5346)
* First pass at global search input drawer

* Perform debounced query

* Build custom search query

* Render basic search results

* Flesh out more search types

* Add TODO

* Remove "bold" property

* Updates

* Improve rendering of search results

* Center loader

* Implement better "refresh" button

* Add alert on error

* Add "no results" alert

* Fix regex and whole word search
2023-07-27 13:05:39 +10:00
Matthias Mair
39464f645a
Add netlify for fast previews (#5353)
* Add netlify to readme

* add redirect for testing

* fix command

* add SPA redirect

* run desktop lighthouse tests

* add base dir

* remove base dir - use app redirect

* remove unneeded redirect

* remove status

* remove status

* static redirects

* remove toml redirect

* use toml again

* make redirect conditional

* add debug msg

* remove check section
2023-07-27 11:17:44 +10:00
Oliver
339eae53a1
[WIP] Mantine datatables (#5218)
* Create dependency-review.yml

* Create scan.yml

* Create sonar-project.properties

* add option to use sections and refactro

* translate error messages

* remove unneeded vars

* move function code

* move data inside

* add global section

* add plugin section

* use translated section titles

* add translation strings

* rename scan action

* add user settings

* use ordered data

* fix settings url

* use debounced value for strings (not choices!)

* rename contex to context

* move i18n provider up

* move theme options into seperate context/ component

* renmae statrtup vars

* move translations out

* reactivate sentry

* move i18n provider to seperate context

* move langauge state completly out of App

* use theme out

* move theme context

* move LanguageContext

* move function into state

* make sentry optional for now

* add key to accordion

* init langauge context on top

* remove unneeded css files

* move errorpage to tsx

* add translation for error page

* Add error to title

* add typecast for error

* move type definition out

* remove todo -> type was already added

* upgrade deps

* add bootstrap

* remove @mantine/core

* readd core

* switch to bootstrap

* simplify import

* Add SPA views for react #2789

* split up frontend urls

* Add settings for frontend url loading

* add new UI scaffold

* remove tracking insert

* add platform app

* ensure static indexes work too

* add lingui

* add lingui config

* add mgmt tasks

* add base locales

* settings for frontend dev

* fix typo

* update deps

* add pre-commit

* add eslint

* add testing scaffold

* fix paths

* remove error - tests trip correctly

* merge workflow

* cleanup samples

* use name inline with other tests

* Add real worl frontend tests

* setup env

* tun migrations first

* optimize setup time

* setup demo dataset

* optimize run setup

* add test for class ui

* rename

* fix typo

* and another typo

* do install

* run migrations first

* fix name

* cleanup

* use other credentials

* use other credentials

* fix qc

* move envs to qc

* remove create_site

* reduce testing env

* fix test

* fix test call

* allaccess user

* add ui plattform check

* add better check

* remove unneeded env

* enable debug

* reduce wait time

* also build frontend on static

* add sekeleton

* fix various issues

* add locales

* clean output before building

* cleanup dir

* remove bootstrap

* clean up deps

* fix settings panel

* remove assets

* move logo

* split out router

* split up chunks

* fix zustand import syntax

* bundl

* update pre-render

* use vendor splitting

* maximes space usage

* enlarge breakpoints

* remove wired color changes

* cleanup tabs

* fix error

* update auth functions

* default to mail login

* add placeholder marking

* Add text to placeholder

* readd codespell

* add another test

* add sort plugin

* add sort plugin

* sort imports

* fix order

* Add mega menu

* run pre-commit fixes

* add node min version

* Docker container (#129)

* Fix allocation check for completing build order (#5199)

- Allocation check only applies to untracked line items

* docker dev

Install required node packages to docker development image

* add import order settings

* cleanout built ui

* Add "parttable" component

* Add task to serve front-end code dev

* remove default arg from build

* remove eslint

* optimize svg

* Adds generic function for rendering a table with server-side data

* Implement pagination and sorting

* Add more example columns

* Enable selection of table data rows

* add build step for plattform UI

* fix install command

* optional parameters

* Add simple stock table

* Add optional parameter for default sort

* Change "no records" text based on query result

* Translate

* Start writing some helper functions

* Add thumbnail component

* Fill out more columns for stock table

* Add simple skeleton for table search input

* Adjust default table properties

* Change loader variant

* Drop-down for selecting table columns

* Add search text callback

* use alpine commands

* do not use cache when creating image

* More updates for inventree table

- Fix search text entry
- Add "refresh" button
- Adjust variable names

* Search input improvements

- Add button to clear search input

* Enable mantine notification system

* Add "not yet implemented" notification message

* Add download action button

* Adds ButtonMenu component

- Button which expands to show other actions
- Add hooks for adding action menus to tables

* Add basic build order list table

* Add custom filters button for table

* Allow columns to be toggled

* Column visibility saved across table loads

* Adds display for table filters

- Define interface for table filter definition
- Add component for displaying filters
- Cleanup for part table

* Cleanup

* Define type for controlling column data

* Allow custom ordering term for table column

- Replaces "sortName" concept from bootstrap-table

* Improve build order table

- Fancy progress bars

* Reimplement invoke task to serve frontend files via yarn

* Update package files with mantine

* Implement callback when record selection is changed

* Adds generic "actionbutton" component

* Remove duplicate form components

* Remove tracked files in web/static

* Remove a bunch of files

- tracked in from the wrong original branch

* More page fixes

* Revert changes to reqiurements-dev.txt

* Spelling fix

* Component updates

* Cleanup components

* Cleanup

* Use spread operator

* Add some new dummy pages for testing

* Cleanup / simplify stockitem table

* Cleanup for part table

* Cleanup build order table

* Cleanup column toggle function

* Remove hard-coded URL

* Format updates

* Update deps

* npm required for inventree-python checks

* Fix search input

- Better debouncing
- Cleaner code

* Update package files

* vite polling fixes

* Implementation for download button

- Dropdown menu with file format options

* Implement callback for download of table data

* Better state management for hidden columns

* Implement state framework for active custom filters

* Silence some errors

* Revert change to vite config

* Implement collapsible filter list group

- Save active filters to local storage
- Add some example filters to the part table
- Add FilterBadge component

* Fix page names

* Simplify search input

- useDebouncedValue

* linting

* Refactor

* Remove debug msg

* Simplify search state

* Refactor function for constructing API query

* Add tooltip

* Update icons

* Add modal for selecting filter options

* Add more table filters for part table

* render custom item for filter select

* Complete implementation for selectable filters

- Allow choices to be specified as attribute
- Allow choices to be specified as function
- Handle state management for filter choice form

* Tweak badge

* Cleanup top-level yarn and npm files

* Less roundy

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2023-07-27 10:10:07 +10:00
Oliver
941451203a
Exclude some common fields from django-import-export (#5349)
- Add "get_fields()" method to InvenTreeResource
- Override default behaviour and exclude some common fields
- Will flow down to any inheriting classes
2023-07-26 16:54:02 +10:00
Oliver
6660508326
Allow duplicate BOM items when duplicating a part (#5347) 2023-07-26 16:47:59 +10:00
Matthias Mair
c614b78faf
Add old dashboard page for now (#5325) 2023-07-26 10:10:18 +10:00
Lukas
073a275d89
Skip ready functions if not in main thread or plugins are not loaded yet (#5005)
* Skip ready functions if not in main thread or plugins are not loaded yet

* Debug integration tests

* Update ready.py

* Update ready.py

* Fix isInMainThread and isPluginRegistryLoaded ready functions

* Preload gunicorn app to only invoke the appconfig ready functions once

* debug: test prints for statistics

* Remove debug print

* Test without

* Revert "Test without"

This reverts commit 1bc1872893.

* Second test

* Add checks back to part, label, user model

* Add checks back to inventree, plugin apps

* log server output for debugging

* hopefully I can get the log this time+

* Next test

* Test with --noreload

* Next test

* trigger: ci, because session expired

* block the second ready execution instead of the first

* fix: load order

* Fix test and revert gh actions workflow change

* Added all_apps method to reload machanism

* Changed detect reload mechanism

* Also trigger ready on reload

* Add skipping second reload back for testing mode

* Added doc string back

* Update InvenTree/plugin/base/integration/AppMixin.py
2023-07-26 08:33:13 +10:00
Seth Price
60f344a360
Remove container-name:s from Compose file (#5339)
* Remove `container-name:`s from Compose file

* Remove `container-name:`s from dev Compose file

I forgot this one existed, oops.
2023-07-25 12:51:37 +10:00
Oliver
bfedb9cf87
Email config fix (#5336)
* Change for DEFAULT_FROM_EMAIL

- Use USERNAME if not specified

(cherry picked from commit 487ac917c90e9fe3da4effaa9326b707ceecd321)

* Email configuration fails if DEFAULT_FROM_EMAIL not set

(cherry picked from commit 01e573c3a2702e7c21ed13b0cb44280c89d3dee1)

* Docs update
2023-07-25 11:41:17 +10:00
Ulices
c3cdb9cd7e
Fix "your" word duplicated (#5335) 2023-07-25 08:02:40 +10:00
Matthias Mair
13b9b57698
P-UI: Dependency bumps (#5298)
* add option to use sections and refactro

* translate error messages

* remove unneeded vars

* move function code

* move data inside

* add global section

* add plugin section

* use translated section titles

* add translation strings

* rename scan action

* add user settings

* use ordered data

* fix settings url

* use debounced value for strings (not choices!)

* rename contex to context

* move i18n provider up

* move theme options into seperate context/ component

* renmae statrtup vars

* move translations out

* reactivate sentry

* move i18n provider to seperate context

* move langauge state completly out of App

* use theme out

* move theme context

* move LanguageContext

* move function into state

* make sentry optional for now

* add key to accordion

* init langauge context on top

* remove unneeded css files

* move errorpage to tsx

* add translation for error page

* Add error to title

* add typecast for error

* move type definition out

* remove todo -> type was already added

* upgrade deps

* add bootstrap

* remove @mantine/core

* readd core

* switch to bootstrap

* simplify import

* Add SPA views for react #2789

* split up frontend urls

* Add settings for frontend url loading

* add new UI scaffold

* remove tracking insert

* add platform app

* ensure static indexes work too

* add lingui

* add lingui config

* add mgmt tasks

* add base locales

* settings for frontend dev

* fix typo

* update deps

* add pre-commit

* add eslint

* add testing scaffold

* fix paths

* remove error - tests trip correctly

* merge workflow

* cleanup samples

* use name inline with other tests

* Add real worl frontend tests

* setup env

* tun migrations first

* optimize setup time

* setup demo dataset

* optimize run setup

* add test for class ui

* rename

* fix typo

* and another typo

* do install

* run migrations first

* fix name

* cleanup

* use other credentials

* use other credentials

* fix qc

* move envs to qc

* remove create_site

* reduce testing env

* fix test

* fix test call

* allaccess user

* add ui plattform check

* add better check

* remove unneeded env

* enable debug

* reduce wait time

* also build frontend on static

* add sekeleton

* fix various issues

* add locales

* clean output before building

* cleanup dir

* remove bootstrap

* clean up deps

* fix settings panel

* remove assets

* move logo

* split out router

* split up chunks

* fix zustand import syntax

* bundl

* update pre-render

* use vendor splitting

* maximes space usage

* enlarge breakpoints

* remove wired color changes

* cleanup tabs

* fix error

* update auth functions

* default to mail login

* add placeholder marking

* Add text to placeholder

* readd codespell

* add another test

* add sort plugin

* add sort plugin

* sort imports

* fix order

* Add mega menu

* run pre-commit fixes

* add node min version

* Docker container (#129)

* Fix allocation check for completing build order (#5199)

- Allocation check only applies to untracked line items

* docker dev

Install required node packages to docker development image

* add import order settings

* cleanup settings

* cleanup dashboard

* clanup part tab

* refactor header to only use 1 line

* cleanup reqs for py3.9

* remove compiled UI

* revert reqs change

* cleanup tasks

* cleanout built ui

* remove default user

* cleanup package.json

* fix doctip

* remove sentry

* optimize loading

* reset versions

* clean

* factor out menu items

* refactor Navtabs

* refactor HoverMenu

* remove part

* remove prettier

* remove default arg from build

* remove eslint

* Merge branch 'plattform' of https://github.com/matmair/InvenTree into platform-ui_base

* optimize svg

* add build step for plattform UI

* fix install command

* fix test

* remove extra test

* set default host if none is set

* set nicer names

* fix tests

* fix logged-in test

* update translations

* ensure more path matches

* make loading of serverrefs dynamic

* use default radius

* fix issues / code smells

* clean code smell

* fix password reset

* fix error messages

* detect small screens

* use loader meachanism for views

* refactor structure

* move auth functions out

* use text

* refactor defaults

* Add email login
FR] Add email link based logins Closes #3531

* fix name error

* fix reqs

* fix backend for magic login

* fix frontend

* remove unused route

* remove now unneeded test section

* cleanup code

* add navigation header

* fix logo component for nesting

* factor out menu

* refactor style

* clean code

* Translate items and use unique ids

* use alpine commands

* increase margins to remove drawer scroller

* only render plugins if they are defined

* remove sample content

* fix assertation

* open on hover

* refactor

* merge fix

* cleanup navigation drawer

* change dependencies for UI testing

* add highlight filter

* Add correct menu items

* move design component out

* move pre-commit out

* move deps again

* move js styles in

* revert CI changes

* remove unneeded exclution

* changed placeholder user

* refactored EditButton to component

* refactored app loading to useEffect

* moved color lookup into global scope

* reafactored UserPanel render block

* marked placeholder pages in doc links

* made doc tooltip optional for MenuLink

* changed MenuLinkItem names

* fixes missing Link item in MenuLink

* fixed merge error

* bump deps

* bump python

* downgrade for py3.9

* bump further

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2023-07-24 08:32:18 +10:00
Matthias Mair
da4e506411
Added install step to trans (#5327) 2023-07-24 08:31:19 +10:00
Marcel Pörner
9b377ccfbf
Fix admin url to point to right model (#5319) 2023-07-23 22:32:14 +10:00
Miklós Márton
25334c0d91
Fix selecting the default stock item template (#5318) 2023-07-23 19:42:56 +10:00
Miklós Márton
feeccc5c91
Fix selecting default label template (#5317) 2023-07-23 17:09:41 +10:00
Matthias Mair
4a211dd48d
P UI: Show server version on auth (#5314)
* added language toggle component

* added language and theme controls onto start page

* moved host selection out of auth

* optimized rendering

* make server option less obvious

* changed EditButton save symbol

* longer welcome text

* removed ColorToggle color schema

* reduced code

* disabled host selection when options are changing

* fix type error

* use GH reporter

* fix tests?

* compile frontend

* fix assertation

* revert unneeded change

* split up into more components

* add server version info

* fix merge

* fix merge
2023-07-23 12:22:54 +10:00
Oliver
e6cd0b05ce
Remove error message (#5315)
- Polluting logs without benefit
2023-07-23 12:21:33 +10:00
Matthias Mair
507205ca78
Add DIO identifier (#5312)
* Add info for installer, branch, publisher

* include version info

* fix permissions

* fix typo

* add more info

* use GH url

* fix node

* remove publisher

* remove more logging

* Add info to version view

* enable branch discovery when not set

* fix ref to github version

* add branch to about dialog

* use precise plattform information - if no env is set

* fix ref names

* load VERSION info

* rename plattform to target

* extend installer var

* add generic plattform info

* add docs for version info

* add more info

* add installer codes

* Add DIO code
2023-07-23 09:09:28 +10:00
Oliver
4e0f22aa00
Typo fix (#5307)
* successfull -> successful

* Fix backtick
2023-07-22 22:54:01 +10:00
Matthias Mair
f227315ad1
P-UI: Fast language / theme / server selection (#5301)
* added language toggle component

* added language and theme controls onto start page

* moved host selection out of auth

* optimized rendering

* make server option less obvious

* changed EditButton save symbol

* longer welcome text

* removed ColorToggle color schema

* reduced code

* disabled host selection when options are changing

* fix type error

* use GH reporter

* fix tests?

* compile frontend

* fix assertation

* revert unneeded change

* split up into more components

* separated functions / use cases for LanguageToggle more

* moved color toggle to profile

* moved language out of main menu into profile

* remapped settings link
2023-07-22 22:19:19 +10:00
Oliver
f70294b247
Stock installed table fix (#5305)
* Prevent installed items from being hidden

* Fix parent / child relationship
2023-07-21 23:53:58 +10:00
Miklós Márton
6b4717cb28
Show built in label printing plugin even if the external plugins are disabled (#5304) 2023-07-21 21:55:51 +10:00
Oliver
45aa8c39b3
React tweaks (#5300)
* Add .gitignore for static web files

* Add invoke task to start frontend dev server
2023-07-21 09:46:44 +10:00