73 Commits

Author SHA1 Message Date
bea1c653f0 Improve performance oprimizing queries (#56)
* Extend test coverage

* Implement query optimization

* More aggressing code reuse

* Add more indexes and optimize usage

* Fix tests

* Further optimizations, improve counting to rely on backend DB

* chore: add Makefile for frontend asset minification

- Add comprehensive Makefile with targets for JS and CSS minification
- Implements instructions from ram/portal/static/js/src/README.md
- Provides targets: install, minify, minify-js, minify-css, clean, watch
- Fix main.min.js to only include theme_selector.js and tabs_selector.js
- Remove validators.js from minified output per README instructions

* Add a Makefile to compile JS and CSS

* docs: add blank line whitespace rule to AGENTS.md

Specify that blank lines must not contain any whitespace (spaces or tabs) to maintain code cleanliness and PEP 8 compliance

* Update for 0.20 release with optimizations

* Improve Makefile
2026-01-25 15:15:51 +01:00
289ace4a49 Add AGENTS.md and tests generated via opencode 2026-01-17 22:33:16 +01:00
8d899e4d9f Minor improvements 2026-01-09 13:08:47 +01:00
226f0b32ba Fix order in the DCC interfaces 2026-01-08 13:20:34 +01:00
3c121a60a4 Extend DCC definitions and clean-up config. Fix a typo in site name (!!) 2026-01-08 12:22:22 +01:00
ab606859d1 Fix a small regression in the admin introduced with Django 6 2026-01-08 12:21:39 +01:00
a11f97bcad Reduce number of clicks to add images or documents to objects 2026-01-06 18:15:47 +01:00
ee775d737e Make sure that cache is always cleaned while performing an update 2025-12-30 21:53:04 +01:00
c81508bbd5 Fix a bug in featured count limit 2025-12-25 19:46:18 +01:00
676418cb67 Code refactoring to simplify template data contexts (#55)
* Fix a search filter when no catalogs are returned
* Code refactoring to simplify templates
* Remove duplicated code
* Remove dead code
* More improvements, clean up and add featured items in homepage
* Fix a type and better page navigation
2025-12-24 15:38:07 +01:00
66c3c3f51c Extend compatibility with Django 6.0 2025-12-03 23:24:53 +01:00
cc2e374558 Simplify cards, use icons for DCC 2025-05-26 00:04:07 +02:00
de126a735d Reverse field renaming 2025-05-24 15:00:52 +02:00
76b266b1f9 Extend search on company to slug field to better manage accented and utf names 2025-05-04 19:13:43 +02:00
d0d25424fb Fix road_number_int field sizing 2025-05-04 19:12:05 +02:00
292b95b8ed Fix a bug in roster search via scale 2025-05-03 21:02:44 +02:00
dea7a594bc Implement CSV export for cosists 2025-05-02 22:25:59 +02:00
a2c857a3cd Fix a couple of bugs 2025-04-25 23:14:10 +02:00
e80dc604a7 Improve docs management and add invoices repo (#51)
* Create a repository app for documents, first step

* Step two (broken)

* Complete the implementation of document repository and add invoices

* Add support for invoices

* Update submodules
2025-02-17 23:25:19 +01:00
c971ff9601 Fix a CASCADE on shops 2025-01-27 23:22:08 +01:00
b10e1f3952 Add shop as a fixed property (#49)
* Add shop field (from properties)

* Update template

* Implement description in BaseModel and then consist

* Make notes internal only

* Fix a merge issue
2025-01-27 23:16:52 +01:00
d16e00d66b Add shop field (from properties) (#48)
* Add shop field (from properties)

* Update template
2025-01-27 00:34:44 +01:00
1a8f2aace8 Allow multiple manufacturers per class (#47)
* Allow multiple manufacturers per class

* Fix REST API serializer
2025-01-20 22:51:56 +01:00
0413c1c5ab Add a draft tag to unpublished items and minor improvements (#46)
* Add a draft tag to unpublished items

* Add X-Cache-Hit header

* Expose decoder interface in roster cards

* Manage decoder interface set to None
2025-01-20 18:24:20 +01:00
f19a0995b0 HOTFIX: Add a missing signal
Regression introduced in v0.14.0
2025-01-19 15:07:04 +01:00
ddcf06994d Improve user experience in admin and UI (#45) 2025-01-18 15:37:56 +01:00
c467fb24ca Add support for generic documents (admin only) (#44)
* Add support for generic documents
* Add publish / unpublish actions
* Minor improvements to models properties
2025-01-17 22:44:50 +01:00
db79a02c85 Add REST API pagination and mke REST API optional (#43)
* Implement Rest API pagination

* REST API must be enabled in settings

* Report REST API status in the admin site settings page
2025-01-16 22:53:19 +01:00
1e7f72e9ec Implement publish, unpublish actions 2025-01-08 23:47:58 +01:00
26be22c0bd Minor admin improvements and remove unique_together deprecated Meta
Also make rolling stock unique per consist
2025-01-08 23:28:04 +01:00
206b9aea57 Make purchase date a private field as well 2025-01-04 19:06:10 +01:00
159bc66b59 Minor change to roster admin 2024-12-29 22:06:25 +01:00
026ab06354 Add a CSV export functionality in admin and add price fields (#41)
* Implement an action do download data in csv
* Refactor CSV download
* Move price to main models and add csv to bookshelf
* Update template and API
* Small refactoring
2024-12-29 21:46:57 +01:00
dad40b3ee7 Implement documents inline for books and catalogs 2024-12-22 21:45:56 +01:00
1c07c6a7a9 Add a custom manager to filter private and unpublished stuff (#39)
* Implement a customer manager for flatpages

* Implement public manager for private objects

* Add support for unpublished objects in roster and consist

* Add support for unpublished objects in bookshelf

* Update filtering on REST views

* Use uuid in urls.py

* Increment version
2024-11-04 15:00:34 +01:00
d0854a4cff Speedup inlines using autocomplete field and add more previews (#38) 2024-11-04 11:33:28 +01:00
456272b93a Add built-in decoder interface type 2024-04-30 11:08:16 +02:00
6a9f37ca05 Add a 404 page and improve manufacturer lookup (#36)
* Add a custom 404 page
* Better manufacturer and item lookup
* Add migration to populate new field
* Version bump
2024-04-24 00:33:41 +02:00
e4ad98fa38 Implement support for sets and other improvements (#34)
* Add a boolean to define item as part of a set
* Add contextual help in admin
* Introduce support to sets and to item code lookup
Also review the url path for pagination
2024-04-21 00:31:52 +02:00
4b74a69f3f Add the possbility to provide descriptions (#32)
to class, rolling stock, book
2024-03-02 15:45:42 +01:00
19eb70c492 Replace ckeditor with tinymce (#30)
* Replace ckeditor with tinymce due to deprecation
* Remove any ckeditor dependency from old migrations
   Disable alters, replace create with plain models.TextField
* Reformat files
* Add more hardening in image_upload
2024-02-17 23:05:18 +01:00
4a12201d22 Make Document and Image files not nullable 2023-11-04 23:54:56 +01:00
830da80302 Keep media folder clean (#28)
* Reorg roster, portal and bookshelf media
* Extend media reorg to consists
* Delete roster and bookshelf images on delte.
   Do not delete others data that might be dedup! 
* Bump version
2023-10-31 11:16:55 +01:00
b23801dbf0 Clear cache on save if active 2023-10-21 21:42:03 +02:00
c73efb01e4 Introduce private docs and flatpages preview (#26)
* Add support for private documents
* Fix migrations after merge
* Rebase fixtures
* Filter private decoder docs
* Enable preview of unpublished pages
2023-10-07 22:38:20 +02:00
3f905877e7 Extend the bookshelf implementation 2023-10-02 22:19:04 +02:00
b8572c1701 Rename SKU to 'Item number' 2023-10-01 21:35:14 +02:00
5d536ce568 Add documents to decoders (#22)
* Add decoder documents support
* Use abstract model for Documents
* Increase version
* Code cleanup
2023-10-01 00:03:41 +02:00
32b5522a1e Change how images and consists are sorted (#14) 2023-01-02 16:08:25 +01:00
8bd2635c28 Change image sort, thumbnails first 2022-12-28 22:14:10 +01:00