from django.core import meta

# Provide a way for conference attendees to stick virtual pins on where 
# they are from (and perhaps leave a popup note for others to find)

class Person(meta.Model):
  name = meta.CharField(maxlength=200)
  email = meta.EmailField(unique=True)
  notes = meta.CharField(maxlength=200, null=True, blank=True)
  
  zip = meta.CharField(maxlength=100, blank=True, null=True)
  country = meta.CharField(maxlength=100)

  lat = meta.FloatField(max_digits=9, decimal_places=6)
  lon = meta.FloatField(max_digits=9, decimal_places=6)
  
  def __repr__(self):
    return "%s (%s)" % (self.email, self.name)
  
  class META:
    module_name = "people"
    verbose_name_plural = "People"
    verbose_name = "Person"
    admin = meta.Admin()
  
class Tag(meta.Model):
  person = meta.ManyToManyField(Person, blank=True, null=True)
  tag = meta.CharField(maxlength=50, db_index=True)
  count = meta.IntegerField(blank=True, null=True)
  
  def _pre_save(self):
    self.tag = self.tag.lower()
  
  def __repr__(self):
    return self.tag
  
  class META:
    module_name = "tags"
    verbose_name_plural = "Tags"
    verbose_name = "Tag"
    admin = meta.Admin()