summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_context_records/migrations/0015_contextrecordsource_search_vector.py21
-rw-r--r--archaeological_context_records/models.py1
-rw-r--r--archaeological_finds/migrations/0015_auto_20180119_1516.py31
-rw-r--r--archaeological_finds/models_finds.py1
-rw-r--r--archaeological_finds/models_treatments.py2
-rw-r--r--archaeological_operations/migrations/0014_operationsource_search_vector.py21
-rw-r--r--archaeological_operations/models.py2
-rw-r--r--ishtar_common/migrations/0026_auto_20180119_1516.py41
-rw-r--r--ishtar_common/models.py26
9 files changed, 140 insertions, 6 deletions
diff --git a/archaeological_context_records/migrations/0015_contextrecordsource_search_vector.py b/archaeological_context_records/migrations/0015_contextrecordsource_search_vector.py
new file mode 100644
index 000000000..0b7a9ae30
--- /dev/null
+++ b/archaeological_context_records/migrations/0015_contextrecordsource_search_vector.py
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11 on 2018-01-19 15:16
+from __future__ import unicode_literals
+
+import django.contrib.postgres.search
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('archaeological_context_records', '0014_contextrecord_images'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='contextrecordsource',
+ name='search_vector',
+ field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'),
+ ),
+ ]
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py
index dde661ee7..71e8330b7 100644
--- a/archaeological_context_records/models.py
+++ b/archaeological_context_records/models.py
@@ -670,6 +670,7 @@ class ContextRecordSource(Source):
'context_record__datings__period__pk',
'context_record__unit': 'context_record__unit__pk',
}
+ PARENT_SEARCH_VECTORS = Source.PARENT_SEARCH_VECTORS + ['context_record']
class Meta:
verbose_name = _(u"Context record documentation")
diff --git a/archaeological_finds/migrations/0015_auto_20180119_1516.py b/archaeological_finds/migrations/0015_auto_20180119_1516.py
new file mode 100644
index 000000000..7d2067771
--- /dev/null
+++ b/archaeological_finds/migrations/0015_auto_20180119_1516.py
@@ -0,0 +1,31 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11 on 2018-01-19 15:16
+from __future__ import unicode_literals
+
+import django.contrib.postgres.search
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('archaeological_finds', '0014_auto_20171110_1717'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='findsource',
+ name='search_vector',
+ field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'),
+ ),
+ migrations.AddField(
+ model_name='treatmentfilesource',
+ name='search_vector',
+ field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'),
+ ),
+ migrations.AddField(
+ model_name='treatmentsource',
+ name='search_vector',
+ field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'),
+ ),
+ ]
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py
index 2b782c614..e1c866f9d 100644
--- a/archaeological_finds/models_finds.py
+++ b/archaeological_finds/models_finds.py
@@ -1361,6 +1361,7 @@ class FindSource(Source):
'find__datings__period': 'find__datings__period__pk',
'find__description': 'find__description__icontains',
}
+ PARENT_SEARCH_VECTORS = Source.PARENT_SEARCH_VECTORS + ['find']
class Meta:
verbose_name = _(u"Find documentation")
diff --git a/archaeological_finds/models_treatments.py b/archaeological_finds/models_treatments.py
index 6c173959a..38d4f55b3 100644
--- a/archaeological_finds/models_treatments.py
+++ b/archaeological_finds/models_treatments.py
@@ -594,6 +594,7 @@ class TreatmentSource(Source):
TABLE_COLS = ['treatment__cached_label'] + Source.TABLE_COLS
COL_LABELS = {'treatment__cached_label': _(u"Treatment")}
SHOW_URL = 'show-treatmentsource'
+ PARENT_SEARCH_VECTORS = Source.PARENT_SEARCH_VECTORS + ['treatment']
class Meta:
verbose_name = _(u"Treatment documentation")
@@ -628,6 +629,7 @@ class TreatmentFileSource(Source):
TABLE_COLS = ['treatment_file__cached_label'] + Source.TABLE_COLS
COL_LABELS = {'treatment_file__cached_label': _(u"Treatment file")}
SHOW_URL = 'show-treatmentfilesource'
+ PARENT_SEARCH_VECTORS = Source.PARENT_SEARCH_VECTORS + ['treatment_file']
class Meta:
verbose_name = _(u"Treatment request documentation")
diff --git a/archaeological_operations/migrations/0014_operationsource_search_vector.py b/archaeological_operations/migrations/0014_operationsource_search_vector.py
new file mode 100644
index 000000000..ceac0785f
--- /dev/null
+++ b/archaeological_operations/migrations/0014_operationsource_search_vector.py
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11 on 2018-01-19 15:16
+from __future__ import unicode_literals
+
+import django.contrib.postgres.search
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('archaeological_operations', '0013_operation_images'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='operationsource',
+ name='search_vector',
+ field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'),
+ ),
+ ]
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py
index 2f1ea3ea3..5c3b91e9f 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -924,6 +924,8 @@ class OperationSource(Source):
'operation__operation_code': _(u"Operation code"),
'code': _(u"Document code")
}
+ PARENT_SEARCH_VECTORS = Source.PARENT_SEARCH_VECTORS + ['operation']
+
# fields
operation = models.ForeignKey(Operation, verbose_name=_(u"Operation"),
diff --git a/ishtar_common/migrations/0026_auto_20180119_1516.py b/ishtar_common/migrations/0026_auto_20180119_1516.py
new file mode 100644
index 000000000..039d8752f
--- /dev/null
+++ b/ishtar_common/migrations/0026_auto_20180119_1516.py
@@ -0,0 +1,41 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11 on 2018-01-19 15:16
+from __future__ import unicode_literals
+
+import django.contrib.postgres.search
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('ishtar_common', '0025_ishtaruser_search_vector'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='author',
+ name='search_vector',
+ field=django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector'),
+ ),
+ migrations.AlterField(
+ model_name='jsondatafield',
+ name='key',
+ field=models.CharField(help_text='Value of the key in the JSON schema. For hierarchical key use "__" to explain it. For instance for the key \'my_subkey\' with data such as {\'my_key\': {\'my_subkey\': \'value\'}}, its value will be reached with my_key__my_subkey.', max_length=200, verbose_name='Key'),
+ ),
+ migrations.AlterField(
+ model_name='targetkeygroup',
+ name='all_user_can_modify',
+ field=models.BooleanField(default=False, verbose_name='All users can modify it'),
+ ),
+ migrations.AlterField(
+ model_name='targetkeygroup',
+ name='all_user_can_use',
+ field=models.BooleanField(default=False, verbose_name='All users can use it'),
+ ),
+ migrations.AlterField(
+ model_name='town',
+ name='year',
+ field=models.IntegerField(blank=True, help_text='Filling this field is relevant to distinguish old towns from new towns.', null=True, verbose_name='Year of creation'),
+ ),
+ ]
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index 4f500db60..66b15be34 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -2246,7 +2246,7 @@ class Organization(Address, Merge, OwnPerms, ValueGetter):
'name': 'name__icontains',
'organization_type': 'organization_type__pk__in',
}
- BASE_SEARCH_VECTORS = ['name', 'town__name']
+ BASE_SEARCH_VECTORS = ['name', 'town']
# fields
name = models.CharField(_(u"Name"), max_length=500)
@@ -2304,6 +2304,8 @@ class PersonType(GeneralType):
verbose_name = _(u"Person type")
verbose_name_plural = _(u"Person types")
ordering = ('label',)
+
+
post_save.connect(post_save_cache, sender=PersonType)
post_delete.connect(post_save_cache, sender=PersonType)
@@ -2316,6 +2318,8 @@ class TitleType(GeneralType):
verbose_name = _(u"Title type")
verbose_name_plural = _(u"Title types")
ordering = ('label',)
+
+
post_save.connect(post_save_cache, sender=TitleType)
post_delete.connect(post_save_cache, sender=TitleType)
@@ -2333,7 +2337,7 @@ class Person(Address, Merge, OwnPerms, ValueGetter):
'attached_to__name', 'town')
SHOW_URL = 'show-person'
MODIFY_URL = 'person_modify'
- BASE_SEARCH_VECTORS = ['name', 'surname', 'raw_name', 'town__name',
+ BASE_SEARCH_VECTORS = ['name', 'surname', 'raw_name', 'town',
'attached_to__name', 'email']
# search parameters
@@ -2554,8 +2558,8 @@ class IshtarUser(FullSearch):
'person__email', 'person__person_types_list',
'person__attached_to')
BASE_SEARCH_VECTORS = [
- 'username', 'person__name', 'person__surname', 'person__email',
- 'person__town__name', 'person__attached_to__name']
+ 'user_ptr__username', 'person__name', 'person__surname',
+ 'person__email', 'person__town', 'person__attached_to__name']
# search parameters
EXTRA_REQUEST_KEYS = {
@@ -2675,10 +2679,11 @@ post_save.connect(post_save_cache, sender=AuthorType)
post_delete.connect(post_save_cache, sender=AuthorType)
-class Author(models.Model):
+class Author(FullSearch):
person = models.ForeignKey(Person, verbose_name=_(u"Person"),
related_name='author')
author_type = models.ForeignKey(AuthorType, verbose_name=_(u"Author type"))
+ PARENT_SEARCH_VECTORS = ['person']
class Meta:
verbose_name = _(u"Author")
@@ -2712,6 +2717,8 @@ class SourceType(GeneralType):
verbose_name = _(u"Source type")
verbose_name_plural = _(u"Source types")
ordering = ['label']
+
+
post_save.connect(post_save_cache, sender=SourceType)
post_delete.connect(post_save_cache, sender=SourceType)
@@ -2720,6 +2727,8 @@ class SupportType(GeneralType):
class Meta:
verbose_name = _(u"Support type")
verbose_name_plural = _(u"Support types")
+
+
post_save.connect(post_save_cache, sender=SupportType)
post_delete.connect(post_save_cache, sender=SupportType)
@@ -2735,7 +2744,7 @@ post_save.connect(post_save_cache, sender=Format)
post_delete.connect(post_save_cache, sender=Format)
-class Source(OwnPerms, ImageModel, models.Model):
+class Source(OwnPerms, ImageModel, FullSearch):
title = models.CharField(_(u"Title"), max_length=300)
external_id = models.TextField(_(u"External ID"), max_length=300, null=True,
blank=True)
@@ -2768,8 +2777,13 @@ class Source(OwnPerms, ImageModel, models.Model):
additional_information = models.TextField(_(u"Additional information"),
blank=True, null=True)
duplicate = models.BooleanField(_(u"Has a duplicate"), default=False)
+
TABLE_COLS = ['title', 'source_type', 'authors', 'associated_url']
COL_LINK = ['associated_url']
+ BASE_SEARCH_VECTORS = ['title', 'source_type__label', 'external_id',
+ 'reference', 'description', 'comment',
+ 'additional_information']
+ PARENT_SEARCH_VECTORS = ['authors']
class Meta:
abstract = True