views.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. from django.shortcuts import render
  2. from django.utils import timezone
  3. from .models import *
  4. import datetime
  5. from django.contrib.auth.models import User as Amministratore
  6. ''' non esistono attività specifiche su web
  7. ma solo funzioni che registrano o ritornano le attivita' richieste
  8. '''
  9. def setNewLog(causale,stringa):
  10. print(causale,stringa)
  11. attivita = Attivita()
  12. attivita.data = datetime.datetime.now()
  13. causale = Causale.objects.get(pk=causale)
  14. attivita.causale = causale
  15. print('causale',causale.id,causale.nome)
  16. print(stringa)
  17. attivita.valore = causale.schema.format(**stringa)
  18. attivita.save()
  19. def setLog(causale,azienda=None,amministratore=None,utente=None,documento=None):
  20. print(causale,azienda,amministratore,utente,documento)
  21. #valore = string()
  22. attivita = Attivita()
  23. causale = Causale.objects.get(pk=causale)
  24. attivita.causale = causale
  25. print('causale',causale.id,causale.nome)
  26. attivita.data = datetime.datetime.now()
  27. if azienda:
  28. attivita.azienda_id = azienda.id
  29. if amministratore and isinstance(amministratore,Amministratore):
  30. attivita.amministratore_id = amministratore.id
  31. if utente and isinstance(utente,utente.models.Utente):
  32. print('utente',utente.id,utente.nome)
  33. attivita.utente_id = utente.id
  34. attivita.azienda = utente.azienda
  35. if documento and isinstance(documento,documento.models.Documento):
  36. attivita.documento = documento
  37. attivita.utente = documento.utente
  38. attivita.azienda = attivita.utente.azienda
  39. attivita.data = timezone.now()
  40. attivita.save()
  41. def getLogxUtente(utente):
  42. return utente.attivita_set.all().order_by('-data')[:10]
  43. def getLogxAmministrazione(amministratore):
  44. return amministratore.attivita_set.all().order_by('-data')[:10]
  45. def getLogxDocumento(documento):
  46. return Documento.attivita_set.all().order_by('-data')[:10]
  47. def getLogxAzienda(azienda):
  48. #attivita = Azienda.attivita_set.all().order_by('-data')
  49. attivita = Attivita.objects.filter(azienda = azienda).order_by('-data')[:30]
  50. print('elenco delle attivita registrate x azienda',azienda.id,":",len(attivita))
  51. return attivita