From 1c7e6cf76a22fe8f320b526a9d27d13c415d07e7 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 18 Jan 2018 13:11:21 +0100 Subject: Add search vector to accounts --- ishtar_common/forms_common.py | 1 + .../migrations/0025_ishtaruser_search_vector.py | 21 +++++++++++++++++++++ ishtar_common/models.py | 5 ++++- 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 ishtar_common/migrations/0025_ishtaruser_search_vector.py diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index 7b9f69237..22992d322 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -551,6 +551,7 @@ class IshtarUserSelect(TableSelect): class AccountFormSelection(forms.Form): + SEARCH = True form_label = _(u"Account search") associated_models = {'pk': models.IshtarUser} currents = {'pk': models.IshtarUser} diff --git a/ishtar_common/migrations/0025_ishtaruser_search_vector.py b/ishtar_common/migrations/0025_ishtaruser_search_vector.py new file mode 100644 index 000000000..a31bac025 --- /dev/null +++ b/ishtar_common/migrations/0025_ishtaruser_search_vector.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11 on 2018-01-18 13:09 +from __future__ import unicode_literals + +import django.contrib.postgres.search +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('ishtar_common', '0024_custom_form_enabled'), + ] + + operations = [ + migrations.AddField( + model_name='ishtaruser', + 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/ishtar_common/models.py b/ishtar_common/models.py index d81d9219e..0563a6d8e 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -2549,10 +2549,13 @@ class Person(Address, Merge, OwnPerms, ValueGetter): =user.ishtaruser) -class IshtarUser(models.Model): +class IshtarUser(FullSearch): TABLE_COLS = ('username', 'person__name', 'person__surname', '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'] # search parameters EXTRA_REQUEST_KEYS = { -- cgit v1.2.3