summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_operations/models.py8
-rw-r--r--ishtar_common/migrations/0064_auto_20180808_1116.py25
-rw-r--r--ishtar_common/models.py20
-rw-r--r--ishtar_common/static/js/ishtar.js2
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);