Files
2024-11-27 13:18:16 +01:00

41 lines
958 B
Python
Executable File

import os
from django.db import models
from django.utils.translation import gettext_lazy as _
from rules import always_allow
from rules.contrib.models import RulesModel
from outbo.apps.core.models import TimestampableDeletableMixin
def filename(self, filename):
return "/".join(
(
"projects",
self.item.brief.product.project.slug[1:],
"photobriefing",
filename,
)
)
class BriefItemPhoto(TimestampableDeletableMixin, RulesModel):
class Meta:
rules_permissions = {
"view": always_allow,
}
item = models.ForeignKey(
verbose_name=_("brief item"),
to="BriefItem",
on_delete=models.CASCADE,
related_name="photos",
related_query_name="photo",
)
file = models.ImageField(verbose_name=_("file"), upload_to=filename)
@property
def filename(self):
return os.path.basename(self.file.name)