87 lines
2.0 KiB
Python
87 lines
2.0 KiB
Python
from django.db import models
|
|
from django.utils.translation import gettext_lazy as _
|
|
from django.contrib.postgres.fields import JSONField
|
|
|
|
|
|
class Tag(models.Model):
|
|
"""Tag model."""
|
|
name = models.CharField(max_length=250)
|
|
|
|
|
|
class MediaAsset(models.Model):
|
|
"""Assets model."""
|
|
PHOTO = 0
|
|
VIDEO = 1
|
|
VIDEO_URL = 2
|
|
PDF = 3
|
|
DOCUMENT = 4
|
|
|
|
ASSET_TYPE_CHOICES = (
|
|
(PHOTO, _('photo')),
|
|
(VIDEO, _('video')),
|
|
(VIDEO_URL, _('video url')),
|
|
(PDF, _('pdf')),
|
|
(DOCUMENT, _('document'))
|
|
)
|
|
|
|
AMAZON_S3 = 0
|
|
|
|
STORAGE_TYPE_CHOICES = (
|
|
(AMAZON_S3, _('amazon s3')),
|
|
)
|
|
|
|
PUBLIC = 0
|
|
PRIVATE = 1
|
|
ROLE = 2
|
|
|
|
ACCESS_TYPE_CHOICES = (
|
|
(PUBLIC, _('public')),
|
|
(PRIVATE, _('private')),
|
|
(ROLE, _('role')),
|
|
)
|
|
|
|
asset_type = models.PositiveSmallIntegerField(
|
|
_('asset type'), choices=ASSET_TYPE_CHOICES, default=PHOTO
|
|
)
|
|
storage_type = models.PositiveSmallIntegerField(
|
|
_('storage type'), choices=STORAGE_TYPE_CHOICES, default=AMAZON_S3
|
|
)
|
|
storage_unit = models.CharField(_('storage unit'), blank=True, default='')
|
|
path = models.CharField(_('path'))
|
|
access_type = models.PositiveSmallIntegerField(
|
|
_('access type'), choices=ACCESS_TYPE_CHOICES, default=PUBLIC)
|
|
asset_text = JSONField(_('asset_text'))
|
|
size = models.IntegerField(_('size'))
|
|
version = models.CharField(_('version'), max_length=250)
|
|
text = JSONField(_('text'))
|
|
|
|
|
|
class Contacts(models.Model):
|
|
"""Contacts model."""
|
|
address = models.ForeignKey(
|
|
'location.Address', verbose_name=_('address'), on_delete=models.CASCADE
|
|
)
|
|
|
|
|
|
class Social(models.Model):
|
|
"""Social model."""
|
|
WEBSITE = 0
|
|
SOCIAL = 1
|
|
|
|
SOCIAL_TYPE_CHOICES = (
|
|
(WEBSITE, _('website')),
|
|
(SOCIAL, _('social')),
|
|
)
|
|
|
|
social_type = models.PositiveSmallIntegerField(
|
|
_('social type'), choices=SOCIAL_TYPE_CHOICES
|
|
)
|
|
|
|
|
|
class Note(models.Model):
|
|
"""Note model."""
|
|
|
|
|
|
class Ad(models.Model):
|
|
"""Ad model."""
|