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)
|
||||
@sidebar_view(api_hybrid=True)
|
||||
def main_index(request):
|
||||
Level = request.changeset.wrap_model('Level')
|
||||
return APIHybridTemplateContextResponse('editor/index.html', {
|
||||
|
@ -62,8 +62,8 @@ def main_index(request):
|
|||
}, fields=('can_create_level', 'child_models'))
|
||||
|
||||
|
||||
@sidebar_view(api_hybrid=True)
|
||||
@etag(etag_func)
|
||||
@sidebar_view(api_hybrid=True)
|
||||
def level_detail(request, pk):
|
||||
Level = request.changeset.wrap_model('Level')
|
||||
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'))
|
||||
|
||||
|
||||
@sidebar_view(api_hybrid=True)
|
||||
@etag(etag_func)
|
||||
@sidebar_view(api_hybrid=True)
|
||||
def space_detail(request, level, pk):
|
||||
Level = request.changeset.wrap_model('Level')
|
||||
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
|
||||
|
||||
|
||||
@sidebar_view(api_hybrid=True)
|
||||
@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):
|
||||
changeset_exceeded = get_changeset_exceeded(request)
|
||||
model_changes = {}
|
||||
|
@ -411,8 +411,8 @@ def get_visible_spaces_kwargs(model, request):
|
|||
return kwargs
|
||||
|
||||
|
||||
@sidebar_view(api_hybrid=True)
|
||||
@etag(etag_func)
|
||||
@sidebar_view(api_hybrid=True)
|
||||
def list_objects(request, model=None, level=None, space=None, explicit_edit=False):
|
||||
resolver_match = getattr(request, 'sub_resolver_match', request.resolver_match)
|
||||
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.'))
|
||||
|
||||
|
||||
@sidebar_view
|
||||
@etag(etag_func)
|
||||
@sidebar_view
|
||||
def graph_edit(request, level=None, space=None):
|
||||
if not request.user_permissions.can_access_base_mapdata:
|
||||
raise PermissionDenied
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
from itertools import chain
|
||||
|
||||
from django.urls import path, register_converter
|
||||
|
||||
from c3nav.site.converters import AtPositionConverter, CoordinatesConverter, IsEmbedConverter, LocationConverter
|
||||
|
@ -13,18 +15,28 @@ register_converter(IsEmbedConverter, 'is_embed')
|
|||
embed = '<is_embed:embed>'
|
||||
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 = [
|
||||
path(f'{embed}l/<loc:slug>/{pos}', map_index, {'mode': 'l'}, name='site.index', ),
|
||||
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'),
|
||||
*chain(*(index_paths(pre, suf) for pre in ('', embed) for suf in ('', pos))),
|
||||
path('qr/<path:path>', qr_code, name='site.qr'),
|
||||
path('login', login_view, name='site.login'),
|
||||
path('logout', logout_view, name='site.logout'),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue