from django.db import models class LandingPageSettings(models.Model): logo = models.ImageField(upload_to='logos/') company_address_en = models.TextField() company_address_ar = models.TextField() company_email = models.JSONField(help_text="Save as a list of emails as JSON i.e. [\"\", \"\"]",default=list) company_phone = models.JSONField(help_text="Save as a list of phone numbers as JSON i.e. [\"\", \"\"]",default=list) facebook_url = models.URLField(blank=True, null=True) twitter_url = models.URLField(blank=True, null=True) linkedin_url = models.URLField(blank=True, null=True) instagram_url = models.URLField(blank=True, null=True) hero_image = models.ImageField(upload_to='hero_images/') def __str__(self): return "Landing Page Settings" class Meta: verbose_name_plural = "Landing Page Settings" class Partners(models.Model): name_en = models.CharField(max_length=100, blank=True, null=True) name_ar = models.CharField(max_length=100, blank=True, null=True) logo = models.ImageField(upload_to='partners/', blank=True, null=True) order = models.IntegerField(default=0) class Meta: ordering = ['order'] verbose_name_plural = "Partners" def __str__(self): return self.name_en or "Partner" class Expertise(models.Model): title_en = models.CharField(max_length=100, blank=True, null=True) title_ar = models.CharField(max_length=100, blank=True, null=True) description_en = models.TextField(blank=True, null=True) description_ar = models.TextField(blank=True, null=True) icon_svg = models.TextField(help_text="Paste SVG code here") order = models.IntegerField(default=0) class Meta: ordering = ['order'] verbose_name_plural = "Expertise Areas" def __str__(self): return self.title_en or "Expertise" class Product(models.Model): name_en = models.CharField(max_length=100, blank=True, null=True) name_ar = models.CharField(max_length=100, blank=True, null=True) description_en = models.TextField(blank=True, null=True) description_ar = models.TextField(blank=True, null=True) features_en = models.JSONField(help_text="English features list as JSON array i.e. [\"Feature 1\", \"Feature 2\"]",default=list) features_ar = models.JSONField(help_text="Arabic features list as JSON array i.e. [\"الميزة 1\", \"الميزة 2\"]",default=list) order = models.IntegerField(default=0) image = models.ImageField(upload_to='products/', blank=True, null=True) link = models.URLField(blank=True, null=True) class Meta: ordering = ['order'] verbose_name_plural = "Products" def __str__(self): return self.name_en or "Product" class Inquiry(models.Model): name = models.CharField(max_length=100) email = models.EmailField() message = models.TextField() created_at = models.DateTimeField(auto_now_add=True) def __str__(self): return f"{self.email} - {self.message[:20]}" class Meta: ordering = ['-created_at'] verbose_name_plural = "Inquiries" class Testimonial(models.Model): client_name_en = models.CharField(max_length=100, blank=True, null=True) client_name_ar = models.CharField(max_length=100, blank=True, null=True) feedback_en = models.TextField(null=True, blank=True) feedback_ar = models.TextField(null=True, blank=True) client_photo = models.ImageField(upload_to='testimonials/', blank=True, null=True) order = models.IntegerField(default=0) class Meta: ordering = ['order'] verbose_name_plural = "Testimonials" def __str__(self): return self.client_name_en or "Client" class TeamMember(models.Model): name_en = models.CharField(max_length=100, blank=True, null=True) name_ar = models.CharField(max_length=100, blank=True, null=True) role_en = models.CharField(max_length=100, blank=True, null=True) role_ar = models.CharField(max_length=100, blank=True, null=True) photo = models.ImageField(upload_to='team_members/') bio_en = models.TextField(null=True, blank=True) bio_ar = models.TextField(null=True, blank=True) order = models.IntegerField(default=0) class Meta: ordering = ['order'] verbose_name_plural = "Team Members" def __str__(self): return self.name_en or "Team Member" # models.py class VisitorLog(models.Model): ip_address = models.GenericIPAddressField() country = models.CharField(max_length=100, null=True, blank=True) region = models.CharField(max_length=100, null=True, blank=True) # State/Province city = models.CharField(max_length=100, null=True, blank=True) timestamp = models.DateTimeField(auto_now_add=True) class Meta: ordering = ['-timestamp'] verbose_name_plural = "Visitor Logs" def __str__(self): return f"{self.ip_address} from {self.city}, {self.country}"