diff options
Diffstat (limited to 'ishtar_common/views.py')
-rw-r--r-- | ishtar_common/views.py | 199 |
1 files changed, 2 insertions, 197 deletions
diff --git a/ishtar_common/views.py b/ishtar_common/views.py index fe464ade7..69fa8b90b 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2010-2011 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> +# Copyright (C) 2010-2012 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -886,32 +886,6 @@ def autocomplete_town(request): for town in towns]) return HttpResponse(data, mimetype='text/plain') -def autocomplete_file(request): - person_types = request.user.ishtaruser.person.person_type - if (not request.user.has_perm('ishtar_common.view_file', models.File) and \ - not request.user.has_perm('ishtar_common.view_own_file', models.File) - and not person_types.rights.filter(wizard__url_name='file_search' - ).count()): - return HttpResponse(mimetype='text/plain') - if not request.GET.get('term'): - return HttpResponse(mimetype='text/plain') - q = request.GET.get('term') - query = Q() - for q in q.split(' '): - extra = Q(internal_reference__icontains=q) | \ - Q(towns__name__icontains=q) - try: - value = int(q) - extra = extra | Q(year=q) | Q(numeric_reference=q) - except ValueError: - pass - query = query & extra - limit = 20 - files = models.File.objects.filter(query)[:limit] - data = json.dumps([{'id':file.pk, 'value':unicode(file)} - for file in files]) - return HttpResponse(data, mimetype='text/plain') - from types import NoneType def format_val(val): @@ -1198,72 +1172,6 @@ def revert_item(model): return HttpResponse("True", mimetype='text/plain') return func - -get_file = get_item(models.File, 'get_file', 'file') -show_file = show_item(models.File, 'file') -revert_file = revert_item(models.File) - -def autocomplete_operation(request, non_closed=True): - person_types = request.user.ishtaruser.person.person_type - if (not request.user.has_perm('ishtar_common.view_operation', models.Operation)\ - and not request.user.has_perm('ishtar_common.view_own_operation', - models.Operation) - and not person_types.rights.filter(wizard__url_name='operation_search' - ).count()): - return HttpResponse(mimetype='text/plain') - if not request.GET.get('term'): - return HttpResponse(mimetype='text/plain') - q = request.GET.get('term') - query = Q() - for q in q.split(' '): - extra = Q(towns__name__icontains=q) - try: - value = int(q) - extra = extra | Q(year=q) | Q(operation_code=q) - except ValueError: - pass - query = query & extra - if non_closed: - query = query & Q(end_date__isnull=True) - limit = 15 - operations = models.Operation.objects.filter(query)[:limit] - data = json.dumps([{'id':operation.pk, 'value':unicode(operation)} - for operation in operations]) - return HttpResponse(data, mimetype='text/plain') - -def get_available_operation_code(request, year=None): - if not request.user.has_perm('ishtar_common.view_operation', models.Operation)\ - and not request.user.has_perm('ishtar_common.view_own_operation', - models.Operation): - return HttpResponse(mimetype='text/plain') - data = json.dumps({'id':models.Operation.get_available_operation_code(year)}) - return HttpResponse(data, mimetype='text/plain') - -get_operation = get_item(models.Operation, 'get_operation', 'operation', - bool_fields = ['end_date__isnull'], - extra_request_keys={'common_name':'common_name__icontains', - 'end_date':'end_date__isnull', - 'year_index':('year', 'operation_code')}) -show_operation = show_item(models.Operation, 'operation') -revert_operation = revert_item(models.Operation) - -get_operationsource = get_item(models.OperationSource, - 'get_operationsource', 'operationsource', - extra_request_keys={'operation__towns':'operation__towns__pk', - 'operation__operation_type':'operation__operation_type__pk', - 'operation__year':'operation__year'}) - -get_administrativeactfile = get_item(models.AdministrativeAct, - 'get_administrativeactfile', 'administrativeactfile', - extra_request_keys={'associated_file__towns':'associated_file__towns__pk', - 'operation__towns':'operation__towns__pk', - 'act_type__intented_to':'act_type__intented_to'}) -get_administrativeactop = get_item(models.AdministrativeAct, - 'get_administrativeactop', 'administrativeactop', - extra_request_keys={'associated_file__towns':'associated_file__towns__pk', - 'operation__towns':'operation__towns__pk', - 'act_type__intented_to':'act_type__intented_to'}) - def autocomplete_organization(request, orga_type=None): person_types = request.user.ishtaruser.person.person_type if (not request.user.has_perm('ishtar_common.view_organization', @@ -1293,72 +1201,10 @@ def autocomplete_organization(request, orga_type=None): for org in organizations]) return HttpResponse(data, mimetype='text/plain') -show_contextrecord = show_item(models.ContextRecord, 'contextrecord') -get_contextrecord = get_item(models.ContextRecord, - 'get_contextrecord', 'contextrecord', - extra_request_keys={'parcel__town':'parcel__town__pk', - 'operation__year':'operation__year__contains', - 'datings__period':'datings__period__pk'},) -get_contextrecordsource = get_item(models.ContextRecordSource, - 'get_contextrecordsource', 'contextrecordsource', - extra_request_keys={ - 'context_record__parcel__town':'context_record__parcel__town__pk', - 'context_record__operation__year':'context_record__operation__year', - 'context_record__datings__period':'context_record__datings__period__pk', - 'context_record__unit':'context_record__unit__pk', - }) -get_archaeologicalitem = get_item(models.Item, - 'get_archaeologicalitem', 'item', - bool_fields = ['base_items__is_isolated'], - base_request={'downstream_treatment__isnull':True}, - extra_request_keys={ -'base_items__context_record__parcel__town': - 'base_items__context_record__parcel__town', -'base_items__context_record__operation__year': - 'base_items__context_record__operation__year__contains', -'base_items__context_record__operation__code_patriarche': - 'base_items__context_record__operation__code_patriarche', -'dating__period':'dating__period__pk', -'base_items__item__description':'base_items__item__description__icontains', -'base_items__is_isolated':'base_items__is_isolated'}) -get_itemsource = get_item(models.ItemSource, - 'get_itemsource', 'itemsource', - extra_request_keys={ -'item__context_record__operation__year':'item__context_record__operation__year', -'item__dating__period':'item__dating__period__pk', -'item__description':'item__description__icontains', - }) -get_container = get_item(models.Container, - 'get_container', 'container', - extra_request_keys={ -'location':'location__pk', -'container_type':'container_type__pk', -'reference':'reference__icontains', - }) - -def autocomplete_warehouse(request): - if not request.user.has_perm('ishtar_common.view_warehouse', models.Warehouse)\ - and not request.user.has_perm('ishtar_common.view_own_warehouse', - models.Warehouse) : - return HttpResponse(mimetype='text/plain') - if not request.GET.get('term'): - return HttpResponse(mimetype='text/plain') - q = request.GET.get('term') - query = Q() - for q in q.split(' '): - extra = Q(name__icontains=q) | \ - Q(warehouse_type__label__icontains=q) - query = query & extra - limit = 15 - warehouses = models.Warehouse.objects.filter(query)[:limit] - data = json.dumps([{'id':warehouse.pk, 'value':unicode(warehouse)} - for warehouse in warehouses]) - return HttpResponse(data, mimetype='text/plain') - def autocomplete_author(request): if not request.user.has_perm('ishtar_common.view_author', models.Author)\ and not request.user.has_perm('ishtar_common.view_own_author', - models.Warehouse) : + models.Author) : return HttpResponse(mimetype='text/plain') if not request.GET.get('term'): return HttpResponse(mimetype='text/plain') @@ -1376,29 +1222,6 @@ def autocomplete_author(request): for author in authors]) return HttpResponse(data, mimetype='text/plain') -def autocomplete_container(request): - if not request.user.has_perm('ishtar_common.view_warehouse', - models.Warehouse)\ - and not request.user.has_perm('ishtar_common.view_own_warehouse', - models.Warehouse): - return HttpResponse(mimetype='text/plain') - if not request.GET.get('term'): - return HttpResponse(mimetype='text/plain') - q = request.GET.get('term') - query = Q() - for q in q.split(' '): - extra = Q(container_type__label__icontains=q) | \ - Q(container_type__reference__icontains=q) | \ - Q(reference__icontains=q) | \ - Q(location__name=q) | \ - Q(location__town=q) - query = query & extra - limit = 15 - containers = models.Container.objects.filter(query)[:limit] - data = json.dumps([{'id':container.pk, 'value':unicode(container)} - for container in containers]) - return HttpResponse(data, mimetype='text/plain') - def new_item(model): def func(request, parent_name): model_name = model._meta.object_name @@ -1426,11 +1249,9 @@ def new_item(model): context_instance=RequestContext(request)) return func -new_warehouse = new_item(models.Warehouse) new_person = new_item(models.Person) new_organization = new_item(models.Organization) new_author = new_item(models.Author) -new_container = new_item(models.Container) def action(request, action_slug, obj_id=None, *args, **kwargs): """ @@ -1464,19 +1285,3 @@ def dashboard_main(request, dct, obj_id=None, *args, **kwargs): 'ishtar_users':models.UserDashboard()} return render_to_response('dashboard_main.html', dct, context_instance=RequestContext(request)) - -def dashboard_file(request, dct, obj_id=None, *args, **kwargs): - """ - Main dashboard - """ - dct = {'dashboard': models.FileDashboard()} - return render_to_response('dashboard_file.html', dct, - context_instance=RequestContext(request)) - -def dashboard_operation(request, dct, obj_id=None, *args, **kwargs): - """ - Operation dashboard - """ - dct = {'dashboard': models.OperationDashboard()} - return render_to_response('dashboard_operation.html', dct, - context_instance=RequestContext(request)) |