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