diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-09-27 11:09:04 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-09-27 11:09:31 +0200 |
commit | b9cfeb35957ae9dfca1d39de1e86547074b483be (patch) | |
tree | f83404ae38319af6981b79b068957074ceed5644 /ishtar_common | |
parent | 6a7b8f6b8a343ad59e62ab0b1f6977f18122c3fc (diff) | |
download | Ishtar-b9cfeb35957ae9dfca1d39de1e86547074b483be.tar.bz2 Ishtar-b9cfeb35957ae9dfca1d39de1e86547074b483be.zip |
Organization: add columns to table - add town search criteria (refs #5447)
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/forms_common.py | 5 | ||||
-rw-r--r-- | ishtar_common/models.py | 11 |
2 files changed, 13 insertions, 3 deletions
diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index 7f8394768..6f0d01427 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -112,7 +112,9 @@ def get_advanced_town_field(label=_("Town"), required=True): ) -def get_person_field(label=_("Person"), required=True, person_types=[]): +def get_person_field(label=_("Person"), required=True, person_types=None): + if not person_types: + person_types = [] # !FIXME hard_link, reverse_lazy doen't seem to work with formsets widget = None url = "/" + settings.URL_PATH + "autocomplete-person" @@ -467,6 +469,7 @@ class OrganizationSelect(CustomForm, TableSelect): ) name = forms.CharField(label=_("Name"), max_length=300) organization_type = forms.ChoiceField(label=_("Type"), choices=[]) + precise_town = get_town_field() def __init__(self, *args, **kwargs): super(OrganizationSelect, self).__init__(*args, **kwargs) diff --git a/ishtar_common/models.py b/ishtar_common/models.py index a133afead..470ea4e72 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -2315,16 +2315,19 @@ organization_type_pks_lazy = lazy(OrganizationType.get_or_create_pks, str) class Organization(Address, Merge, OwnPerms, BaseGenderedType, ValueGetter, MainItem): - TABLE_COLS = ("name", "organization_type", "town") + TABLE_COLS = ("name", "organization_type", "address", "town", "precise_town") SLUG = "organization" SHOW_URL = "show-organization" DELETE_URL = "delete-organization" # search parameters - EXTRA_REQUEST_KEYS = {} + EXTRA_REQUEST_KEYS = { + "precise_town": "precise_town__cached_label" + } BASE_SEARCH_VECTORS = [ SearchVectorConfig("name"), SearchVectorConfig("town"), + SearchVectorConfig("precise_town__name"), ] # alternative names of fields for searches @@ -2336,6 +2339,10 @@ class Organization(Address, Merge, OwnPerms, BaseGenderedType, ValueGetter, Main pgettext_lazy("key for text search", "type"), "organization_type__label__iexact", ), + "precise_town": SearchAltName( + pgettext_lazy("key for text search", "town"), + "precise_town__cached_label__iexact", + ), } QA_EDIT = QuickAction( url="organization-qa-bulk-update", |