Add support for magazines, backend only (#53)

* Initial work to support magazines

* Change editor default height to 300px from 500px

* Stabilize the magazine repository app

* Switch from stacked to tabular inlines for magazines

* Update submodules
This commit is contained in:
2025-12-08 23:18:57 +01:00
committed by GitHub
parent 3804c3379b
commit 6b10051bc4
12 changed files with 554 additions and 11 deletions

View File

@@ -1,12 +1,11 @@
from django.db import models
from django.core.exceptions import ValidationError
from tinymce import models as tinymce
from ram.models import PrivateDocument
from metadata.models import Decoder, Shop, Tag
from roster.models import RollingStock
from bookshelf.models import Book, Catalog
from bookshelf.models import Book, Catalog, MagazineIssue
class GenericDocument(PrivateDocument):
@@ -77,6 +76,20 @@ class CatalogDocument(PrivateDocument):
]
class MagazineIssueDocument(PrivateDocument):
issue = models.ForeignKey(
MagazineIssue, on_delete=models.CASCADE, related_name="document"
)
class Meta:
verbose_name_plural = "Magazines documents"
constraints = [
models.UniqueConstraint(
fields=["issue", "file"], name="unique_issue_file"
)
]
class RollingStockDocument(PrivateDocument):
rolling_stock = models.ForeignKey(
RollingStock, on_delete=models.CASCADE, related_name="document"