93 lines
4.6 KiB
Python
93 lines
4.6 KiB
Python
from django.db import models
|
||
from colorfield.fields import ColorField
|
||
from imagekit.models import ProcessedImageField
|
||
|
||
from core.utils import image_optimizer
|
||
|
||
|
||
class Setting(models.Model):
|
||
aktif = (
|
||
(True, 'Evet'),
|
||
(False, 'Hayır'),
|
||
)
|
||
title = models.CharField(max_length=254, verbose_name="Ayar Başlığı")
|
||
meta_title = models.CharField(max_length=254, verbose_name="Meta Title", default='Meta Title')
|
||
meta_description = models.CharField(max_length=254, verbose_name="Meta Description", default='Meta Description')
|
||
phone = models.CharField(max_length=254, verbose_name="Telefon")
|
||
url = models.CharField(max_length=254, verbose_name="Site İnternet Adresi", blank=True, null=True,
|
||
default='https://beyhanogur.com.tr')
|
||
email = models.EmailField(max_length=254, verbose_name="E-Posta")
|
||
facebook = models.CharField(max_length=254, verbose_name="Facebook", default='https://www.facebook.com', null=True,
|
||
blank=True)
|
||
x = models.CharField(max_length=254, verbose_name="Twitter", default='https://www.twitter.com', null=True,
|
||
blank=True)
|
||
instagram = models.CharField(max_length=254, verbose_name="Instagram", default='https://www.instagram.com',
|
||
null=True, blank=True)
|
||
whatsapp = models.CharField(max_length=254, verbose_name="Whatsapp", default='https://www.whatsapp.com', null=True,
|
||
blank=True)
|
||
pinterest = models.CharField(max_length=254, verbose_name="pinterest", default='https://www.pinterest.com',
|
||
null=True, blank=True)
|
||
linkedin = models.CharField(max_length=254, verbose_name="linkedin", default='https://www.linkedin.com', null=True,
|
||
blank=True)
|
||
slogan = models.CharField(max_length=254, verbose_name="Başlık Solaganı", default='Dondurma', null=True, blank=True)
|
||
w_logo = ProcessedImageField(**image_optimizer('uploads/w_logo', 191, 30, 85, 'png'), null=True, blank=True)
|
||
b_logo = ProcessedImageField(**image_optimizer('uploads/b_logo', 191, 30, 85, 'png'), null=True, blank=True)
|
||
created_at = models.DateTimeField(auto_now_add=True, editable=False, verbose_name="Oluşturulma Tarihi")
|
||
updated_at = models.DateTimeField(auto_now=True, editable=False, verbose_name="Güncelleme Tarihi")
|
||
is_active = models.BooleanField(default=False, verbose_name='Yayındamı', choices=aktif)
|
||
|
||
class Meta:
|
||
ordering = ["-created_at"]
|
||
db_table = 'settings'
|
||
verbose_name_plural = "Site Ayarları"
|
||
verbose_name = "Site Ayarı"
|
||
|
||
def __str__(self):
|
||
return self.title
|
||
|
||
|
||
class Banner(models.Model):
|
||
aktif = (
|
||
(True, 'Evet'),
|
||
(False, 'Hayır'),
|
||
)
|
||
color = ColorField(default='#FFFFFF', verbose_name='Yazı Rengi')
|
||
title = models.CharField(max_length=254, verbose_name='Baner Adı', null=True)
|
||
sub_text = models.CharField(max_length=254, verbose_name='Baner Küçük Yazı 1', null=True)
|
||
button_text = models.CharField(max_length=254, verbose_name='Baner Büyük Yazı 1', null=True)
|
||
images = ProcessedImageField(**image_optimizer('uploads/banner', 1720, 800, 85, 'avif'), null=True, blank=True)
|
||
sub_images = ProcessedImageField(**image_optimizer('uploads/sub_banner', 306, 311, 85, 'avif'), null=True, blank=True)
|
||
is_active = models.BooleanField(default=True, verbose_name='Yayındamı ?', choices=aktif)
|
||
|
||
created_at = models.DateTimeField(auto_now_add=True, editable=False, verbose_name="Oluşturulma Tarihi")
|
||
updated_at = models.DateTimeField(auto_now=True, editable=False, verbose_name="Güncelleme Tarihi")
|
||
|
||
class Meta:
|
||
ordering = ["-created_at"]
|
||
db_table = 'banners'
|
||
verbose_name_plural = "Bannerler"
|
||
verbose_name = "Banner"
|
||
|
||
def __str__(self):
|
||
return str(self.title)
|
||
|
||
|
||
class SiteSettings(models.Model):
|
||
aktif = (
|
||
(True, 'Evet'),
|
||
(False, 'Hayır'),
|
||
)
|
||
is_active = models.BooleanField(default=True, verbose_name='Yayındamı ?', choices=aktif)
|
||
site_active = models.BooleanField(default=True, verbose_name='Site Aktifmi ?', choices=aktif)
|
||
created_at = models.DateTimeField(auto_now_add=True, editable=False, verbose_name="Oluşturulma Tarihi")
|
||
updated_at = models.DateTimeField(auto_now=True, editable=False, verbose_name="Güncelleme Tarihi")
|
||
|
||
class Meta:
|
||
ordering = ["-created_at"]
|
||
db_table = 'site_settings'
|
||
verbose_name_plural = "Site Ayarları Aç / Kapat"
|
||
verbose_name = "Site Ayarı Aç / Kapat"
|
||
|
||
def __str__(self):
|
||
return f"Site Ayarı {self.pk}"
|