fix editor
This commit is contained in:
parent
05d3530764
commit
aebb158b12
2 changed files with 29 additions and 17 deletions
|
@ -41,8 +41,8 @@ def child_model(request, model: typing.Union[str, models.Model], kwargs=None, pa
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@sidebar_view(api_hybrid=True)
|
|
||||||
@etag(etag_func)
|
@etag(etag_func)
|
||||||
|
@sidebar_view(api_hybrid=True)
|
||||||
def main_index(request):
|
def main_index(request):
|
||||||
Level = request.changeset.wrap_model('Level')
|
Level = request.changeset.wrap_model('Level')
|
||||||
return APIHybridTemplateContextResponse('editor/index.html', {
|
return APIHybridTemplateContextResponse('editor/index.html', {
|
||||||
|
@ -62,8 +62,8 @@ def main_index(request):
|
||||||
}, fields=('can_create_level', 'child_models'))
|
}, fields=('can_create_level', 'child_models'))
|
||||||
|
|
||||||
|
|
||||||
@sidebar_view(api_hybrid=True)
|
|
||||||
@etag(etag_func)
|
@etag(etag_func)
|
||||||
|
@sidebar_view(api_hybrid=True)
|
||||||
def level_detail(request, pk):
|
def level_detail(request, pk):
|
||||||
Level = request.changeset.wrap_model('Level')
|
Level = request.changeset.wrap_model('Level')
|
||||||
qs = Level.objects.filter(Level.q_for_request(request))
|
qs = Level.objects.filter(Level.q_for_request(request))
|
||||||
|
@ -91,8 +91,8 @@ def level_detail(request, pk):
|
||||||
}, fields=('level', 'can_edit_graph', 'can_create_level', 'child_models', 'levels_on_top'))
|
}, fields=('level', 'can_edit_graph', 'can_create_level', 'child_models', 'levels_on_top'))
|
||||||
|
|
||||||
|
|
||||||
@sidebar_view(api_hybrid=True)
|
|
||||||
@etag(etag_func)
|
@etag(etag_func)
|
||||||
|
@sidebar_view(api_hybrid=True)
|
||||||
def space_detail(request, level, pk):
|
def space_detail(request, level, pk):
|
||||||
Level = request.changeset.wrap_model('Level')
|
Level = request.changeset.wrap_model('Level')
|
||||||
Space = request.changeset.wrap_model('Space')
|
Space = request.changeset.wrap_model('Space')
|
||||||
|
@ -125,8 +125,8 @@ def get_changeset_exceeded(request):
|
||||||
return request.user_permissions.max_changeset_changes <= request.changeset.changed_objects_count
|
return request.user_permissions.max_changeset_changes <= request.changeset.changed_objects_count
|
||||||
|
|
||||||
|
|
||||||
@sidebar_view(api_hybrid=True)
|
|
||||||
@etag(etag_func)
|
@etag(etag_func)
|
||||||
|
@sidebar_view(api_hybrid=True)
|
||||||
def edit(request, pk=None, model=None, level=None, space=None, on_top_of=None, explicit_edit=False):
|
def edit(request, pk=None, model=None, level=None, space=None, on_top_of=None, explicit_edit=False):
|
||||||
changeset_exceeded = get_changeset_exceeded(request)
|
changeset_exceeded = get_changeset_exceeded(request)
|
||||||
model_changes = {}
|
model_changes = {}
|
||||||
|
@ -411,8 +411,8 @@ def get_visible_spaces_kwargs(model, request):
|
||||||
return kwargs
|
return kwargs
|
||||||
|
|
||||||
|
|
||||||
@sidebar_view(api_hybrid=True)
|
|
||||||
@etag(etag_func)
|
@etag(etag_func)
|
||||||
|
@sidebar_view(api_hybrid=True)
|
||||||
def list_objects(request, model=None, level=None, space=None, explicit_edit=False):
|
def list_objects(request, model=None, level=None, space=None, explicit_edit=False):
|
||||||
resolver_match = getattr(request, 'sub_resolver_match', request.resolver_match)
|
resolver_match = getattr(request, 'sub_resolver_match', request.resolver_match)
|
||||||
if not resolver_match.url_name.endswith('.list'):
|
if not resolver_match.url_name.endswith('.list'):
|
||||||
|
@ -567,8 +567,8 @@ def connect_nodes(request, active_node, clicked_node, edge_settings_form):
|
||||||
messages.success(request, _('Reverse edge overwritten.') if is_reverse else _('Edge overwritten.'))
|
messages.success(request, _('Reverse edge overwritten.') if is_reverse else _('Edge overwritten.'))
|
||||||
|
|
||||||
|
|
||||||
@sidebar_view
|
|
||||||
@etag(etag_func)
|
@etag(etag_func)
|
||||||
|
@sidebar_view
|
||||||
def graph_edit(request, level=None, space=None):
|
def graph_edit(request, level=None, space=None):
|
||||||
if not request.user_permissions.can_access_base_mapdata:
|
if not request.user_permissions.can_access_base_mapdata:
|
||||||
raise PermissionDenied
|
raise PermissionDenied
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
from itertools import chain
|
||||||
|
|
||||||
from django.urls import path, register_converter
|
from django.urls import path, register_converter
|
||||||
|
|
||||||
from c3nav.site.converters import AtPositionConverter, CoordinatesConverter, IsEmbedConverter, LocationConverter
|
from c3nav.site.converters import AtPositionConverter, CoordinatesConverter, IsEmbedConverter, LocationConverter
|
||||||
|
@ -13,18 +15,28 @@ register_converter(IsEmbedConverter, 'is_embed')
|
||||||
embed = '<is_embed:embed>'
|
embed = '<is_embed:embed>'
|
||||||
pos = '<at_pos:pos>'
|
pos = '<at_pos:pos>'
|
||||||
|
|
||||||
|
|
||||||
|
def index_paths(pre, suf):
|
||||||
|
return [
|
||||||
|
path(f'{pre}l/<loc:slug>/{suf}', map_index, {'mode': 'l'}, name='site.index', ),
|
||||||
|
path(f'{pre}l/<loc:slug>/details/{suf}', map_index, {'mode': 'l', 'details': True}, name='site.index'),
|
||||||
|
path(f'{pre}l/<loc:slug>/nearby/{suf}', map_index, {'mode': 'l', 'nearby': True}, name='site.index'),
|
||||||
|
path(f'{pre}o/<loc:slug>/{suf}', map_index, {'mode': 'o'}, name='site.index'),
|
||||||
|
path(f'{pre}d/<loc:slug>/{suf}', map_index, {'mode': 'd'}, name='site.index'),
|
||||||
|
path(f'{pre}r/{suf}', map_index, {'mode': 'r'}, name='site.index'),
|
||||||
|
path(f'{pre}r/<loc:slug>/<loc:slug2>/{suf}', map_index, {'mode': 'r'}, name='site.index'),
|
||||||
|
path(f'{pre}r/<loc:slug>/<loc:slug2>/details{suf}', map_index, {'mode': 'r', 'details': True},
|
||||||
|
name='site.index'),
|
||||||
|
path(f'{pre}r/<loc:slug>/<loc:slug2>/options{suf}', map_index, {'mode': 'r', 'options': True},
|
||||||
|
name='site.index'),
|
||||||
|
path(f'{pre}r/<loc:slug>/<loc:slug2>/options{suf}', map_index, {'mode': 'r', 'options': True},
|
||||||
|
name='site.index'),
|
||||||
|
path(f'{pre}{suf}', map_index, name='site.index'),
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path(f'{embed}l/<loc:slug>/{pos}', map_index, {'mode': 'l'}, name='site.index', ),
|
*chain(*(index_paths(pre, suf) for pre in ('', embed) for suf in ('', pos))),
|
||||||
path(f'{embed}l/<loc:slug>/details/{pos}', map_index, {'mode': 'l', 'details': True}, name='site.index'),
|
|
||||||
path(f'{embed}l/<loc:slug>/nearby/{pos}', map_index, {'mode': 'l', 'nearby': True}, name='site.index'),
|
|
||||||
path(f'{embed}o/<loc:slug>/{pos}', map_index, {'mode': 'o'}, name='site.index'),
|
|
||||||
path(f'{embed}d/<loc:slug>/{pos}', map_index, {'mode': 'd'}, name='site.index'),
|
|
||||||
path(f'{embed}r/{pos}', map_index, {'mode': 'r'}, name='site.index'),
|
|
||||||
path(f'{embed}r/<loc:slug>/<loc:slug2>/{pos}', map_index, {'mode': 'r'}, name='site.index'),
|
|
||||||
path(f'{embed}r/<loc:slug>/<loc:slug2>/details{pos}', map_index, {'mode': 'r', 'details': True}, name='site.index'),
|
|
||||||
path(f'{embed}r/<loc:slug>/<loc:slug2>/options{pos}', map_index, {'mode': 'r', 'options': True}, name='site.index'),
|
|
||||||
path(f'{embed}r/<loc:slug>/<loc:slug2>/options{pos}', map_index, {'mode': 'r', 'options': True}, name='site.index'),
|
|
||||||
path(f'{embed}{pos}', map_index, name='site.index'),
|
|
||||||
path('qr/<path:path>', qr_code, name='site.qr'),
|
path('qr/<path:path>', qr_code, name='site.qr'),
|
||||||
path('login', login_view, name='site.login'),
|
path('login', login_view, name='site.login'),
|
||||||
path('logout', logout_view, name='site.logout'),
|
path('logout', logout_view, name='site.logout'),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue