fix overlays in editor
This commit is contained in:
parent
32e89498ce
commit
ed8ca8004d
1 changed files with 8 additions and 4 deletions
|
@ -1,6 +1,7 @@
|
||||||
|
from c3nav.editor.forms import get_editor_form
|
||||||
from c3nav.editor.views.base import (APIHybridError, APIHybridFormTemplateResponse,
|
from c3nav.editor.views.base import (APIHybridError, APIHybridFormTemplateResponse,
|
||||||
APIHybridMessageRedirectResponse, APIHybridTemplateContextResponse,
|
APIHybridMessageRedirectResponse, APIHybridTemplateContextResponse,
|
||||||
editor_etag_func, sidebar_view)
|
editor_etag_func, sidebar_view, accesses_mapdata)
|
||||||
from django.shortcuts import get_object_or_404
|
from django.shortcuts import get_object_or_404
|
||||||
from django.views.decorators.http import etag
|
from django.views.decorators.http import etag
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
|
@ -15,6 +16,7 @@ from c3nav.mapdata.models import DataOverlay, Level, DataOverlayFeature
|
||||||
|
|
||||||
|
|
||||||
@etag(editor_etag_func)
|
@etag(editor_etag_func)
|
||||||
|
@accesses_mapdata
|
||||||
@sidebar_view(api_hybrid=True)
|
@sidebar_view(api_hybrid=True)
|
||||||
def overlays_list(request, level):
|
def overlays_list(request, level):
|
||||||
queryset = DataOverlay.objects.all().order_by('id')
|
queryset = DataOverlay.objects.all().order_by('id')
|
||||||
|
@ -35,6 +37,7 @@ def overlays_list(request, level):
|
||||||
return APIHybridTemplateContextResponse('editor/overlays.html', ctx, fields=('overlays',))
|
return APIHybridTemplateContextResponse('editor/overlays.html', ctx, fields=('overlays',))
|
||||||
|
|
||||||
@etag(editor_etag_func)
|
@etag(editor_etag_func)
|
||||||
|
@accesses_mapdata
|
||||||
@sidebar_view(api_hybrid=True)
|
@sidebar_view(api_hybrid=True)
|
||||||
def overlay_features(request, level, pk):
|
def overlay_features(request, level, pk):
|
||||||
ctx = {
|
ctx = {
|
||||||
|
@ -80,6 +83,7 @@ def overlay_features(request, level, pk):
|
||||||
fields=('can_create', 'create_url', 'objects'))
|
fields=('can_create', 'create_url', 'objects'))
|
||||||
|
|
||||||
@etag(editor_etag_func)
|
@etag(editor_etag_func)
|
||||||
|
@accesses_mapdata
|
||||||
@sidebar_view(api_hybrid=True)
|
@sidebar_view(api_hybrid=True)
|
||||||
def overlay_feature_edit(request, level=None, overlay=None, pk=None):
|
def overlay_feature_edit(request, level=None, overlay=None, pk=None):
|
||||||
changeset_exceeded = get_changeset_exceeded(request)
|
changeset_exceeded = get_changeset_exceeded(request)
|
||||||
|
@ -205,7 +209,7 @@ def overlay_feature_edit(request, level=None, overlay=None, pk=None):
|
||||||
|
|
||||||
json_body = getattr(request, 'json_body', None)
|
json_body = getattr(request, 'json_body', None)
|
||||||
data = json_body if json_body is not None else request.POST
|
data = json_body if json_body is not None else request.POST
|
||||||
form = DataOverlayFeature.EditorForm(instance=DataOverlayFeature() if new else obj, data=data, is_json=json_body is not None,
|
form = get_editor_form(DataOverlayFeature)(instance=DataOverlayFeature() if new else obj, data=data, is_json=json_body is not None,
|
||||||
request=request, space_id=space_id,
|
request=request, space_id=space_id,
|
||||||
geometry_editable=edit_utils.can_access_child_base_mapdata)
|
geometry_editable=edit_utils.can_access_child_base_mapdata)
|
||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
|
@ -239,8 +243,8 @@ def overlay_feature_edit(request, level=None, overlay=None, pk=None):
|
||||||
error = APIHybridError(status_code=403, message=_('You can not edit changes on this changeset.'))
|
error = APIHybridError(status_code=403, message=_('You can not edit changes on this changeset.'))
|
||||||
|
|
||||||
else:
|
else:
|
||||||
form = DataOverlayFeature.EditorForm(instance=obj, request=request, space_id=space_id,
|
form = get_editor_form(DataOverlayFeature)(instance=obj, request=request, space_id=space_id,
|
||||||
geometry_editable=edit_utils.can_access_child_base_mapdata)
|
geometry_editable=edit_utils.can_access_child_base_mapdata)
|
||||||
|
|
||||||
ctx.update({
|
ctx.update({
|
||||||
'form': form,
|
'form': form,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue