views.py 2.2 KB

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