# -*-coding:utf-8 -*-
from django.db import models
import constants
class User(models.Model):
    name = models.CharField(max_length=125,blank=False)
    email = models.CharField(max_length=125,blank=False)
    password = models.CharField(max_length=125,blank=False)
    gender = models.CharField(max_length=125,blank=True,null=True)
    birthday = models.DateField(max_length=125,blank=True,null=True)
    status = models.CharField(max_length=125,blank=True,null=True)
    statusTonight = models.CharField(max_length=2,blank=True,null=True)
    interestedBy = models.CharField(max_length=125,blank=True,null=True)
    feel = models.CharField(max_length=125,blank=True,null=True)
    about = models.CharField(max_length=512,blank=True,null=True)
    city= models.CharField(max_length=125,blank=True,null=True)
    country= models.CharField(max_length=125,blank=True,null=True)
    picture= models.ImageField(max_length=255,upload_to='profile/%Y%m%d%H%M%S',blank=True,null=True)
    uuid= models.CharField(max_length=255,blank=False)
    fbUserId = models.CharField(max_length=125,blank=True,null=True)
    fbPictureUrl = models.CharField(max_length=512,blank=True,null=True)
    valid= models.BooleanField()

    def __unicode__(self):
      return u'%s' % (self.email)
   

class Newsforum(models.Model):
    id = models.IntegerField(primary_key=True)  # AutoField?
    iduser = models.BigIntegerField()  # Field name made lowercase.
    pseudo = models.CharField(max_length=255)
    title = models.CharField(max_length=100)
    message = models.CharField(max_length=2048, blank=True)
    latitude = models.FloatField()
    longitude = models.FloatField()
    codepostal = models.CharField(db_column='codePostal', max_length=10, blank=True, null=True)  # Field name made lowercase.
    ville = models.CharField(max_length=100, blank=True, null=True)
    arrondissement = models.CharField(max_length=100, blank=True, null=True)
    idparent = models.IntegerField(db_column='idParent', blank=True, null=True)  # Field name made lowercase.
    datecreation = models.DateTimeField(db_column='dateCreation')  # Field name made lowercase.
    dateupdate = models.DateTimeField(db_column='dateUpdate')  # Field name made lowercase.
    blacklist = models.IntegerField()

    def __unicode__(self):
      return u'%s - %s' % (self.pseudo,self.message)

    class Meta:
        managed = False
        db_table = 'NewsForum'

class Epave(models.Model):
    idepave = models.IntegerField(db_column='idEpave', primary_key=True)  # Field name made lowercase.
    nom = models.CharField(max_length=255)
    longitude = models.CharField(max_length=100)
    latitude = models.CharField(max_length=100)
    type = models.CharField(max_length=155,choices=constants.TYPE_CHOICES)
    valid = models.IntegerField(blank=True, null=True)
    dateupdate = models.DateTimeField(db_column='dateUpdate')  # Field name made lowercase.
    pays = models.CharField(db_column='Pays', max_length=155,blank=True,null=True)  # Field name made lowercase.
    erreursignalee = models.IntegerField(db_column='erreurSignalee',blank=True,null=True)  # Field name made lowercase.
    totalpoisson = models.IntegerField(db_column='totalPoisson',choices=constants.FISH_CHOICES)  # Field name made lowercase.
    nbvote = models.IntegerField(db_column='nbVote')  # Field name made lowercase.
    photo = models.CharField(max_length=512,blank=True,null=True)
    profondeur = models.CharField(max_length=50)
    ocean = models.CharField(max_length=155,blank=True,null=True)
    refuser = models.ForeignKey(User,db_column='refUser', blank=True, null=True)  # Field name made lowercase.
    public = models.IntegerField(choices=constants.PUBLIC_CHOICES)

    def __unicode__(self):
      return u'%s' % (self.nom)

    def getPoint(self, *args, **kwargs):
        latitude = self.latitude
        longitude = self.longitude
        return u'(%s,%s)' % (latitude,longitude)

    class Meta:
        managed = False
        db_table = 'epave'


class Favoris(models.Model):
   refuser = models.ForeignKey(User,db_column='refUser', blank=True, null=True)  # Field name made lowercase.
   refepave = models.ForeignKey(Epave,db_column='refEpave')  # Field name made lowercase.

   def __unicode__(self):
      return u'%s %s' % (self.refuser.name,self.refepave.nom)
   class Meta:
        managed = False
        db_table = 'favoris'
    
    
class Club(models.Model):
   nom = models.CharField(max_length=255)
   adresse = models.CharField(max_length=255)
   codePostal = models.CharField(max_length=255)
   ville = models.CharField(max_length=255)
   pays = models.CharField(max_length=255)
   longitude = models.CharField(max_length=100,blank=True, null=True)
   latitude = models.CharField(max_length=100,blank=True, null=True)
   telephone = models.CharField(max_length=20,blank=True, null=True)
   email = models.CharField(max_length=100,blank=True, null=True)
   description = models.CharField(max_length=512,blank=True, null=True)

class MiseEau(models.Model):
   nom = models.CharField(max_length=255)
   adresse = models.CharField(max_length=255,blank=True, null=True)
   codePostal = models.CharField(max_length=255,blank=True, null=True)
   ville = models.CharField(max_length=255,blank=True, null=True)
   pays = models.CharField(max_length=255,blank=True, null=True)
   longitude = models.CharField(max_length=100)
   latitude = models.CharField(max_length=100)
   cale = models.CharField(max_length=100,choices=constants.PRIX_CHOICES,blank=True, null=True)
   prix = models.CharField(max_length=100,blank=True, null=True)
   parking = models.CharField(max_length=100,choices=constants.PRIX_CHOICES,blank=True, null=True)
   service = models.CharField(max_length=100,choices=constants.SERVICE_CHOICES,blank=True, null=True)
