xmpp.chapril.org-conversejs/trans/views.py

59 lines
2.0 KiB
Python
Raw Normal View History

2012-02-27 11:18:49 +01:00
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
from trans.models import Project, SubProject, Translation, Unit
def show_project(request, project):
obj = get_object_or_404(Project, slug = project)
2012-02-27 11:58:55 +01:00
return render_to_response('project.html', RequestContext(request, {
2012-02-27 11:18:49 +01:00
'object': obj,
2012-02-28 09:26:31 +01:00
'title': '%s @ Weblate' % (obj.__unicode__()),
2012-02-27 11:47:34 +01:00
}))
2012-02-27 11:18:49 +01:00
def show_subproject(request, project, subproject):
obj = get_object_or_404(SubProject, slug = subproject, project__slug = project)
2012-02-27 11:58:55 +01:00
return render_to_response('subproject.html', RequestContext(request, {
2012-02-27 11:18:49 +01:00
'object': obj,
2012-02-28 09:26:31 +01:00
'title': '%s @ Weblate' % (obj.__unicode__()),
2012-02-27 11:47:34 +01:00
}))
2012-02-27 11:18:49 +01:00
def show_translation(request, project, subproject, lang):
2012-02-28 10:31:10 +01:00
obj = get_object_or_404(Translation, language__code = lang, subproject__slug = subproject, subproject__project__slug = project)
2012-02-27 11:18:49 +01:00
2012-02-27 11:58:55 +01:00
return render_to_response('translation.html', RequestContext(request, {
2012-02-27 11:18:49 +01:00
'object': obj,
2012-02-28 09:26:31 +01:00
'title': '%s @ Weblate' % (obj.__unicode__()),
2012-02-27 11:47:34 +01:00
}))
2012-02-27 11:18:49 +01:00
2012-02-28 14:55:34 +01:00
def translate(request, project, subproject, lang):
obj = get_object_or_404(Translation, language__code = lang, subproject__slug = subproject, subproject__project__slug = project)
2012-02-28 15:00:23 +01:00
rqtype = request.REQUEST.get('type', 'all')
offset = request.REQUEST.get('offset', '0')
try:
offset = int(offset)
except:
offset = 0
units = obj.unit_set.filter_type(rqtype)
2012-02-28 15:09:03 +01:00
total = units.count()
if offset >= total:
offset = total - 1
nextoffset = offset + 1
if nextoffset >= total:
nextoffset = None
prevoffset = offset - 1
if prevoffset < 0:
prevoffset = None
2012-02-28 14:55:34 +01:00
return render_to_response('translate.html', RequestContext(request, {
'object': obj,
'title': '%s @ Weblate' % (obj.__unicode__()),
2012-02-28 15:00:23 +01:00
'unit': units[offset],
2012-02-28 15:09:03 +01:00
'total': total,
'offset': offset,
'prevoffset': prevoffset,
'nextoffset': nextoffset,
2012-02-28 14:55:34 +01:00
}))