from django.db import models
from django.contrib.auth.models import User
# Create your models here.
# (flyers, brochures,calendars)

class Header(models.Model):
    name = models.CharField(max_length=255)
    dname = models.CharField(max_length=255,null=True)
    image = models.ImageField(upload_to="header",null=True)
    du = models.CharField(max_length=255,null=True)
    
    def __str__(self):
        return self.name
        
class Category(models.Model):
    dname = models.CharField(max_length=255,null=True)
    header = models.ForeignKey(Header,on_delete=models.CASCADE,null=True)
    name = models.CharField(max_length=255)
    image = models.ImageField(upload_to="category/",null=True,blank=True)
    description = models.TextField(null=True)
    ispromotional = models.BooleanField(default=False)
    
    def __str__(self):
        return self.name




class SubProduct(models.Model):
    category = models.ForeignKey(Category,on_delete=models.CASCADE)
    name = models.CharField(max_length=255)	
    description = models.TextField(null=True)
    top_description = models.TextField(null=True)
    image = models.ImageField(upload_to="subproduct/")
    artwork = models.TextField(null=True)

    def __str__(self):
        return self.name


class FAQ(models.Model):
    subproduct = models.ForeignKey(SubProduct,on_delete=models.CASCADE)
    ques = models.TextField(null=True)
    answer = models.TextField(null=True)
	
class SubImages(models.Model):
    subproduct = models.ForeignKey(SubProduct,on_delete=models.CASCADE)
    image = models.ImageField(upload_to="subimages/")
# (print run, color combination)
class Product(models.Model): 
    main_category = models.ForeignKey(SubProduct,on_delete=models.CASCADE)
    field_name = models.CharField(max_length=255)
    
    def __str__(self):
        return f"{self.field_name} of {self.main_category.name}"


class ProductFieldValue(models.Model): 
    field_name = models.ForeignKey(Product,on_delete=models.CASCADE) 
    name = models.CharField(max_length=255)
    
    def __str__(self):
        return self.name

class Price(models.Model):
    combination = models.TextField(null=True)
    price = models.FloatField()
    product = models.ForeignKey(SubProduct,null=True,on_delete=models.DO_NOTHING)

	


class Contact(models.Model):
    title = models.CharField(max_length=255)
    first_name = models.CharField(max_length=255)
    sur_name = models.CharField(max_length=255)
    email = models.CharField(max_length=255)
    telephone = models.CharField(max_length=255)
    c_no = models.CharField(max_length=255)
    o_no = models.CharField(max_length=255)
    subject = models.CharField(max_length=255)
    query = models.TextField()


    def __str__(self):
        return self.name


class WebsiteQuery(models.Model):
    name = models.CharField(max_length=255)
    contact =  models.CharField(max_length=255)
    subject = models.CharField(max_length=255)
    message = models.TextField()

    def __str__(self):
        return self.name

class UserProfile(models.Model):
    user = models.ForeignKey(User,on_delete=models.CASCADE)
    title = models.CharField(max_length=255)
    house_no = models.CharField(max_length=255)
    postcode = models.CharField(max_length=255)
    town = models.CharField(max_length=255)
    telephone_number = models.CharField(max_length=255)
    howyouhear = models.CharField(max_length=255)
    full_name = models.CharField(max_length=255,null=True)



class Order(models.Model):
    user_id = models.CharField(max_length=100,default="None")
    name = models.CharField(max_length=255,null=True)
    date = models.DateField(auto_now=True,null=True)
    phone = models.CharField(max_length=255,null=True)
    email = models.CharField(max_length=255,null=True)
    address = models.CharField(max_length=255,null=True)
    description = models.TextField(null=True)
    status = models.CharField(default="Pending",max_length=255)
    remarks = models.TextField(null=True)
    


class Art(models.Model):
    image = models.ImageField(upload_to="art")

class Subscription(models.Model):
    name = models.CharField(max_length=255)
    email = models.CharField(max_length=255)



class Testimonials(models.Model):
    name = models.CharField(max_length=255)
    designation = models.CharField(max_length=255)
    description = models.TextField()


class WebsiteSection(models.Model):
    title = models.CharField(max_length=100)
    price = models.CharField(max_length=100)
    subtext = models.CharField(max_length=100)
    fortext = models.CharField(max_length=100)
    field1 = models.CharField(max_length=100)
    value1 = models.CharField(max_length=100)
    field2 = models.CharField(max_length=100)
    value2 = models.CharField(max_length=100)
    field3 = models.CharField(max_length=100)
    value3 = models.CharField(max_length=100)
    field4 = models.CharField(max_length=100)
    value4 = models.CharField(max_length=100)
    field5 = models.CharField(max_length=100)
    value5 = models.CharField(max_length=100)
    field6 = models.CharField(max_length=100)
    value6 = models.CharField(max_length=100)
    field7 = models.CharField(max_length=100)
    value7 = models.CharField(max_length=100)
    field8 = models.CharField(max_length=100)
    value8 = models.CharField(max_length=100)



class MainBanner(models.Model):
    image = models.ImageField(upload_to="mainbanner")
    heading = models.CharField(max_length=100)
    text = models.TextField(null=True)