diff options
author | QuentinAndre <quentin.andre@imt-atlantique.net> | 2021-07-09 15:07:42 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-07-08 09:58:48 +0200 |
commit | 5eb14c6e24c67c5ac53c06b1ba53893db47a3f91 (patch) | |
tree | 77496eaf09f22f6c507564244203cb42833e98f9 /archaeological_finds/views.py | |
parent | 77245dac5fc748cff0306829c12f11f044a7cff7 (diff) | |
download | Ishtar-5eb14c6e24c67c5ac53c06b1ba53893db47a3f91.tar.bz2 Ishtar-5eb14c6e24c67c5ac53c06b1ba53893db47a3f91.zip |
add of get_geo_items in API + test
Diffstat (limited to 'archaeological_finds/views.py')
-rw-r--r-- | archaeological_finds/views.py | 128 |
1 files changed, 65 insertions, 63 deletions
diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index 80a92ac2b..957b1952c 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -98,7 +98,6 @@ get_find_for_ope = get_item( models.Find, "get_find", "find", own_table_cols=get_table_cols_for_ope() ) - get_find_for_cr = get_item( models.Find, "get_find", "find", own_table_cols=get_table_cols_for_cr() ) @@ -122,7 +121,6 @@ get_find_inside_container = get_item( autocomplete_find = get_autocomplete_item(model=models.Find) - show_treatment = show_item(models.Treatment, "treatment") revert_treatment = revert_item(models.Treatment) get_treatment = get_item( @@ -158,13 +156,13 @@ get_administrativeacttreatmentfile = get_item( def autocomplete_treatmentfile(request): if ( - not request.user.has_perm("ishtar_common.view_treatment", models.Treatment) - and not request.user.has_perm( - "ishtar_common.view_own_treatment", models.Treatment - ) - and not request.user.ishtaruser.has_right( - "treatmentfile_search", session=request.session - ) + not request.user.has_perm("ishtar_common.view_treatment", models.Treatment) + and not request.user.has_perm( + "ishtar_common.view_own_treatment", models.Treatment + ) + and not request.user.ishtaruser.has_right( + "treatmentfile_search", session=request.session + ) ): return HttpResponse(content_type="text/plain") if not request.GET.get("term"): @@ -174,9 +172,9 @@ def autocomplete_treatmentfile(request): for q1 in q.split(" "): for q in q1.split(" "): extra = ( - Q(internal_reference__icontains=q) - | Q(external_id__icontains=q) - | Q(name__icontains=q) + Q(internal_reference__icontains=q) + | Q(external_id__icontains=q) + | Q(name__icontains=q) ) try: int(q) @@ -204,10 +202,10 @@ def show_find_extra(request, find): user = request.user.ishtaruser q = ( models.FindBasket.objects.filter(items__pk=find.pk) - .filter( + .filter( Q(user=user) | Q(shared_with__pk=user.pk) | Q(shared_write_with__pk=user.pk) ) - .distinct() + .distinct() ) return {"baskets": [(basket.pk, basket.full_label) for basket in q.all()]} @@ -317,7 +315,6 @@ findbasket_deletion_steps = [ ("final-find_basket_deletion", FinalForm), ] - basket_delete_wizard = wizards.FindBasketDeletionWizard.as_view( findbasket_deletion_steps, label=_("Basket deletion"), @@ -512,8 +509,8 @@ class OwnBasket(object): models.FindBasket.objects.filter( Q(user=user) | Q(shared_with=user) | Q(shared_write_with=user) ) - .distinct() - .get(pk=pk) + .distinct() + .get(pk=pk) ) except models.FindBasket.DoesNotExist: raise PermissionDenied @@ -610,9 +607,9 @@ class FindBasketDeleteItemView( basket = self.get_basket(user=ishtaruser, pk=self.kwargs["basket"]) if ( - not user.is_superuser - and not ishtaruser.has_right("view_find") - and not (ishtaruser.has_right("view_own_find") and find.is_own(user)) + not user.is_superuser + and not ishtaruser.has_right("view_find") + and not (ishtaruser.has_right("view_own_find") and find.is_own(user)) ): raise PermissionDenied basket.items.remove(find) @@ -634,7 +631,6 @@ treatment_wizard_steps = [ ("final-treatment_creation", FinalForm), ] - treatment_search_wizard = wizards.TreatmentSearch.as_view( [("general-treatment_search", forms.TreatmentFormSelection)], label=_("Treatment search"), @@ -689,7 +685,7 @@ treatment_modification_wizard = wizards.TreatmentModificationWizard.as_view( def treatment_modify(request, pk): if not wizard_is_available( - treatment_modification_wizard, request, models.Treatment, pk + treatment_modification_wizard, request, models.Treatment, pk ): return HttpResponseRedirect("/") wizards.TreatmentModificationWizard.session_set_value( @@ -857,7 +853,7 @@ treatment_deletion_wizard = wizards.TreatmentDeletionWizard.as_view( def treatment_delete(request, pk): if not wizard_is_available( - treatment_deletion_wizard, request, models.Treatment, pk + treatment_deletion_wizard, request, models.Treatment, pk ): return HttpResponseRedirect("/") wizards.TreatmentDeletionWizard.session_set_value( @@ -913,7 +909,7 @@ treatment_administrativeact_modification_wizard = ( def treatment_administrativeacttreatment_modify(request, pk): if not wizard_is_available( - treatment_administrativeact_modification_wizard, request, AdministrativeAct, pk + treatment_administrativeact_modification_wizard, request, AdministrativeAct, pk ): return HttpResponseRedirect("/") wizards.TreatmentEditAdministrativeActWizard.session_set_value( @@ -942,7 +938,7 @@ treatment_admacttreatment_deletion_wizard = AdministrativeActDeletionWizard.as_v def treatment_administrativeacttreatment_delete(request, pk): if not wizard_is_available( - treatment_admacttreatment_deletion_wizard, request, AdministrativeAct, pk + treatment_admacttreatment_deletion_wizard, request, AdministrativeAct, pk ): return HttpResponseRedirect("/") wizard_url = "treatment_admacttreatment_deletion" @@ -983,7 +979,6 @@ treatmentfile_wizard_steps = [ ("final-treatmentfile_creation", FinalForm), ] - treatmentfile_creation_wizard = wizards.TreatmentFileWizard.as_view( treatmentfile_wizard_steps, label=_("New treatment request"), @@ -1003,7 +998,7 @@ treatmentfile_modification_wizard = wizards.TreatmentFileModificationWizard.as_v def treatmentfile_modify(request, pk): if not wizard_is_available( - treatmentfile_modification_wizard, request, models.TreatmentFile, pk + treatmentfile_modification_wizard, request, models.TreatmentFile, pk ): return HttpResponseRedirect("/") wizards.TreatmentFileModificationWizard.session_set_value( @@ -1046,7 +1041,7 @@ treatmentfile_deletion_wizard = wizards.TreatmentFileDeletionWizard.as_view( def treatmentfile_delete(request, pk): if not wizard_is_available( - treatmentfile_deletion_wizard, request, models.TreatmentFile, pk + treatmentfile_deletion_wizard, request, models.TreatmentFile, pk ): return HttpResponseRedirect("/") wizard_url = "treatmentfile_deletion" @@ -1067,7 +1062,6 @@ treatmentfile_admacttreatmentfile_search_wizard = wizards.SearchWizard.as_view( url_name="treatmentfle_admacttreatmentfle_search", ) - treatmentfile_admacttreatmentfile_wizard = ( wizards.TreatmentFileAdministrativeActWizard.as_view( [ @@ -1104,10 +1098,10 @@ treatmentfile_admacttreatmentfile_modification_wizard = ( def treatmentfile_administrativeacttreatmentfile_modify(request, pk): if not wizard_is_available( - treatmentfile_admacttreatmentfile_modification_wizard, - request, - AdministrativeAct, - pk, + treatmentfile_admacttreatmentfile_modification_wizard, + request, + AdministrativeAct, + pk, ): return HttpResponseRedirect("/") wizards.TreatmentFileEditAdministrativeActWizard.session_set_value( @@ -1163,10 +1157,10 @@ treatmentfile_admacttreatmentfile_deletion_wizard = ( def treatmentfile_administrativeacttreatmentfile_delete(request, pk): if not wizard_is_available( - treatmentfile_admacttreatmentfile_deletion_wizard, - request, - AdministrativeAct, - pk, + treatmentfile_admacttreatmentfile_deletion_wizard, + request, + AdministrativeAct, + pk, ): return HttpResponseRedirect("/") wizard_url = "treatmentfle_admacttreatmentfle_deletion" @@ -1178,30 +1172,30 @@ def treatmentfile_administrativeacttreatmentfile_delete(request, pk): def reset_wizards(request): for wizard_class, url_name in ( - (wizards.FindWizard, "find_creation"), - (wizards.FindModificationWizard, "find_modification"), - (wizards.FindDeletionWizard, "find_deletion"), - (wizards.TreatmentWizard, "treatement_creation"), - (wizards.TreatmentModificationWizard, "treatment_modification"), - (wizards.TreatmentDeletionWizard, "treatment_deletion"), - (wizards.TreatmentAdministrativeActWizard, "treatment_admacttreatment"), - ( - wizards.TreatmentEditAdministrativeActWizard, - "treatment_admacttreatment_modification", - ), - (wizards.TreatmentDeletionWizard, "treatment_admacttreatment_deletion"), - (wizards.TreatmentFileWizard, "treatmentfile_creation"), - (wizards.TreatmentFileModificationWizard, "treatmentfile_modification"), - (wizards.TreatmentFileDeletionWizard, "treatmentfile_deletion"), - ( - wizards.TreatmentFileAdministrativeActWizard, - "treatmentfle_admacttreatmentfle", - ), - ( - wizards.TreatmentFileEditAdministrativeActWizard, - "treatmentfle_admacttreatmentfle_modification", - ), - (AdministrativeActDeletionWizard, "treatmentfle_admacttreatmentfle_deletion"), + (wizards.FindWizard, "find_creation"), + (wizards.FindModificationWizard, "find_modification"), + (wizards.FindDeletionWizard, "find_deletion"), + (wizards.TreatmentWizard, "treatement_creation"), + (wizards.TreatmentModificationWizard, "treatment_modification"), + (wizards.TreatmentDeletionWizard, "treatment_deletion"), + (wizards.TreatmentAdministrativeActWizard, "treatment_admacttreatment"), + ( + wizards.TreatmentEditAdministrativeActWizard, + "treatment_admacttreatment_modification", + ), + (wizards.TreatmentDeletionWizard, "treatment_admacttreatment_deletion"), + (wizards.TreatmentFileWizard, "treatmentfile_creation"), + (wizards.TreatmentFileModificationWizard, "treatmentfile_modification"), + (wizards.TreatmentFileDeletionWizard, "treatmentfile_deletion"), + ( + wizards.TreatmentFileAdministrativeActWizard, + "treatmentfle_admacttreatmentfle", + ), + ( + wizards.TreatmentFileEditAdministrativeActWizard, + "treatmentfle_admacttreatmentfle_modification", + ), + (AdministrativeActDeletionWizard, "treatmentfle_admacttreatmentfle_deletion"), ): wizard_class.session_reset(request, url_name) @@ -1326,8 +1320,8 @@ class PublicFindAPI(APIView): return empty q = ( models.FindBasket.items.through.objects.filter(findbasket_id=basket.id) - .values("find_id") - .order_by("id") + .values("find_id") + .order_by("id") ) id_list = [bi["find_id"] for bi in q] clauses = " ".join( @@ -1342,3 +1336,11 @@ class PublicFindAPI(APIView): def get(self, request, format=None): serializer = PublicSerializer(self.get_queryset(), many=True) return Response(serializer.data) + + +def get_geo_items(request, pk, get_polygons, current_right=None): + base_find = models.BaseFind.objects.get(pk=pk) + if not base_find: + return Http404() + dic = base_find.get_geo_items(get_polygons=(get_polygons == "True")) + return HttpResponse(json.dumps(dic).encode('utf-8')) |