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
This commit is contained in:
2024-11-04 15:00:34 +01:00
committed by GitHub
parent 61b6d7a84e
commit 1c07c6a7a9
22 changed files with 297 additions and 154 deletions

View File

@@ -1,7 +1,6 @@
import os
import re
import shutil
from uuid import uuid4
from django.db import models
from django.urls import reverse
from django.conf import settings
@@ -9,8 +8,9 @@ from django.dispatch import receiver
from tinymce import models as tinymce
from ram.models import Document, Image, PropertyInstance
from ram.models import BaseModel, Document, Image, PropertyInstance
from ram.utils import DeduplicatedStorage
from ram.managers import PublicManager
from metadata.models import (
Scale,
Manufacturer,
@@ -54,8 +54,7 @@ class RollingClassProperty(PropertyInstance):
)
class RollingStock(models.Model):
uuid = models.UUIDField(primary_key=True, default=uuid4, editable=False)
class RollingStock(BaseModel):
rolling_class = models.ForeignKey(
RollingClass,
on_delete=models.CASCADE,
@@ -106,9 +105,6 @@ class RollingStock(models.Model):
tags = models.ManyToManyField(
Tag, related_name="rolling_stock", blank=True
)
notes = tinymce.HTMLField(blank=True)
creation_time = models.DateTimeField(auto_now_add=True)
updated_time = models.DateTimeField(auto_now=True)
class Meta:
ordering = ["rolling_class", "road_number_int"]
@@ -210,6 +206,8 @@ class RollingStockJournal(models.Model):
class Meta:
ordering = ["date", "rolling_stock"]
objects = PublicManager()
# @receiver(models.signals.post_delete, sender=Cab)
# def post_save_image(sender, instance, *args, **kwargs):