from django.shortcuts import render
from django.utils import timezone
from .models import *
import datetime

''' non esistono attività specifiche su web
ma solo funzioni che registrano o ritornano le attivita' richieste
'''

def setNewLog(causale,stringa):
  print(causale,stringa)
  attivita = Attivita()
  attivita.data = datetime.datetime.now()
  causale = Causale.objects.get(pk=causale)
  attivita.causale =  causale
  print('causale',causale.id,causale.nome)
  print(stringa)
  attivita.valore = causale.schema.format(**stringa)
  attivita.save()

def setLog(causale,azienda=None,sede=None,amministratore=None,utente=None,documento=None):
  print(causale,azienda,amministratore,utente,documento)

  #valore = string()

  attivita = Attivita()
  causale = Causale.objects.get(pk=causale)

  attivita.causale =  causale
  print('causale',causale.id,causale.nome)

  attivita.data = datetime.datetime.now()
  if azienda:
    attivita.azienda_id = azienda.id

  if amministratore and isinstance(amministratore,Amministratore):
    attivita.amministratore_id = amministratore.id

  if utente and isinstance(utente,Utente):
    print('utente',utente.id,utente.nome)
    attivita.utente_id = utente.id
    attivita.azienda = utente.azienda

  if documento and isinstance(documento,Documento):
    attivita.documento = documento
    attivita.utente = documento.utente
    attivita.azienda = attivita.utente.azienda

  attivita.data = timezone.now()
  attivita.save()

def getLogxUtente(utente):
  return utente.attivita_set.all().order_by('-data')[:10]

def getLogxAmministrazione(amministratore):
  return amministratore.attivita_set.all().order_by('-data')[:10]

def getLogxDocumento(documento):
  return Documento.attivita_set.all().order_by('-data')[:10]

def getLogxAzienda(azienda):
  #attivita = Azienda.attivita_set.all().order_by('-data')
  attivita = Attivita.objects.filter(azienda = azienda).order_by('-data')[:30]
  print('elenco delle attivita registrate x azienda',azienda.id,":",len(attivita))
  return attivita

