views.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. from django.core.urlresolvers import reverse
  2. from django.shortcuts import render, get_object_or_404
  3. from .models import Document, Service, ServiceUse, CostUse, GoodUse
  4. def index(request):
  5. return render(request, 'costs/index.html')
  6. def list_documents(request):
  7. breadcrumbs = (
  8. ('Documents', reverse('list-documents')),
  9. )
  10. docs = Document.objects.all().prefetch_related('service_set')
  11. return render(
  12. request, 'costs/documents_list.html', {
  13. 'documents': docs,
  14. 'breadcrumbs': breadcrumbs,
  15. })
  16. def detail_document(request, pk):
  17. doc = get_object_or_404(Document, pk=pk)
  18. breadcrumbs = (
  19. ('Documents', reverse('list-documents')),
  20. (str(doc), doc.get_absolute_url())
  21. )
  22. return render(
  23. request, 'costs/document_detail.html', {
  24. 'document': doc,
  25. 'breadcrumbs': breadcrumbs,
  26. })
  27. def detail_service(request, pk):
  28. service = Service.objects.get(pk=pk)
  29. doc = service.document
  30. breadcrumbs = (
  31. ('Documents', reverse('list-documents')),
  32. (str(doc), doc.get_absolute_url()),
  33. (service.name, service.get_absolute_url())
  34. )
  35. costs_uses = CostUse.objects.filter(service=service)
  36. goods_uses = GoodUse.objects.filter(service=service)
  37. services_uses = ServiceUse.objects.filter(service=service)
  38. context = {}
  39. context.update(service.get_prices())
  40. monthly_fas = context['unit_goods_value_share']/36
  41. context.update({
  42. 'breadcrumbs': breadcrumbs,
  43. 'document': doc,
  44. 'service': service,
  45. 'costs_uses': costs_uses,
  46. 'goods_uses': goods_uses,
  47. 'services_uses': services_uses,
  48. 'monthly_fas': monthly_fas,
  49. 'consolidated_cost': monthly_fas + context['unit_recurring_price'],
  50. })
  51. return render(request, 'costs/service_detail.html', context)