/src/economy/contract/helpers.py

https://bitbucket.org/danseku/fokus · Python · 34 lines · 28 code · 6 blank · 0 comment · 2 complexity · 1e5740c99781ca1cef655ca7ecff09b6 MD5 · raw file

  1. from django.template import RequestContext
  2. from django.shortcuts import render_to_response
  3. from django.conf import settings
  4. from economy.contract.models import Project, Contract
  5. def get_template_dir(model):
  6. return model.__name__.lower()+"/"
  7. def load_project(project_number):
  8. project_number = int(project_number)
  9. try:
  10. project = Project.objects.get(number=project_number)
  11. except:
  12. project = Project.objects.create(number=project_number)
  13. return project
  14. def load_contract(contract_code, project):
  15. try:
  16. contract = Contract.objects.get(code=contract_code, project=project)
  17. except:
  18. contract = None
  19. return contract
  20. def render_contract_response(template, contract_code, project_id, vars={}, request=None):
  21. project = load_project(project_id)
  22. contract = load_contract(contract_code, project)
  23. vars["contract"] = contract
  24. return render_project_response(template, project_id, vars, request)
  25. def render_project_response(template, project_id, vars={}, request=None):
  26. project = load_project(project_id)
  27. vars["project"] = project
  28. return render_to_response(template, vars, RequestContext(request))