Commit Graph
100 Commits
Author SHA1 Message Date
OliverandGitHub af6cce3aba [UI] Duplicate supplier part (#10809)
* Allow duplication of supplier part

* Bug fix for pack quantity display

* Allow duplication of ManufacturerPart
2025-11-12 00:08:45 +11:00
OliverandGitHub d829d3a548 [UI] Order form improvements (#10802)
* Auto-fill supplier parts in order wizard

* Copy supplier part SKU from order parts wizard

* Add "on_order" filter to BuildLine table

* Allow ordering by production and ordering quantities

* Allow specification of purchase price

* Bump API version

* Adjust UI testings
2025-11-11 17:29:18 +11:00
OliverandGitHub f3c1cc12af PO receive fix (#10807)
* Extract note field when receiving stock items against PO

* Fix tracking entry when receiving item
2025-11-11 17:29:09 +11:00
OliverandGitHub 77f80385c9 Fix for pricing display (#10804) 2025-11-11 16:19:20 +11:00
OliverandGitHub 246c084e6e Reduce log output for Pint library (#10803)
- Reduce clutter in app startup due to unit redefinition
2025-11-11 13:33:43 +11:00
OliverandGitHub 2dfe6b5f41 [UI] MFA Refactor (#10775)
* Install otpauth package

* Add separate MFASettings components

* Refresh methods after registering token

* Simplify layout

* Add modal for deleting TOTP code

* Display recovery codes

* Adjust text

* Register webauthn

* Add longer timeouts

* Add workflow for removing webauthn

* Cleanup SecurityContext.tsx

* Add playwright testing for TOTP registration

* Spelling fixes

* Delete unused file

* Better clipboard copy
2025-11-05 22:54:47 +11:00
OliverandGitHub d12102ba96 PurchaseOrderForms tweaks (#10773)
- Small visual changes
- Small bug fix for null record
2025-11-05 10:21:55 +11:00
OliverandGitHub dbb799a0e0 [UI] BOM part category (#10772)
* Add "Category" column to BOM Table

* Enable sorting by category in BOM table

* Add Category column to Buildline table

* Add Category filter to BuildLineTable

* Adjust queryset prefetch

* Bump API version and update CHANGELOG
2025-11-05 10:04:28 +11:00
OliverandGitHub fc3d130888 Refactor settings.py (#10766)
- Move drf-spectacular settings into separate file
- Cleanup settings.py core file
2025-11-05 07:00:58 +11:00
OliverandGitHub 7e943293c7 MFA middleware tweaks (#10768)
* MFA middleware tweaks

- Remove Check2FAMiddleware if MFA not enabled
- Refactor into middleware.py

* Update settings.py

- Disable MFA_SUPPORTED_TYPES if MFA_ENABLED is False

* Update docs
2025-11-05 07:00:42 +11:00
OliverandGitHub 2bc2966d22 Reduce text size (#10764)
- Smaller text for table hovercards
2025-11-04 15:00:52 +11:00
OliverandGitHub 8e20bc53db Consolidate data actions for BOM table (#10763)
* Consolidate data actions for BOM table

* Adjust playwright tests
2025-11-04 12:02:00 +11:00
OliverandGitHub 901846272b Auth Improvements (#10752)
* Return more detail in MFA failure response

* Reject auth requests for users who are inactive

* Move markdown config out of settings.py
2025-11-04 10:08:04 +11:00
OliverandGitHub 153bcc1d5c Search stock items by supplier data (#10750)
* Search stock items by supplier data

* Search by MPN or Manufacturer

* Update API version
2025-11-03 15:03:50 +11:00
OliverandGitHub 0997a18a62 Move "view" actions to the end of the list (#10749) 2025-11-03 14:28:31 +11:00
OliverandGitHub 91489e986c UI table updates (#10748)
- Add "IPN" col to SupplierPartTable
- Add "IPN" col to ManufacturerPartTable
2025-11-03 13:47:26 +11:00
OliverandGitHub 46615e447b Docs fix (#10738)
* Fix heading in helpers.md

* Helper func docs
2025-11-02 15:30:21 +11:00
OliverandGitHub 551da5a51f Bump version number to 1.2.0 dev (#10734)
* Bump version number to 1.2.0 dev

* Add release tag to CHANGELOG.md

* Add entry for upcoming 1.2.0

* Cleanup

* Remove links
2025-11-02 10:01:16 +11:00
OliverandGitHub 5ea39936b8 Order parts form (#10729)
* Improved SupplierPart rendering

* Adjust tooltips

* Remove debug msg

* Add component for loading and displaying part requirements

* Improved rendering

* Better icons
2025-11-01 10:14:53 +11:00
OliverandGitHub 442a616432 Support attachments against SupplierPart (#10724)
* Support attachments against SupplierPart

* Update CHANGELOG.md

* API update
2025-10-31 21:23:23 +11:00
OliverandGitHub 0527d78ae6 Report helpers (#10726)
* New report functions:

- create_currency: Create a new Money object
- convert_currency: Convert from one currency to another

* docs

* More checking on report tags

* Better formatting of report errors

* Add unit tests

* Remove error message

* Fix pathing for docs

* Add type hints

* Adjust unit tests
2025-10-31 21:23:10 +11:00
OliverandGitHub 46ea541bc4 Push BOM validation to background worker (#10727)
- Can take a significant amount of time
- Closes https://github.com/inventree/InvenTree/issues/10725
2025-10-31 20:41:31 +11:00
OliverandGitHub 16a753bf59 [UI] Plugin actions (#10720)
* Add backend code for custom actions

* docs

* Add sample action code

* Fetch plugin features

* Load plugins and call function

* Support icons

* Alert message

* Update CHANGELOG.md

* Rename action type

* Update docs

* pdated playwright tests
2025-10-31 09:41:32 +11:00
OliverandGitHub 62440893c1 [UI] More actions (#10719)
* Add more spotlight actions:

- Open user settings
- Open system settings

* Add some actions

* Multiple attempts in test code
2025-10-30 22:05:55 +11:00
OliverandGitHub ec9b6e7f84 Fix default storage target value (#10718)
* Fix default storage target value

* Use enum values for comparison

* Fix typo
2025-10-30 14:45:45 +11:00
OliverandGitHub c1bbef1a4d Format number fix (#10710)
* Improvements for format_number func

- Prevent accidental rendering in scientific notation

* Add multiplier argument to format_number
2025-10-29 16:02:08 +11:00
OliverandGitHub 51babacec0 [UI] Duplicate part fixes (#10709)
* Refactor part duplication

- Move duplication items into the form definition

* Expand to part variants table
2025-10-29 14:28:22 +11:00
OliverandGitHub c7593d983f [UI] Fix BuildLineTable (#10707)
- Closes https://github.com/inventree/InvenTree/issues/10700
2025-10-29 13:46:09 +11:00
OliverandGitHub f2b531bfbb [UI] Fixes (#10697)
* Fix for StockItemTestResultTable

- Fix column alignment

* Update rendering

* Refactor <SupplierPartTable />

- Formalize parameter arguments
2025-10-28 20:18:56 +11:00
OliverandGitHub 83f674e83f Missed one (#10696) 2025-10-28 17:54:48 +11:00
OliverandGitHub 7b4da23981 Docs tweak (#10695)
* Cleanup docs page for custom states

* Fix for address docs
2025-10-28 16:59:42 +11:00
OliverandGitHub 548f05e61c Enhancement for metadata OPTIONS checks (#10693)
* Enhancement for metadata OPTIONS checks

- Handle case where custom `role_required` attribute is set
- Allows integration for plugin views not associated with an internal model

* Cleanup logic
2025-10-28 11:23:24 +11:00
OliverandGitHub df8285d287 [docs] Tweak address docs (#10692)
* [docs] Tweak address docs

- Formatting improvements
- Add screenshot

* Remove blank line
2025-10-28 09:41:51 +11:00
OliverandGitHub 3d5b07b331 [docs] pypi classifer (#10687)
* [docs] pypi classifer

Add link to pypi classifier tag on pypi

* Tweak capitalization
2025-10-27 21:55:57 +11:00
OliverandGitHub 75ceef77e6 Fix pip install (#10684)
* Fix pip install

* Cleanup
2025-10-27 08:02:22 +11:00
OliverandGitHub 9f7f963d16 Better quantity rendering (#10680) 2025-10-26 20:11:11 +11:00
OliverandGitHub ee79869df3 [UI] Shipments dashboard widget (#10679)
- Add widget which displays number of pending shipments
2025-10-26 18:08:05 +11:00
OliverandGitHub 1f438bb734 [docs] Docs updates (#10678)
* Display PendingShipments panel

- Overview of all outstanding shipments

* Update UI tests

* add separate page for troubleshooting

* Restructure menus a bit

* Fix top-level page for mobile app

* Add option to override default value in docs

* Update global.md

* Formatting updates

* Update sales pages

* Move order images to "purchasing"

* Small tweaks

* Make "Concepts" a top-level documentation item

* Update image
2025-10-26 17:16:59 +11:00
OliverandGitHub c54f3f4a30 [UI] Shipments table (#10675)
* Display PendingShipments panel

- Overview of all outstanding shipments

* Update UI tests

* Bump API version
2025-10-26 16:45:27 +11:00
OliverandGitHub 636477ac13 Stock form fixes (#10673)
* Improve rendering of SupplierPart in forms

- Display pack_quantity

* Ensure boolean values have default
2025-10-26 11:40:32 +11:00
OliverandGitHub 23d580c4a9 Delete locations fix (#10672)
* Cleaner handling of inputs

* Fix for frontend form:

- Fix typo in field
- Better option defaults

* Tweak part category delete form

* Add frontend tests
2025-10-26 11:40:22 +11:00
OliverandGitHub b579ccdaa2 Remove junk file (#10671) 2025-10-26 09:27:25 +11:00
OliverandGitHub 8e1d621db9 Report tag fixes (#10668)
* remove duplicate template tag

* Add "multiplier" argument to render_currency

* Improve render_currency

- Enable conversion of non-money values to a Money instance

* Improve maths tags

- Convert values to Decimal
- Ability to cast result to different type

* Updated docs

* Improved feedback from maths tags

* Updated unit testing

* Improved rendering of printing errors

* Add extra test for render_currency tag

* Enfoce multiplier type

* Fix docstrings

* Improved error handling

* Remove defunct unit test

* Fix unit tests
2025-10-25 13:17:10 +11:00
OliverandGitHub a2682a75e9 Backup opts tweak (#10663)
* backup: spread connection options

- Combine custom options with default options
- Provide ability to override defaults

* Adjust default value
2025-10-24 20:06:53 +11:00
OliverandGitHub 1fa607b96a Table refactoring: (#10662)
- Display model type in the "view details" action
2025-10-24 15:55:43 +11:00
OliverandGitHub c4805504c0 Fix for 'price_breaks' field in PartSerializer (#10659)
* Fix for 'price_breaks' field in PartSerializer

- Revert change made in https://github.com/inventree/InvenTree/pull/10654

* Bump API version
2025-10-24 15:55:34 +11:00
OliverandGitHub 4e454f4c99 [UI] User column (#10661)
* Refactor user display columns

* More refactoring
2025-10-24 15:30:15 +11:00
OliverandGitHub 96dfee4018 [feature] Project code per line (#10657)
* Add project code to line items

* Refactor AbstractOrderSerialiazer

* Refactor AbstractOrderLineItem serializer

* Refactoring for AbstractExtraLineSerializer

* UI elements for extra line item project code

* UI for ReturnOrderLineItems

* UI elements for SalesOrderLineItem

* UI elements for PurchaseOrderLineItem

* Docs updates

* Update API version and CHANGELOG
2025-10-24 15:10:58 +11:00
OliverandGitHub c3d788eeeb Devcontainer tweaks (#10658)
* Expose port 8000 for InvenTree server container

* Expose dev server on all interfaces
2025-10-24 14:14:33 +11:00
OliverandGitHub 6df97e83f5 [UI] Implement "checked_by" for SalesOrderShipment (#10654)
* Add "checked" column to SalesOrderStatus table

* Add API filter for "checked" status

* Add Checked / Not Checked badge

* Add actions to check / uncheck shipment

* Add modal for changing checked_by status

* Display checked_by user

* Tweak wording

* Bump API version

* Update CHANGELOG file

* Update docs

* Add new global setting

- Prevent shipment completion which have not been checked

* Test if shipment has been checked

* Updated unit tests

* Updated type hinting

(may as well while I'm here)

* Adjust shipment icon

* Add "order_outstanding" filter for SalesOrderShipment table
2025-10-24 13:39:57 +11:00
OliverandGitHub ec33c57e85 SalesOrderShipment address (#10650)
* Adds "shipment_address" attribute to the SalesOrderShipment model:

- Allows different addresses for each shipment
- Defaults to the order shipment address (if not specified)

* Add unit testing for field validation

* Update SalesOrderShipment serializer

* Edit shipment address in UI

* Render date on shipment page

* Improve address rendering

* Update docs

* Bump API version

* Update CHANGELOG.md

* Fix API version
2025-10-23 16:37:43 +11:00
OliverandGitHub 754b2f2d66 [UI] Improve for change stock status (#10652)
- Pre-fill value if only one status set
2025-10-22 17:16:56 +11:00
OliverandGitHub 6dfedead7c Order tests (#10649)
- Additional test coverage for order models
- Validate address
- Validate contact
- Validate date ranges
2025-10-22 14:32:26 +11:00
OliverandGitHub e0b0e1d66c [UI] Address display tweaks (#10648)
* Display ReturnOrder address

* Display address for SalesOrder
2025-10-22 13:46:48 +11:00
OliverandGitHub 19dfb51969 [bug] Remove 'project_code' from optional fields (#10646)
* Remove 'project_code' from optional fields

- enable_filter overrides field options
- Field does not auto-describe as a related field any more
- Breaks front-end forms

* Unit tests

* Include fix for currency

- Ref: https://github.com/inventree/InvenTree/pull/10645

* Cleanup import

* Adjust unit tests
2025-10-21 21:06:59 +11:00
OliverandGitHub f8fd9f5f07 Default stock currency (#10641)
* Fix for useStockFields

- Use default currency

* Ensure default currency is observed

* Specify field default

* Improve import (for ty)

* Update migration files

- Point currency fields to the correct default method

* Unit tests

- Ensure stock item gets correct default currency

* Cleaner generation of default currency value

- Return empty string during migratoins

* Update existing migrations

* Reduce noise

* Ignore "no-matching-overload" rule for ty

* Tweak money_kwargs
2025-10-21 13:43:24 +11:00
OliverandGitHub 2187a77153 [UI] Bug fix for build output forms (#10640) 2025-10-21 08:03:29 +11:00
OliverandGitHub 8f005c7766 [UI] Category Parameters (#10633)
- Add category parameters table to the part category page
2025-10-20 17:14:59 +11:00
OliverandGitHub 27f7b6ed55 [API] Bug fix for FilterableSerializerMixin (#10632)
- Handle case where data is being exported
2025-10-20 17:14:47 +11:00
OliverandGitHub f9ce9e20b2 Fixes for SITE_URL validity checks (#10619)
* [docker] Allow HTTPS port to be specified for Caddy proxy

* Fix naming collision for INVENTREE_WEB_PORT

* Push InvenTree version first

* Adjust Caddyfile

- Change backup server

* Fix docstring

* Tweak for site URL check:

- Ignore port if SITE_LAX_PROTOCOL_CHECK is set
- Invert logic for readability

* Additional checks for port mismatch

* Adjust middleware checks

- Allow for less strict checking of CSRF_TRUSTED_ORIGINS

* Slight refactor
2025-10-20 16:05:37 +11:00
OliverandGitHub 2cae87d138 Tweak for plugin loading (#10631)
Prevent plugin install on server launch under certain conditions
2025-10-20 11:45:41 +11:00
OliverandGitHub c567d60b1e [UI] Consolidate text (#10622)
- "User Settings" vs "Account Settings"
2025-10-19 15:39:23 +11:00
OliverandGitHub 3b27d56682 [UI] Tweak NavigationDrawer (#10623)
- Remove double scrollbar
2025-10-19 15:39:17 +11:00
OliverandGitHub bddcef9c34 [UI] Tweak tree display (#10621)
- Increase horizontal spacing
2025-10-19 14:39:53 +11:00
OliverandGitHub 2b1fd1c309 Allocate Stock tweaks (#10618)
- Display IPN
- Display part units
2025-10-19 11:59:35 +11:00
OliverandGitHub 73ca468ff7 [UI] Hide actions for completed orders (#10617)
* Adjust error message target

* Hide UI actions if order is locked

* Refactor salesorderdetail page

* Refactor PurchaseOrderDetail page

* Refactor ReturnOrderDetail
2025-10-19 11:34:04 +11:00
OliverandGitHub 803d22155b [UI] Part import (#10609)
* Allow import of parts from file

* Extend default values for part import

* Small visual tweaks

* Update documentation

* Update playwright test
2025-10-18 18:12:05 +11:00
OliverandGitHub 72d127219f Generator updates (#10605)
* Form Field updates:

- Allow spec of leftSection prop
- Allow spec of rightSection prop

* Add ability to auto-fill text input with placeholder value

* Simplify stock form

* Better serial number placeholders

* Update other generator fields

* Add default placeholder to DateInput

* Enhance TextField

* Remove serial_numbers field for non-creation forms

* Update playwright tests

* Adjust playwright tests

* Further playwright adjustments

* Fix project code field for build serializer
2025-10-18 17:18:04 +11:00
OliverandGitHub a7c4f2adba BOM updates (#10611)
* BOM updates

- Allow variants of substititute parts to be allocated
- Closes https://github.com/inventree/InvenTree/issues/10606

* Check self.allow_variants

* Add comment
2025-10-18 11:49:46 +11:00
OliverandGitHub d34f44221e Backup update (#10586)
* Update django-dbbackup version

* Specify STORAGES option for dbbackup

* Add more backup configuration

* Support custom date formats

* Add connector options

* Extend functionality of invoke backup

* Add extra options for restore task

* Add invoke task for finding additional backups

* Small tweaks

* Add docs around backup / restore

* Fix typo

* Add example for GCS storage

* More docs
2025-10-18 07:28:18 +11:00
OliverandGitHub d534f67c62 Report maths tweaks (#10604)
* Maths tags updates

- Allow maths operations on non-float values
- Add tests for Decimal values
- Add tests for Money values
- Convert string values to floating point

* Add modulo tag
2025-10-17 20:54:20 +11:00
OliverandGitHub 24dfbe815e [UI] Manufacturer part updates (#10601)
* Add filters for manufacturer parts table

* Refactor <ManufacturerPartTable />

* Fix typo

* Additional filter options for StockList:

- Filter by ManufacturerPart ID

* Stock table view for ManufacturerPart

* Bump API version
2025-10-17 15:19:12 +11:00
OliverandGitHub 759c882a95 Allow adjument of build outputs (#10600)
* Auto-select location

* Allow stock adjustments for "in production" items

* Tweak stock move check

* Allow splitting of production stock

* Update CHANGELOG.md
2025-10-17 11:53:51 +11:00
OliverandGitHub 485aa6324c Dashboard item fix (#10596)
* Fix for "subscribed categories" dashboard item

* Tweak filter display

* Tweak filter for "Subscribed Parts"
2025-10-16 23:03:02 +11:00
OliverandGitHub e040d99665 Order labels (#10588)
* Add label actions for build orders

* Support other order types
2025-10-16 07:07:15 +11:00
OliverandGitHub c2ade84872 Plugin stock forms (#10584)
* Expose stock adjustment forms to plugins

* Update changelog

* Expand type exports

* Update CHANGELOG.md
2025-10-15 09:08:38 +11:00
OliverandGitHub e0559bb2b4 [UI] Fix broken dashboard link (#10577)
Ref: https://github.com/inventree/inventree/issues/10548
2025-10-14 12:05:35 +11:00
OliverandGitHub 86c894f218 [UI] Enhance file-upload field (#10576)
- Add icon
- Add ability to clear input
- Add default placeholder
- Ref: https://github.com/inventree/inventree/issues/10548
2025-10-13 23:05:46 +11:00
OliverandGitHub 71b9373f44 [docs] Troubleshooting Guide (#10574)
* [docs] troubleshooting guide

Adds a rough troubleshooting guide

* Add docs for showing docker logs
2025-10-13 19:34:01 +11:00
OliverandGitHub f9bdad975f Fix missing closing </div> tag (#10572) 2025-10-13 17:48:58 +11:00
OliverandGitHub a466926aef [UI] Remove placeholder text (#10569)
- Remove TODO entry
- Placeholder when adding external build order support
2025-10-13 14:20:52 +11:00
OliverandGitHub f22417fd1f [UI] Fix stock actions (#10566)
* Clear selected records when search term changes

* Clear selection after performing stock actions
2025-10-13 13:08:55 +11:00
OliverandGitHub ea868b3179 [UI] About InvenTree Tweak (#10565)
- Hide version entries without data
2025-10-13 13:08:49 +11:00
OliverandGitHub 6badc0148f [UI] Adjust login error messages (#10556)
* Adjust config template

- Don't hard-code cookie mode into template
- Revert to the "default" values (which are the same)

* [ui] better feedback on login error

- Show error code, at least

* Revert removed code

* Adjust playwright tests
2025-10-13 12:25:21 +11:00
30e91eb226 Installer docs (#10552)
* Better formatting

* Tweak setup docs

* Add information on process control and logs

* Fix typo

* Change `cli` to `invoke`

* Update docs/docs/start/installer.md

Co-authored-by: Matthias Mair <code@mjmair.com>

* Update docs/docs/start/installer.md

Co-authored-by: Matthias Mair <code@mjmair.com>

* Remove available commands section from installer.md

Removed section on available commands for InvenTree services.

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-10-13 09:51:07 +11:00
OliverandGitHub 022c48f2d3 [API] Allow search of assembly fields in BOM API endpoint (#10561)
* [API] Allow search of assembly fields in BOM API endpoint

- Required so we can search the "used in" table

* Bump API version
2025-10-13 09:47:42 +11:00
OliverandGitHub 067cb1fccb Catch error during auto-migrations (#10553)
- Prevent process interlock
- Prevent migration check if already running migrations
2025-10-13 07:04:26 +11:00
OliverandGitHub 4edbe9bab1 Fix "override pricing" display (#10545)
- Use specified currency values
- Closes #10537
2025-10-11 12:06:17 +11:00
OliverandGitHub 0dbb0306a5 Update docs for running playwright tests (#10544) 2025-10-11 10:48:52 +11:00
OliverandGitHub 1a171b5705 [UI] Prevent warning flash (#10540)
* [UI] Prevent warning flash

- Display warning element after a delay

* Support no-javascript
2025-10-10 10:39:06 +11:00
OliverandGitHub 0c54671abe [UI] Virtual BOM Improvements (#10516)
* Add "virtual" badge when rendering part

* Improve display of virtual parts in BOM table

* Adjust playwright test
2025-10-08 08:58:01 +11:00
OliverandGitHub 492613952c [docs] BOM import (#10517)
- Add brief section about importing BOM data
2025-10-07 08:58:12 +11:00
OliverandGitHub 363c5fd2c6 Update docs regarding INVENTREE_AUTO_UPDATE (#10505) 2025-10-06 22:02:29 +11:00
OliverandGitHub d3aa26b707 [UI] Tweak dashboard filters (#10501)
- "low stock" should only be shown for non-virtual parts
2025-10-06 16:28:08 +11:00
OliverandGitHub 5743e22501 Partial build output complete (#10499)
* Handle partial completion of build output

* Add 'quantity' field to BuildOutputComplete API endpoint

* Allow partial scrapping of build outputs

* Adjust column text

* Adjust "complete build output" form

* Change order of operations when completing build output

- Run validation checks *before* potentially splitting stock item

* Extract quantity from serializer

* Documentation

- Update screenshots
- Add note on partial completion
- Add note on partial scrapping

* Update CHANGELOG.md

* Update API version

* Add unit test for partial scrapping

* Tweak text

* Unit test for partial output completion

* Fix validation check for quantity field

* Adjust playwright tests
2025-10-06 14:30:07 +11:00
OliverandGitHub b370d54394 Fix rendering for custom status values (#10492)
- Improve field lookup priority
2025-10-05 22:34:47 +11:00
OliverandGitHub 946d4358c3 Tweak docker setup (#10490)
- Set default forwarding values
2025-10-05 22:05:16 +11:00
OliverandGitHub 7b2b174ab2 Bump required query time for testing (#10451)
Note: In "real life" the query does not take this long
2025-10-02 13:40:42 +10:00
OliverandGitHub bfd32c9864 [UI] Fix total price for Purchase Order table (#10450)
- Closes https://github.com/inventree/InvenTree/issues/10442
2025-10-02 11:24:10 +10:00
OliverandGitHub 3527e1a359 [Report] Queryset ordering (#10439)
* docs

* Add new helper

* Update CHANGELOG
2025-10-01 15:57:07 +10:00