from django.contrib.gis.db import models
from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.auth import get_user_model

User = get_user_model()
# Create your models here.

class StatsLog(models.Model):

    action_object_content_type = models.ForeignKey(
        ContentType, blank=True,
        null=True,
        related_name='statslogs',
        on_delete=models.CASCADE
        )
    action_object_object_id = models.CharField(max_length=255, blank=True, null=True)
    action_object = GenericForeignKey('action_object_content_type', 'action_object_object_id')
    user = models.ForeignKey(User, on_delete=models.DO_NOTHING, null=True)
    anonymous = models.BooleanField('Usuario no registrado', null=True, blank=True)
    ip_address = models.GenericIPAddressField('IP usuario', null=True, blank=True)
    geo = models.PointField('Ubicación aproximada', null=True, blank=True )
    contact = models.BooleanField('Empresa contactada', null=True, blank=True)
    shop = models.BooleanField('Redirigido por botón "Comprar"', null=True, blank=True)
    view = models.BooleanField('Redirigido por botón "Detalles"', null=True, blank=True)

    # internal
    created = models.DateTimeField('date of creation', auto_now_add=True)
    updated = models.DateTimeField('date last update', auto_now=True)
