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}"