diff options
-rw-r--r-- | archaeological_operations/models.py | 8 | ||||
-rw-r--r-- | ishtar_common/migrations/0064_auto_20180808_1116.py | 25 | ||||
-rw-r--r-- | ishtar_common/models.py | 20 | ||||
-rw-r--r-- | ishtar_common/static/js/ishtar.js | 2 |
4 files changed, 52 insertions, 3 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index 28bc4614a..dd3302251 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -402,6 +402,14 @@ class Operation(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter, pgettext_lazy(TXT_SEARCH_COMMENT, u"in-charge"), 'in_charge__cached_label__iexact' ), + 'scientist': ( + pgettext_lazy(TXT_SEARCH_COMMENT, u"scientist"), + 'scientist__cached_label__iexact' + ), + 'operator': ( + pgettext_lazy(TXT_SEARCH_COMMENT, u"operator"), + 'operator__cached_label__iexact' + ), 'periods': ( pgettext_lazy(TXT_SEARCH_COMMENT, u"period"), 'periods__pk' diff --git a/ishtar_common/migrations/0064_auto_20180808_1116.py b/ishtar_common/migrations/0064_auto_20180808_1116.py new file mode 100644 index 000000000..634aef713 --- /dev/null +++ b/ishtar_common/migrations/0064_auto_20180808_1116.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.10 on 2018-08-08 11:16 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('ishtar_common', '0063_auto_20180807_1824'), + ] + + operations = [ + migrations.AddField( + model_name='historicalorganization', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name'), + ), + migrations.AddField( + model_name='organization', + name='cached_label', + field=models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name'), + ), + ] diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 1aaa44b59..4b663aa23 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -2499,6 +2499,8 @@ class Organization(Address, Merge, OwnPerms, ValueGetter): name = models.CharField(_(u"Name"), max_length=500) organization_type = models.ForeignKey(OrganizationType, verbose_name=_(u"Type")) + cached_label = models.TextField(_(u"Cached name"), null=True, blank=True, + db_index=True) history = HistoricalRecords() class Meta: @@ -2519,11 +2521,20 @@ class Organization(Address, Merge, OwnPerms, ValueGetter): self.town or "") def __unicode__(self): + if self.cached_label: + return self.cached_label + self.save() + return self.cached_label + + def _generate_cached_label(self): if self.name: return self.name - return u"{} - {} - {}".format(self.organization_type, - self.address or "", - self.town or "") + attrs = ["organization_type", "address", "town"] + items = [unicode(getattr(self, attr)) + for attr in attrs if getattr(self, attr)] + if not items: + items = [unicode(_(u"unknown organization"))] + return u" - ".join(items) def generate_merge_key(self): self.merge_key = slugify(self.name if self.name else '') @@ -2542,6 +2553,9 @@ class Organization(Address, Merge, OwnPerms, ValueGetter): return slugify(u"-".join(values)) +post_save.connect(cached_label_changed, sender=Organization) + + class PersonType(GeneralType): class Meta: verbose_name = _(u"Person type") diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js index 69b9b8477..4cafabd22 100644 --- a/ishtar_common/static/js/ishtar.js +++ b/ishtar_common/static/js/ishtar.js @@ -666,6 +666,8 @@ function update_search_field(){ } ); document.getElementById('wizard-form').reset(); + // some input seems to be not cleared... + $('#wizard-form input').each(function(){$(this).val("")}); $("#id_search_vector").val(query); if (query){ add_message(query, 'info', "#advanced-search-info", true, false); |