summaryrefslogtreecommitdiff
path: root/archaeological_warehouse/views.py
diff options
context:
space:
mode:
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
commit1d90e7c7001c21c9e8a5d1f3683c2acd1873973f (patch)
tree93817496eadc13648680de8c70e7052ce06cb8df /archaeological_warehouse/views.py
parent69cf0a7de4b4d842c814e83f28f7d45aec69929c (diff)
downloadIshtar-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.py16
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',