diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-08-15 18:18:05 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-08-15 18:18:05 +0200 |
commit | e653e1ae9a75ae0d634315e99c7600fa3d897fbe (patch) | |
tree | 88c504da833f96ac7aa50020e69a2a93ecaac0ac | |
parent | 72389b1d3284d086f0ce6897ffb48214271516db (diff) | |
download | Ishtar-e653e1ae9a75ae0d634315e99c7600fa3d897fbe.tar.bz2 Ishtar-e653e1ae9a75ae0d634315e99c7600fa3d897fbe.zip |
Manage search key translations
-rw-r--r-- | archaeological_context_records/models.py | 8 | ||||
-rw-r--r-- | archaeological_files/models.py | 8 | ||||
-rw-r--r-- | archaeological_finds/models_finds.py | 8 | ||||
-rw-r--r-- | archaeological_finds/models_treatments.py | 13 | ||||
-rw-r--r-- | archaeological_operations/models.py | 18 | ||||
-rw-r--r-- | archaeological_warehouse/models.py | 13 | ||||
-rw-r--r-- | ishtar_common/models.py | 23 |
7 files changed, 70 insertions, 21 deletions
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py index 7d266ccac..3cb0313dd 100644 --- a/archaeological_context_records/models.py +++ b/archaeological_context_records/models.py @@ -25,7 +25,8 @@ from django.core.urlresolvers import reverse from django.db import connection, transaction from django.db.models import Q from django.db.models.signals import post_delete, post_save -from django.utils.translation import ugettext_lazy as _, pgettext, pgettext_lazy +from django.utils.translation import ugettext_lazy as _, pgettext, \ + activate, pgettext_lazy, deactivate from django.utils.text import slugify from ishtar_common.utils import cached_label_changed @@ -304,7 +305,10 @@ class ContextRecord(BulkUpdatedItem, BaseHistorizedItem, ), } for v in ALT_NAMES.values(): - EXTRA_REQUEST_KEYS[v[0]] = v[1] + for language_code, language_lbl in settings.LANGUAGES: + activate(language_code) + EXTRA_REQUEST_KEYS[unicode(v[0])] = v[1] + deactivate() # fields external_id = models.TextField(_(u"External ID"), blank=True, null=True) diff --git a/archaeological_files/models.py b/archaeological_files/models.py index 0e5948958..a7fa9428b 100644 --- a/archaeological_files/models.py +++ b/archaeological_files/models.py @@ -24,7 +24,8 @@ from django.contrib.gis.db import models from django.core.cache import cache from django.db.models import Q, Count, Sum from django.db.models.signals import post_save, m2m_changed, post_delete -from django.utils.translation import ugettext_lazy as _, pgettext_lazy +from django.utils.translation import ugettext_lazy as _, pgettext_lazy, \ + activate, deactivate from ishtar_common.utils import cached_label_changed, get_cache, \ get_current_year @@ -198,7 +199,10 @@ class File(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter, ), } for v in ALT_NAMES.values(): - EXTRA_REQUEST_KEYS[v[0]] = v[1] + for language_code, language_lbl in settings.LANGUAGES: + activate(language_code) + EXTRA_REQUEST_KEYS[unicode(v[0])] = v[1] + deactivate() POST_PROCESS_REQUEST = { 'towns__numero_insee__startswith': '_get_department_code', diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index 889138c7f..0fb8229e4 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -27,7 +27,8 @@ from django.db.models import Max, Q from django.db.models.signals import m2m_changed, post_save, post_delete, \ pre_delete from django.core.exceptions import ObjectDoesNotExist -from django.utils.translation import ugettext_lazy as _, pgettext_lazy +from django.utils.translation import ugettext_lazy as _, pgettext_lazy, \ + activate, deactivate from ishtar_common.data_importer import post_importer_action, ImporterError from ishtar_common.utils import cached_label_changed, post_save_point @@ -839,7 +840,10 @@ class Find(BulkUpdatedItem, ValueGetter, BaseHistorizedItem, OwnPerms, ), } for v in ALT_NAMES.values(): - EXTRA_REQUEST_KEYS[v[0]] = v[1] + for language_code, language_lbl in settings.LANGUAGES: + activate(language_code) + EXTRA_REQUEST_KEYS[unicode(v[0])] = v[1] + deactivate() # fields base_finds = models.ManyToManyField(BaseFind, verbose_name=_(u"Base find"), diff --git a/archaeological_finds/models_treatments.py b/archaeological_finds/models_treatments.py index 4549fdc69..2bc02288b 100644 --- a/archaeological_finds/models_treatments.py +++ b/archaeological_finds/models_treatments.py @@ -24,7 +24,8 @@ from django.contrib.gis.db import models from django.db.models import Max, Q from django.db.models.signals import post_save, post_delete, pre_delete from django.template.defaultfilters import slugify -from django.utils.translation import ugettext_lazy as _, pgettext_lazy +from django.utils.translation import ugettext_lazy as _, pgettext_lazy, \ + activate, deactivate from archaeological_finds.models_finds import Find, FindBasket, TreatmentType from archaeological_operations.models import ClosedItem, Operation @@ -98,7 +99,10 @@ class Treatment(DashboardFormItem, ValueGetter, BaseHistorizedItem, ), } for v in ALT_NAMES.values(): - EXTRA_REQUEST_KEYS[v[0]] = v[1] + for language_code, language_lbl in settings.LANGUAGES: + activate(language_code) + EXTRA_REQUEST_KEYS[unicode(v[0])] = v[1] + deactivate() BASE_SEARCH_VECTORS = [ 'treatment_types__label', 'treatment_state__label', 'label', 'goal', @@ -562,7 +566,10 @@ class TreatmentFile(DashboardFormItem, ClosedItem, BaseHistorizedItem, ), } for v in ALT_NAMES.values(): - EXTRA_REQUEST_KEYS[v[0]] = v[1] + for language_code, language_lbl in settings.LANGUAGES: + activate(language_code) + EXTRA_REQUEST_KEYS[unicode(v[0])] = v[1] + deactivate() # fields year = models.IntegerField(_(u"Year"), default=get_current_year) diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index 7e64a90eb..828df91e5 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -27,7 +27,8 @@ from django.db import IntegrityError, transaction from django.db.models import Q, Count, Sum, Max, Avg from django.db.models.signals import post_save, m2m_changed, post_delete from django.forms import ValidationError -from django.utils.translation import ugettext_lazy as _, pgettext_lazy +from django.utils.translation import ugettext_lazy as _, pgettext_lazy, \ + activate, deactivate from ishtar_common.models import BaseHistorizedItem, Dashboard, \ DashboardFormItem, Department, Document, DocumentTemplate, \ @@ -177,7 +178,10 @@ class ArchaeologicalSite(BaseHistorizedItem): ), } for v in ALT_NAMES.values(): - EXTRA_REQUEST_KEYS[v[0]] = v[1] + for language_code, language_lbl in settings.LANGUAGES: + activate(language_code) + EXTRA_REQUEST_KEYS[unicode(v[0])] = v[1] + deactivate() reference = models.CharField(_(u"Reference"), max_length=200, unique=True) name = models.CharField(_(u"Name"), max_length=200, @@ -603,7 +607,10 @@ class Operation(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter, ), } for v in ALT_NAMES.values(): - EXTRA_REQUEST_KEYS[v[0]] = v[1] + for language_code, language_lbl in settings.LANGUAGES: + activate(language_code) + EXTRA_REQUEST_KEYS[unicode(v[0])] = v[1] + deactivate() POST_PROCESS_REQUEST = { 'towns__numero_insee__startswith': '_get_department_code', @@ -1514,7 +1521,10 @@ class AdministrativeAct(BaseHistorizedItem, OwnPerms, ValueGetter): ), } for v in ALT_NAMES.values(): - EXTRA_REQUEST_KEYS[v[0]] = v[1] + for language_code, language_lbl in settings.LANGUAGES: + activate(language_code) + EXTRA_REQUEST_KEYS[unicode(v[0])] = v[1] + deactivate() POST_PROCESS_REQUEST = { 'operation__towns__numero_insee__startswith': '_get_department_code', diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py index 0b578755f..8dcb1c700 100644 --- a/archaeological_warehouse/models.py +++ b/archaeological_warehouse/models.py @@ -24,7 +24,8 @@ from django.contrib.gis.db import models from django.db.models import Q from django.db.models.signals import post_save, post_delete from django.template.defaultfilters import slugify -from django.utils.translation import ugettext_lazy as _, pgettext_lazy +from django.utils.translation import ugettext_lazy as _, pgettext_lazy, \ + activate, deactivate from ishtar_common.data_importer import post_importer_action from ishtar_common.models import Document, GeneralType, get_external_id, \ @@ -64,7 +65,10 @@ class Warehouse(Address, DashboardFormItem, OwnPerms): ), } for v in ALT_NAMES.values(): - EXTRA_REQUEST_KEYS[v[0]] = v[1] + for language_code, language_lbl in settings.LANGUAGES: + activate(language_code) + EXTRA_REQUEST_KEYS[unicode(v[0])] = v[1] + deactivate() name = models.CharField(_(u"Name"), max_length=200) warehouse_type = models.ForeignKey(WarehouseType, @@ -329,7 +333,10 @@ class Container(LightHistorizedItem, ImageModel): ), } for v in ALT_NAMES.values(): - EXTRA_REQUEST_KEYS[v[0]] = v[1] + for language_code, language_lbl in settings.LANGUAGES: + activate(language_code) + EXTRA_REQUEST_KEYS[unicode(v[0])] = v[1] + deactivate() # fields location = models.ForeignKey( diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 22b90842c..8bab21360 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -52,7 +52,8 @@ from django.db.utils import DatabaseError from django.template.defaultfilters import slugify from django.utils.functional import lazy from django.utils.safestring import SafeUnicode, mark_safe -from django.utils.translation import ugettext_lazy as _, ugettext, pgettext_lazy +from django.utils.translation import ugettext_lazy as _, ugettext, \ + pgettext_lazy, activate, deactivate from secretary import Renderer as SecretaryRenderer from simple_history.models import HistoricalRecords as BaseHistoricalRecords from unidecode import unidecode @@ -2528,7 +2529,10 @@ class Organization(Address, Merge, OwnPerms, ValueGetter): ), } for v in ALT_NAMES.values(): - EXTRA_REQUEST_KEYS[v[0]] = v[1] + for language_code, language_lbl in settings.LANGUAGES: + activate(language_code) + EXTRA_REQUEST_KEYS[unicode(v[0])] = v[1] + deactivate() # fields name = models.CharField(_(u"Name"), max_length=500) @@ -2672,7 +2676,10 @@ class Person(Address, Merge, OwnPerms, ValueGetter): ), } for v in ALT_NAMES.values(): - EXTRA_REQUEST_KEYS[v[0]] = v[1] + for language_code, language_lbl in settings.LANGUAGES: + activate(language_code) + EXTRA_REQUEST_KEYS[unicode(v[0])] = v[1] + deactivate() # fields old_title = models.CharField(_(u"Title"), max_length=100, choices=TYPE, @@ -3039,7 +3046,10 @@ class IshtarUser(FullSearch): ), } for v in ALT_NAMES.values(): - EXTRA_REQUEST_KEYS[v[0]] = v[1] + for language_code, language_lbl in settings.LANGUAGES: + activate(language_code) + EXTRA_REQUEST_KEYS[unicode(v[0])] = v[1] + deactivate() # fields user_ptr = models.OneToOneField(User, primary_key=True, @@ -3329,7 +3339,10 @@ class Document(OwnPerms, ImageModel, FullSearch, Imported): ), } for v in ALT_NAMES.values(): - EXTRA_REQUEST_KEYS[v[0]] = v[1] + for language_code, language_lbl in settings.LANGUAGES: + activate(language_code) + EXTRA_REQUEST_KEYS[unicode(v[0])] = v[1] + deactivate() title = models.TextField(_(u"Title"), blank=True, default='') associated_file = models.FileField( |