def translate_page(request): cantranslate = check_permission("translate", request) cansuggest = check_permission("suggest", request) canreview = check_permission("review", request) translation_project = request.translation_project language = translation_project.language profile = request.profile store = getattr(request, "store", None) is_terminology = translation_project.project.is_terminology or store and store.is_terminology search_form = make_search_form(terminology=is_terminology) context = { "cantranslate": cantranslate, "cansuggest": cansuggest, "canreview": canreview, "search_form": search_form, "store": store, "store_id": store and store.id, "language": language, "translation_project": translation_project, "profile": profile, "source_language": translation_project.project.source_language, "directory": getattr(request, "directory", None), "MT_BACKENDS": settings.MT_BACKENDS, "LOOKUP_BACKENDS": settings.LOOKUP_BACKENDS, "AMAGAMA_URL": settings.AMAGAMA_URL, "advanced_search_title": _("Advanced search"), } if is_terminology: return render_to_response("store/terms.html", context, context_instance=RequestContext(request)) else: return render_to_response("store/translate.html", context, context_instance=RequestContext(request))
def translate_page(request): cantranslate = check_permission("translate", request) cansuggest = check_permission("suggest", request) canreview = check_permission("review", request) translation_project = request.translation_project language = translation_project.language profile = request.profile store = getattr(request, "store", None) is_terminology = translation_project.project.is_terminology or store and store.is_terminology search_form = make_search_form(terminology=is_terminology) context = { 'cantranslate': cantranslate, 'cansuggest': cansuggest, 'canreview': canreview, 'search_form': search_form, 'store': store, 'store_id': store and store.id, 'language': language, 'translation_project': translation_project, 'profile': profile, 'source_language': translation_project.project.source_language, 'directory': getattr(request, "directory", None), 'MT_BACKENDS': settings.MT_BACKENDS, 'AMAGAMA_URL': settings.AMAGAMA_URL, 'advanced_search_title': _('Advanced search'), } return render_to_response('store/translate.html', context, context_instance=RequestContext(request))
def render_search(context, form=None, action=None): translation_project = context["translation_project"] if form is None: is_terminology = translation_project.project.is_terminology form = make_search_form(terminology=is_terminology) if action is None: action = l("translate.html") template_vars = {"search_form": form, "search_action": action, "advanced_search_title": _("Advanced search")} return template_vars
def render_search(context, form=None, action=None): translation_project = context['translation_project'] if form is None: is_terminology = translation_project.project.is_terminology form = make_search_form(terminology=is_terminology) if action is None: action = l('translate.html') template_vars = { 'search_form': form, 'search_action': action, 'advanced_search_title': _('Advanced search'), } return template_vars
def get_step_query(request, units_queryset): """Narrows down unit query to units matching conditions in GET and POST.""" if 'unitstates' in request.GET: unitstates = request.GET['unitstates'].split(',') if unitstates: state_queryset = units_queryset.none() for unitstate in unitstates: if unitstate == 'untranslated': state_queryset = state_queryset | units_queryset.filter(state=UNTRANSLATED) elif unitstate == 'translated': state_queryset = state_queryset | units_queryset.filter(state=TRANSLATED) elif unitstate == 'fuzzy': state_queryset = state_queryset | units_queryset.filter(state=FUZZY) units_queryset = state_queryset if 'checks' in request.GET: checks = request.GET['checks'].split(',') if checks: checks_queryset = units_queryset.filter( qualitycheck__false_positive=False, qualitycheck__name__in=checks ) units_queryset = checks_queryset if 'matchnames' in request.GET: matchnames = request.GET['matchnames'].split(',') if matchnames: match_queryset = units_queryset.none() if 'hassuggestion' in matchnames: #FIXME: is None the most efficient query match_queryset = units_queryset.exclude(suggestion=None) matchnames.remove('hassuggestion') elif 'ownsuggestion' in matchnames: match_queryset = units_queryset.filter(suggestion__user=request.profile).distinct() matchnames.remove('ownsuggestion') units_queryset = match_queryset if 'search' in request.GET and 'sfields' in request.GET: # use the search form for validation only search_form = make_search_form(request.GET) if search_form.is_valid(): units_queryset = get_search_step_query(request.translation_project, search_form, units_queryset) return units_queryset
def get_step_query(request, units_queryset): """Narrows down unit query to units matching conditions in GET and POST""" if 'unitstates' in request.GET: unitstates = request.GET['unitstates'].split(',') if unitstates: state_queryset = units_queryset.none() for unitstate in unitstates: if unitstate == 'untranslated': state_queryset = state_queryset | units_queryset.filter( state=UNTRANSLATED) elif unitstate == 'translated': state_queryset = state_queryset | units_queryset.filter( state=TRANSLATED) elif unitstate == 'fuzzy': state_queryset = state_queryset | units_queryset.filter( state=FUZZY) units_queryset = state_queryset if 'matchnames' in request.GET: matchnames = request.GET['matchnames'].split(',') if matchnames: match_queryset = units_queryset.none() if 'hassuggestion' in matchnames: #FIXME: is None the most efficient query match_queryset = units_queryset.exclude(suggestion=None) matchnames.remove('hassuggestion') elif 'ownsuggestion' in matchnames: match_queryset = units_queryset.filter( suggestion__user=request.profile).distinct() matchnames.remove('ownsuggestion') if matchnames: match_queryset = match_queryset | units_queryset.filter( qualitycheck__false_positive=False, qualitycheck__name__in=matchnames) units_queryset = match_queryset if 'search' in request.GET and 'sfields' in request.GET: # use the search form for validation only search_form = make_search_form(request.GET) if search_form.is_valid(): units_queryset = get_search_step_query(request.translation_project, search_form, units_queryset) return units_queryset
def get_step_query(request, units_queryset): """Narrows down unit query to units matching conditions in GET and POST""" if "unitstates" in request.GET: unitstates = request.GET["unitstates"].split(",") if unitstates: state_queryset = units_queryset.none() for unitstate in unitstates: if unitstate == "untranslated": state_queryset = state_queryset | units_queryset.filter(state=UNTRANSLATED) elif unitstate == "translated": state_queryset = state_queryset | units_queryset.filter(state=TRANSLATED) elif unitstate == "fuzzy": state_queryset = state_queryset | units_queryset.filter(state=FUZZY) units_queryset = state_queryset if "matchnames" in request.GET: matchnames = request.GET["matchnames"].split(",") if matchnames: match_queryset = units_queryset.none() if "hassuggestion" in matchnames: # FIXME: is None the most efficient query match_queryset = units_queryset.exclude(suggestion=None) matchnames.remove("hassuggestion") elif "ownsuggestion" in matchnames: match_queryset = units_queryset.filter(suggestion__user=request.profile).distinct() matchnames.remove("ownsuggestion") if matchnames: match_queryset = match_queryset | units_queryset.filter( qualitycheck__false_positive=False, qualitycheck__name__in=matchnames ) units_queryset = match_queryset if "search" in request.GET and "sfields" in request.GET: # use the search form for validation only search_form = make_search_form(request.GET) if search_form.is_valid(): units_queryset = get_search_step_query(request.translation_project, search_form, units_queryset) return units_queryset
def translate_page(request): cantranslate = check_permission("translate", request) cansuggest = check_permission("suggest", request) canreview = check_permission("review", request) translation_project = request.translation_project language = translation_project.language profile = request.profile store = getattr(request, "store", None) is_terminology = translation_project.project.is_terminology or store and store.is_terminology search_form = make_search_form(terminology=is_terminology) context = { 'cantranslate': cantranslate, 'cansuggest': cansuggest, 'canreview': canreview, 'search_form': search_form, 'store': store, 'store_id': store and store.id, 'language': language, 'translation_project': translation_project, 'profile': profile, 'source_language': translation_project.project.source_language, 'directory': getattr(request, "directory", None), 'MT_BACKENDS': settings.MT_BACKENDS, 'LOOKUP_BACKENDS': settings.LOOKUP_BACKENDS, 'AMAGAMA_URL': settings.AMAGAMA_URL, 'advanced_search_title': _('Advanced search'), } if is_terminology: return render_to_response('store/terms.html', context, context_instance=RequestContext(request)) else: return render_to_response('store/translate.html', context, context_instance=RequestContext(request))