PageRenderTime 40ms CodeModel.GetById 23ms app.highlight 9ms RepoModel.GetById 1ms app.codeStats 0ms

/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
 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))