diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2020-04-10 17:11:20 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-02-28 12:15:20 +0100 |
commit | 1d90e7c7001c21c9e8a5d1f3683c2acd1873973f (patch) | |
tree | 93817496eadc13648680de8c70e7052ce06cb8df /archaeological_warehouse/views.py | |
parent | 69cf0a7de4b4d842c814e83f28f7d45aec69929c (diff) | |
download | Ishtar-1d90e7c7001c21c9e8a5d1f3683c2acd1873973f.tar.bz2 Ishtar-1d90e7c7001c21c9e8a5d1f3683c2acd1873973f.zip |
Container: adapt forms for the new container management
Diffstat (limited to 'archaeological_warehouse/views.py')
-rw-r--r-- | archaeological_warehouse/views.py | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/archaeological_warehouse/views.py b/archaeological_warehouse/views.py index cb74b49f9..801c2255c 100644 --- a/archaeological_warehouse/views.py +++ b/archaeological_warehouse/views.py @@ -76,7 +76,7 @@ def autocomplete_warehouse(request): return HttpResponse(data, content_type='text/plain') -def autocomplete_container(request): +def autocomplete_container(request, warehouse_id=None): if not request.user.has_perm('ishtar_common.view_warehouse', models.Warehouse)\ and not request.user.has_perm( @@ -86,7 +86,10 @@ def autocomplete_container(request): return HttpResponse(content_type='text/plain') term = request.GET.get('term') limit = 15 - query = Q() + base_query = Q() + if warehouse_id: + base_query = Q(location_id=warehouse_id) + query = base_query for q in term.split(' '): extra = Q(reference__iexact=q) query = query & extra @@ -94,20 +97,21 @@ def autocomplete_container(request): query).values('id', 'cached_label')[:limit]) limit = 15 - len(containers) if limit > 0: - query = Q() + query = base_query for q in term.split(' '): extra = Q(container_type__label__icontains=q) | \ Q(container_type__reference__icontains=q) | \ Q(reference__icontains=q) | \ + Q(cached_division__icontains=q) | \ Q(location__name=q) | \ Q(location__town=q) query = query & extra containers += list( models.Container.objects.filter(query).exclude( pk__in=[c['id'] for c in containers] - ).values('id', 'cached_label')[:limit]) + ).values('id', 'cached_division')[:limit]) data = json.dumps( - [{'id': container['id'], 'value': container['cached_label']} + [{'id': container['id'], 'value': container['cached_division']} for container in containers]) return HttpResponse(data, content_type='text/plain') @@ -188,7 +192,6 @@ container_search_wizard = ContainerSearch.as_view([ container_creation_steps = [ ('container-container_creation', forms.ContainerForm), - ('localisation-container_creation', forms.LocalisationForm), ('final-container_creation', FinalForm)] container_creation_wizard = ContainerWizard.as_view( @@ -200,7 +203,6 @@ container_creation_wizard = ContainerWizard.as_view( container_modification_wizard = ContainerModificationWizard.as_view([ ('selec-container_modification', forms.MainContainerFormSelection), ('container-container_modification', forms.ContainerModifyForm), - ('localisation-container_modification', forms.LocalisationForm), ('final-container_modification', FinalForm)], label=_("Container modification"), url_name='container_modification', |