Nenhuma descrição

views.py 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. from django.shortcuts import render
  2. from counter.models import Counter,Reset
  3. from babel.dates import format_timedelta
  4. from datetime import datetime
  5. from django import forms
  6. from django.http import HttpResponseRedirect
  7. from django.core import serializers
  8. class resetCounterForm(forms.ModelForm):
  9. class Meta:
  10. model = Reset
  11. fields = ['reason','counter']
  12. # Create your views here.
  13. def home(request):
  14. #Display counters
  15. counters = Counter.objects.all()
  16. for counter in counters:
  17. lastReset = Reset.objects.filter(counter=counter).order_by('-timestamp')
  18. if (lastReset.count() == 0):
  19. counter.lastReset = False
  20. else:
  21. counter.lastReset = lastReset[0]
  22. counter.lastReset.delta = datetime.now()-counter.lastReset.timestamp.replace(tzinfo=None)
  23. counter.lastReset.formatted_delta = format_timedelta(counter.lastReset.delta,locale='fr')
  24. counter.isHidden = "hidden"
  25. return render(request,'counterTemplate.html', {'counters' : counters})
  26. def resetCounter(request):
  27. #Update Form counter
  28. if (request.method == 'POST'):
  29. # create a form instance and populate it with data from the request:
  30. data = dict(request.POST)
  31. counter = Counter.objects.get(pk=int(data['counter'][0]))
  32. print(counter)
  33. reset = Reset()
  34. reset.counter = counter
  35. reset.reason = data['reason'][0]
  36. reset.timestamp = datetime.now()
  37. reset.save()
  38. # check whether it's valid
  39. return HttpResponseRedirect('/')