Exemplo n.º 1
0
def editImage(request, imageSetID):
    imageSet = IMAGE_SET_MODEL.get().objects.get(pk=imageSetID)
    if request.POST:
        form = ImageSetForm(request.POST, instance=imageSet)
        if form.is_valid():
            form.save()
            if form.errors:
                for key, msg in form.errors.items():
                    if key == "warning":
                        messages.warning(request, msg)
                    elif key == "error":
                        messages.error(request, msg)
            else:
                messages.success(request, settings.XGDS_IMAGE_IMAGE_SET_MONIKER + " successfully updated.")
            return HttpResponseRedirect(
                reverse("search_map_single_object", kwargs={"modelPK": imageSetID, "modelName": "Photo"})
            )
        else:
            messages.error(request, "The form is not valid")
            return render_to_response("xgds_image/imageEdit.html", RequestContext(request, {"form": form}))
    elif request.method == "GET":
        form = ImageSetForm(instance=imageSet)
        return render_to_response(
            "xgds_image/imageEdit.html",
            RequestContext(
                request,
                {
                    "form": form,
                    "templates": get_handlebars_templates(
                        list(settings.XGDS_MAP_SERVER_HANDLEBARS_DIRS), "XGDS_MAP_SERVER_HANDLEBARS_DIRS"
                    ),
                },
            ),
        )
Exemplo n.º 2
0
def updateImageInfo(request):
    """
    Saves update image info entered by the user in the image view.
    """
    if request.method == 'POST':
        imgId = request.POST['id']
        imageSet = IMAGE_SET_MODEL.get().objects.get(pk=imgId)
        form = ImageSetForm(request.POST, instance=imageSet)
        if form.is_valid():
            imageSet = form.save(commit=False)
            changed_position = request.POST['changed_position']
            if int(changed_position) == 1:
                latitude = form.cleaned_data['latitude']
                longitude = form.cleaned_data['longitude']
                altitude = form.cleaned_data['altitude']
                heading = form.cleaned_data['heading']
                if (latitude or longitude or altitude or heading):
                    if not imageSet.user_position:
                        imageSet.user_position = POSITION_MODEL.get(
                        ).objects.create(
                            timestamp=imageSet.acquisition_time,
                            serverTimestamp=imageSet.acquisition_time,
                            latitude=latitude,
                            longitude=longitude)
                    else:
                        imageSet.user_position.latitude = latitude
                        imageSet.user_position.longitude = longitude
                try:
                    imageSet.user_position.altitude = altitude
                except:
                    pass
                try:
                    imageSet.user_position.heading = heading
                except:
                    pass
                imageSet.user_position.save()


#             imageSet.description = form.cleaned_data['description']
            imageSet.save()
            return HttpResponse(json.dumps([imageSet.toMapDict()],
                                           cls=DatetimeJsonEncoder),
                                content_type="application/json")
        else:
            return HttpResponse(json.dumps({
                'status': 'error',
                'message': "Failed to save."
            }),
                                content_type='application/json')
Exemplo n.º 3
0
def updateImageInfo(request):
    """
    Saves update image info entered by the user in the image view.
    """
    if request.method == "POST":
        imgId = request.POST["id"]
        imageSet = IMAGE_SET_MODEL.get().objects.get(pk=imgId)
        form = ImageSetForm(request.POST, instance=imageSet)
        if form.is_valid():
            imageSet = form.save(commit=False)
            changed_position = request.POST["changed_position"]
            if int(changed_position) == 1:
                latitude = form.cleaned_data["latitude"]
                longitude = form.cleaned_data["longitude"]
                altitude = form.cleaned_data["altitude"]
                heading = form.cleaned_data["heading"]
                if latitude or longitude or altitude or heading:
                    if not imageSet.user_position:
                        imageSet.user_position = POSITION_MODEL.get().objects.create(
                            timestamp=imageSet.acquisition_time,
                            serverTimestamp=imageSet.acquisition_time,
                            latitude=latitude,
                            longitude=longitude,
                        )
                    else:
                        imageSet.user_position.latitude = latitude
                        imageSet.user_position.longitude = longitude
                try:
                    imageSet.user_position.altitude = altitude
                except:
                    pass
                try:
                    imageSet.user_position.heading = heading
                except:
                    pass
                imageSet.user_position.save()
            #             imageSet.description = form.cleaned_data['description']
            imageSet.save()
            return HttpResponse(
                json.dumps([imageSet.toMapDict()], cls=DatetimeJsonEncoder), content_type="application/json"
            )
        else:
            return HttpResponse(
                json.dumps({"status": "error", "message": "Failed to save."}), content_type="application/json"
            )
Exemplo n.º 4
0
def getImageImportPage(request):
    # map plus image templates for now
    templates = get_handlebars_templates(XGDS_IMAGE_TEMPLATE_LIST,
                                         'XGDS_IMAGE_TEMPLATE_LIST')
    data = {
        'imageSetsJson': [],
        'templates': templates,
        'form': UploadFileForm(),
        'imageSetForm': ImageSetForm()
    }
    return render(
        request,
        "xgds_image/imageImport.html",
        data,
    )
Exemplo n.º 5
0
def getImageImportPage(request):
    # map plus image templates for now
    templates = get_handlebars_templates(XGDS_IMAGE_TEMPLATE_LIST,
                                         'XGDS_IMAGE_TEMPLATE_LIST')
    data = {
        'imageSetsJson': [],
        'templates': templates,
        'form': UploadFileForm(),
        'imageSetForm': ImageSetForm(),
        'title': 'Import ' + settings.XGDS_IMAGE_IMAGE_SET_MONIKER,
        'help_content_path': 'xgds_image/help/import.rst'
    }
    return render(
        request,
        "xgds_image/imageImport.html",
        data,
    )
Exemplo n.º 6
0
def editImage(request, imageSetID):
    imageSet = IMAGE_SET_MODEL.get().objects.get(pk=imageSetID)
    if request.POST:
        form = ImageSetForm(request.POST, instance=imageSet)
        if form.is_valid():
            form.save()
            if form.errors:
                for key, msg in form.errors.items():
                    if key == 'warning':
                        messages.warning(request, msg)
                    elif key == 'error':
                        messages.error(request, msg)
            else:
                messages.success(
                    request, settings.XGDS_IMAGE_IMAGE_SET_MONIKER +
                    ' successfully updated.')
            return HttpResponseRedirect(
                reverse('search_map_single_object',
                        kwargs={
                            'modelPK': imageSetID,
                            'modelName': settings.XGDS_IMAGE_IMAGE_MODEL_NAME
                        }))
        else:
            messages.error(request, 'The form is not valid')
            return render(request, 'xgds_image/imageEdit.html', {'form': form})
    elif request.method == "GET":
        form = ImageSetForm(instance=imageSet)
        return render(
            request, 'xgds_image/imageEdit.html', {
                'form':
                form,
                'templates':
                get_handlebars_templates(
                    list(settings.XGDS_MAP_SERVER_HANDLEBARS_DIRS),
                    'XGDS_MAP_SERVER_HANDLEBARS_DIRS')
            })