Commit Graph

98 Commits

Author SHA1 Message Date
d804329b77 feat: Add spool adjustment history tracking (#6)
Track history of all spool weight/length adjustments with timestamps and comments:

Backend:
- Add SpoolAdjustment database model with spool_id, timestamp, type, value, comment
- Add Alembic migration for spool_adjustment table
- Add SpoolAdjustment Pydantic model for API responses
- Update use_weight, use_length, and measure functions to record adjustments
- Add GET /api/v1/spool/{id}/adjustments endpoint for history retrieval
- Add optional comment parameter to use/measure endpoints

Frontend:
- Add ISpoolAdjustment interface to spool model
- Add collapsible adjustment history table to spool show page
- Display timestamp, type (weight/length), amount, and comment
- Add translation keys for history table

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 20:18:56 -06:00
3451996a8f feat: Add temperature ranges for extruder and bed temps (#5)
Some checks failed
CI / style (push) Has been cancelled
CI / build-client (push) Has been cancelled
CI / build-amd64 (push) Has been cancelled
CI / build-tester (push) Has been cancelled
CI / test (cockroachdb) (push) Has been cancelled
CI / test (mariadb) (push) Has been cancelled
CI / test (postgres) (push) Has been cancelled
CI / test (sqlite) (push) Has been cancelled
CI / build-arm64 (push) Has been cancelled
CI / build-armv7 (push) Has been cancelled
CI / publish-images (push) Has been cancelled
CI / publish-release (push) Has been cancelled
Store extruder and bed temperatures as min/max ranges instead of
single values for more accurate filament specifications.

Backend changes:
- Add 4 new columns: settings_extruder_temp_min/max, settings_bed_temp_min/max
- Keep old columns for backward compatibility (marked deprecated)
- Alembic migration copies existing values to both min and max
- Update Pydantic models and API endpoints

Frontend changes:
- Filament model updated with new fields
- Create form uses min/max input pairs with Space.Compact
- Import from external DB populates both min and max with same value
- Label template updated to show ranges: "ET: 190-220 °C"
- Template help includes new tags

Labels now display temperature ranges like "190-220°C" which is more
useful for printing than a single recommended value.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 20:05:02 -06:00
Paul Sinclair
ea36a94327 🔨 Add pool_recycle for MySQL 2025-04-05 09:58:34 -04:00
Donkie
70ea7ad414 Update python dependencies and ruff/black versions 2025-03-16 21:34:02 +01:00
Thorsten Lanfer
55acc4993d reformat 2025-03-05 19:46:54 +01:00
Thorsten Lanfer
4b8fd3aed3 Update spool.py 2025-02-24 22:21:10 +01:00
Thorsten Lanfer
28f6f8e916 Allow posting partial updates of extra attributes 2025-02-24 22:21:10 +01:00
inukiwi
1f3c1c0ad5 Do not ignore empty lists in database selects 2025-01-15 23:14:09 +01:00
Donkie
37b6d1fcee Added ability to rename location 2024-11-20 21:00:39 +01:00
Donkie
86f69d470f Added backend supported csv/json export functionality 2024-10-27 12:36:39 +01:00
Donkie
32c737fa98 Revert so commit now happens before notice, but add a catch-all to websocket notifications 2024-08-16 15:13:09 +02:00
Donkie
e5f79493cc Fixed error on trying to send ws message to disconnected client
This could result in a major filament usage track failure since the Use http request would fail and Moonraker would keep retrying to save the used filament. However it was actually saved since the db.commit() happens before the websocket message fails.
2024-08-16 10:28:22 +02:00
Donkie
cc7dceb2a3 Fixed backend not supporting editing multi color dir 2024-06-08 22:50:01 +02:00
Donkie
8c164ac55f Added backend support for multi-color filaments 2024-05-28 18:49:24 +02:00
Donkie
b00075ab87 Added backend support to perform exact matches 2024-05-25 20:56:22 +02:00
Donkie
535fa40ad2 Updated most python dependencies
Primarily FastAPI and Pydantic to v2. Also ruff to latest.

Updated some code to support Pydantic v2
2024-05-23 19:42:27 +02:00
Donkie
ca545b72b9 Fixed spool price sorting not working
Resolves #349
2024-05-20 22:42:44 +02:00
Donkie
c4693d3f34 Implemented used_length spool sort 2024-05-15 20:18:24 +02:00
Donkie
51c3b46f1f Fixed wrong remaining weight and length spool sort 2024-05-15 20:17:00 +02:00
Donkie
e4d2ecf0dc Filament/vendor find by ext id + integration tests 2024-05-12 21:58:01 +02:00
Donkie
1e4c73138c Added external ID fields to filaments and vendors 2024-05-12 21:58:00 +02:00
Donkie
21d541a680 Added script to download files from external db 2024-05-12 10:48:33 +02:00
Matt Gerega
153b21408b Merge branch 'master' into feature/spool_revisions 2024-04-17 17:26:14 -04:00
Matt Gerega
fdec032d19 Updated handling of higher measurements 2024-04-15 16:41:14 -04:00
Dmitry Belousov
91d922d0b8 fixed version prometheus-client
added env variable SPOOLMAN_METRICS_ENABLED for enabled database collector

set metrics path as /metrics

checked Null values at vendors, init weight and price
removed some logs
2024-04-15 00:17:36 +03:00
Dmitry Belousov
2aa0a4f1b0 WA for FastApi session manager 2024-04-12 01:20:35 +03:00
Matt Gerega
c6f9abeced Changed initial_weight to be net weight, not gross weight 2024-04-10 11:00:46 -04:00
Dmitry Belousov
28b2bfec50 Added prometheus client
Added scheduler for compute current spool metrics and info
2024-04-09 15:25:09 +03:00
Matt Gerega
23cfb42ba8 Updated based on PR requests 2024-04-08 17:38:18 -04:00
Matt Gerega
37804c14a8 modified default settings 2024-04-08 09:27:15 -04:00
Matt Gerega
a6ae808389 Added additional integration tests for measure and add 2024-03-28 09:29:39 -04:00
Matt Gerega
19c414da4b Add integration tests for new measure endpoint 2024-03-27 15:44:54 -04:00
Matt Gerega
3ea4937f24 Updated spool UIs (create/edit) 2024-03-27 14:47:05 -04:00
Matt Gerega
3aed735cea Updated vendor API to correct issues - Implement new UI 2024-03-26 21:26:41 -04:00
Matt Gerega
e68f88da2a Added empty spool weight as an option field for the vendor 2024-03-26 20:35:50 -04:00
Matt Gerega
83fd3073ec Fixed formatting 2024-03-26 14:02:17 -04:00
Matt Gerega
1d6830d769 Added initial_weight and empty_weight to spool 2024-03-26 13:55:44 -04:00
Donkie
c2335366bb Fixed sorting by remaining weight/length 2024-02-02 22:10:11 +01:00
Donkie
290eb5cb81 Added backend ability to sort by combined_name 2024-01-30 18:20:53 +01:00
Donkie
09b8705133 Existing extra fields for entities are now cleared if a field is deleted 2024-01-23 18:58:57 +01:00
Donkie
77ac9d6a5c Added custom extra fields to backend
No integration tests yet, TBD
2024-01-23 18:58:57 +01:00
Donkie
44da991d47 Added a new backend settings system
This can be used for saving runtime-configurable settings in the database.
2024-01-16 19:17:06 +01:00
pdsccode
d18d21d8fd Fixed db access to spool price field 2023-12-30 09:18:37 +01:00
pdsccode
1eb78f01df Added pricing field for single spool 2023-12-30 07:29:27 +01:00
Donkie
cf8d7472f5 Added backend filament search by similar color 2023-12-19 21:37:07 +01:00
Donkie
796523a860 Fixed db backups not using the fancy get_backups_dir function 2023-11-25 21:58:20 +01:00
Donkie
9eb3aef08d Removed unused default registered func 2023-10-21 11:49:00 +02:00
Donkie
5f7a063125 Added resource field in websocket message
Used to differentiate resources for root-level subscriptions
2023-10-15 20:39:53 +02:00
Donkie
a6d527aaf0 Added/deleted-type websocket messages
Events are now sent for not only when an object changes but also when one is created or deleted.

For now it's not really possible to subscribe to these events however.

This breaks backwards-compatibility with the websocket messages.
2023-10-15 19:46:10 +02:00
Donkie
3c5b3cea5a Added websocket endpoints for filament and vendors 2023-10-15 15:39:39 +02:00