from django.db import models
from django.core.urlresolvers import reverse
from solo.models import SingletonModel

class Homepage(SingletonModel):
    meta_title          = models.CharField(max_length=255,blank=True)
    meta_description    = models.CharField(max_length=150,blank=True)
    
    banner              = models.ImageField(upload_to='banner')
    banner_content      = models.TextField()
    
    folded_block_1      = models.ForeignKey('content.FoldedBlock', related_name="folded_block_1", blank=True, null=True)
    folded_block_2      = models.ForeignKey('content.FoldedBlock', related_name="folded_block_2", blank=True, null=True)
    folded_block_3      = models.ForeignKey('content.FoldedBlock', related_name="folded_block_3", blank=True, null=True)
    folded_block_4      = models.ForeignKey('content.FoldedBlock', related_name="folded_block_4", blank=True, null=True)
    
    about_us_title      = models.CharField(max_length=200)
    about_us_content    = models.TextField()
    
    call_to_action_1        = models.ForeignKey('content.CallToAction', related_name="call_to_action_1", blank=True, null=True)
    call_to_action_2        = models.ForeignKey('content.CallToAction', related_name="call_to_action_2", blank=True, null=True)
    call_to_action_3        = models.ForeignKey('content.CallToAction', related_name="call_to_action_3", blank=True, null=True)
    call_to_action_4        = models.ForeignKey('content.CallToAction', related_name="call_to_action_4", blank=True, null=True)
    
    doctors_title       = models.CharField(max_length=200)
    doctors_brief       = models.TextField()
    doctor_1            = models.ForeignKey('content.Doctor', related_name="doctor_1", blank=True, null=True, on_delete=models.SET_NULL)
    doctor_2            = models.ForeignKey('content.Doctor', related_name="doctor_2", blank=True, null=True, on_delete=models.SET_NULL)
    doctor_3            = models.ForeignKey('content.Doctor', related_name="doctor_3", blank=True, null=True, on_delete=models.SET_NULL)
    
    feedback_title      = models.CharField(max_length=200)
    feedback_content    = models.TextField()

    class Meta:
        verbose_name = 'Homepage'
        verbose_name_plural = 'Homepage'
    
class AboutPage(SingletonModel):
    meta_title          = models.CharField(max_length=255,blank=True)
    meta_description    = models.CharField(max_length=150,blank=True)
    content             = models.TextField()

    class Meta:
        verbose_name = 'About Page'
        verbose_name_plural = 'About Page'

class NewsPage(SingletonModel):
    meta_title          = models.CharField(max_length=255,blank=True)
    meta_description    = models.CharField(max_length=150,blank=True)

    class Meta:
        verbose_name = 'News Page'
        verbose_name_plural = 'News Page'

class TestsPage(SingletonModel):
    meta_title          = models.CharField(max_length=255,blank=True)
    meta_description    = models.CharField(max_length=150,blank=True)

    class Meta:
        verbose_name = 'Tests Page'
        verbose_name_plural = 'Tests Page'

class FAQPage(SingletonModel):
    meta_title          = models.CharField(max_length=255,blank=True)
    meta_description    = models.CharField(max_length=150,blank=True)
    content             = models.TextField()

    class Meta:
        verbose_name = 'FAQ Page'
        verbose_name_plural = 'FAQ Page'

class ContactPage(SingletonModel):
    meta_title          = models.CharField(max_length=255,blank=True)
    meta_description    = models.CharField(max_length=150,blank=True)
    content             = models.TextField()

    class Meta:
        verbose_name = 'Contact Page'
        verbose_name_plural = 'Contact Page'

class Page(models.Model):
    meta_title          = models.CharField(max_length=255,blank=True)
    meta_description    = models.CharField(max_length=150,blank=True)
    name                = models.CharField(max_length=255)
    content             = models.TextField()
    slug                = models.SlugField()
    last_modified       = models.DateTimeField(auto_now=True)
    order               = models.IntegerField(default=0)
    show_in_main_nav    = models.BooleanField(default=True)
    show_in_footer_nav  = models.BooleanField(default=True)
    
    class Meta:
        verbose_name = 'Other Page'
        verbose_name_plural = 'Other Pages'
        ordering = ['order']
    
    def __unicode__(self):
        return self.name
    
    def get_absolute_url(self):
        return '/%s/' % self.slug
    