from django.db import models
from fontawesome.fields import IconField

class PatientFeedback(models.Model):
	name			= models.CharField(max_length=100, verbose_name="Patient Name")
	feedback		= models.TextField()
	when			= models.CharField(max_length=100, verbose_name="Feedback Date")

	class Meta:
		verbose_name_plural = 'Patient Feedback'
	
	def __unicode__(self):
		return self.name

class Test(models.Model):
	name			= models.CharField(max_length=100, verbose_name="Test Name")
	description		= models.TextField()
	
	class Meta:
		ordering = ['name']
	
	def __unicode__(self):
		return self.name

class FoldedBlock(models.Model):
	title			= models.CharField(max_length=100, verbose_name="Block Title")
	content			= models.TextField(verbose_name="Block Content")
	button_text		= models.CharField(max_length=100, verbose_name="Button Text")
	button_link		= models.CharField(max_length=100, verbose_name="Button Link")

	def __unicode__(self):
		return self.title

class CallToAction(models.Model):
	icon			= IconField()
	title			= models.CharField(max_length=100, verbose_name="Block Title")
	content			= models.TextField(verbose_name="Block Content")
	button_text		= models.CharField(max_length=100, verbose_name="Button Text")
	button_link		= models.CharField(max_length=100, verbose_name="Button Link")

	def __unicode__(self):
		return self.title

class Doctor(models.Model):
	name						= models.CharField(max_length=100, verbose_name="Doctor Name")
	photo						= models.ImageField(upload_to='doctor')
	brief						= models.TextField(verbose_name="Doctors Brief", blank=True)
	about						= models.TextField(verbose_name="About This Doctor", blank=True)
	undergraduate_training		= models.TextField(verbose_name="Undergraduate Training", blank=True)
	postgraduate_training		= models.TextField(verbose_name="Postgraduate Training", blank=True)
	appointments				= models.TextField(verbose_name="Current NHS Appointments", blank=True)
	private_practices			= models.TextField(verbose_name="Private Practice Hospitals", blank=True)
	office_locations			= models.TextField(verbose_name="Positions of Office", blank=True)
	research					= models.TextField(verbose_name="Research", blank=True)
	publications				= models.TextField(verbose_name="Publications", blank=True)

	def get_absolute_url(self):
		return '/doctor/%s/' % self.id

	def get_links(self):
		return DoctorLink.objects.filter(doctor=self)
	
	def get_qualifications(self):
		return DoctorQualification.objects.filter(doctor=self)
		
	def get_memberships(self):
		return DoctorMembership.objects.filter(doctor=self)

	def __unicode__(self):
		return self.name

class DoctorLink(models.Model):
	doctor						= models.ForeignKey('content.Doctor')
	name						= models.CharField(max_length=100, verbose_name="Link Name")
	link						= models.CharField(max_length=150, verbose_name="External Link")

	def __unicode__(self):
		return self.name

class DoctorQualification(models.Model):
	doctor						= models.ForeignKey('content.Doctor')
	month						= models.CharField(max_length=10, verbose_name="Month of Completion", blank=True)
	year						= models.CharField(max_length=4, verbose_name="Year of Completion", blank=True)
	qualification				= models.CharField(max_length=100, verbose_name="Qualification Name", blank=True)
	location					= models.CharField(max_length=100, verbose_name="Qualification Location", blank=True)

	def __unicode__(self):
		return self.qualification

class DoctorMembership(models.Model):
	doctor						= models.ForeignKey('content.Doctor')
	name						= models.CharField(max_length=100, verbose_name="Membership Name")
	link						= models.CharField(max_length=150, verbose_name="External Link")

	def __unicode__(self):
		return self.name

class Partner(models.Model):
	name						= models.CharField(max_length=100, verbose_name="Partner Name")
	logo						= models.ImageField(upload_to='partner')
	link						= models.CharField(max_length=100, verbose_name="External Link", blank=True)

	def __unicode__(self):
		return self.name