from django.db import models
from django.contrib.auth.models import User
import datetime

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    biografia = models.TextField(default='')
    website = models.URLField(blank=True)
    picture = models.ImageField(upload_to='profile', blank=True)
    reputacio = models.IntegerField(default=0)
    puntuacioUser = models.IntegerField(default=0)
    num_noticies = models.IntegerField(default=0)
    num_comentaris = models.IntegerField(default=0)
    num_fotos = models.IntegerField(default=0)
    num_videos = models.IntegerField(default=0)
    localitzacio = models.TextField(default='')

class Media(models.Model):
    titol = models.TextField(default='')
    file = models.ImageField(upload_to='news/%Y/%m/%d')
    autor = models.ForeignKey(User)
    tags = models.TextField(default='')
    categoria = models.TextField(default='')
    data = models.DateTimeField(auto_now_add=True)
    localitzacio = models.TextField(default='')
    geolatitud = models.FloatField(default=0)
    geolongitud = models.FloatField(default=0)
    isvideo = models.BooleanField(default=False)

class Noticia(models.Model):
    titol = models.TextField(default='')
    contingut = models.TextField(default='')
    puntuacio = models.FloatField(default=0)
    votacions = models.IntegerField(default=0)
    autor = models.ForeignKey(User)
    tags = models.TextField(default='')
    categoria = models.TextField(default='')
    data = models.DateTimeField(auto_now_add=True)
    localitzacio = models.TextField(default='')
    geolatitud = models.FloatField(default=0)
    geolongitud = models.FloatField(default=0)
    media = models.ManyToManyField(Media)

class Comentari(models.Model):
    noticia = models.ForeignKey(Noticia)
    contingut = models.TextField(default='')
    autor = models.ForeignKey(User)
    data = models.DateTimeField(auto_now_add=True)

## Suport Android

class Imatge(models.Model):
    file = models.ImageField(upload_to='img/%Y/%m/%d')
    noticia = models.ForeignKey(Noticia, default=1)

class ImatgeAndroid(models.Model):
    Base64String = models.TextField()
