views.py 2.4 KB

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