base for graph_edit view
This commit is contained in:
parent
4453ea7b62
commit
66dabb3787
3 changed files with 56 additions and 13 deletions
|
@ -2,16 +2,21 @@
|
|||
{% load i18n %}
|
||||
{% include 'editor/fragment_levels.html' %}
|
||||
|
||||
<h3>{{ space.title }}</h3>
|
||||
<h3>
|
||||
{% trans 'Graph' %}
|
||||
<small>
|
||||
{% if space %}
|
||||
{% with space.title as space_title %}
|
||||
{% blocktrans %}in space {{ space_title }}{% endblocktrans %}
|
||||
{% endwith %}
|
||||
{% else %}
|
||||
{% with level.title as level_title %}
|
||||
{% blocktrans %}on level {{ level_title }}{% endblocktrans %}
|
||||
{% endwith %}
|
||||
{% endif %}
|
||||
</small>
|
||||
</h3>
|
||||
<p>
|
||||
<a class="btn btn-default btn-xs" accesskey="e" href="{% url 'editor.spaces.edit' level=space.level.pk pk=space.pk %}">
|
||||
{% trans 'Space' as model_title %}
|
||||
<i class="glyphicon glyphicon-pencil"></i> {% blocktrans %}Edit {{ model_title }}{% endblocktrans %}
|
||||
</a>
|
||||
</p>
|
||||
<p>
|
||||
<a href="{% url 'editor.spaces.list' level=space.level.pk %}">« {% trans 'back to overview' %}</a>
|
||||
<a href="{{ back_url }}">« {{ back_title }}</a>
|
||||
</p>
|
||||
{% bootstrap_messages %}
|
||||
|
||||
{% include 'editor/fragment_child_models.html' %}
|
||||
|
|
|
@ -2,7 +2,7 @@ from django.apps import apps
|
|||
from django.conf.urls import url
|
||||
|
||||
from c3nav.editor.views.changes import changeset_detail, changeset_edit
|
||||
from c3nav.editor.views.edit import edit, level_detail, list_objects, main_index, space_detail
|
||||
from c3nav.editor.views.edit import edit, graph_edit, level_detail, list_objects, main_index, space_detail
|
||||
from c3nav.editor.views.login import login_view, logout_view
|
||||
from c3nav.editor.views.users import user_detail
|
||||
|
||||
|
@ -37,6 +37,8 @@ urlpatterns = [
|
|||
url(r'^levels/(?P<level>c?[0-9]+)/spaces/(?P<pk>c?[0-9]+)/$', space_detail, name='editor.spaces.detail'),
|
||||
url(r'^levels/(?P<on_top_of>c?[0-9]+)/levels_on_top/create$', edit, name='editor.levels_on_top.create',
|
||||
kwargs={'model': 'Level'}),
|
||||
url(r'^levels/(?P<level>c?[0-9]+)/graph/$', graph_edit, name='editor.levels.graph'),
|
||||
url(r'^spaces/(?P<space>c?[0-9]+)/graph/$', graph_edit, name='editor.spaces.graph'),
|
||||
url(r'^changesets/(?P<pk>[0-9]+)/$', changeset_detail, name='editor.changesets.detail'),
|
||||
url(r'^changesets/(?P<pk>[0-9]+)/edit$', changeset_edit, name='editor.changesets.edit'),
|
||||
url(r'^users/(?P<pk>[0-9]+)/$', user_detail, name='editor.users.detail'),
|
||||
|
|
|
@ -291,8 +291,8 @@ def list_objects(request, model=None, level=None, space=None, explicit_edit=Fals
|
|||
|
||||
if level is not None:
|
||||
reverse_kwargs['level'] = level
|
||||
level = get_object_or_404(Level, pk=level)
|
||||
queryset = queryset.filter(Level.q_for_request(request), level=level).defer('geometry')
|
||||
level = get_object_or_404(Level.objects.filter(Level.q_for_request(request)), pk=level)
|
||||
queryset = queryset.filter(level=level).defer('geometry')
|
||||
ctx.update({
|
||||
'back_url': reverse('editor.levels.detail', kwargs={'pk': level.pk}),
|
||||
'back_title': _('back to level'),
|
||||
|
@ -330,3 +330,39 @@ def list_objects(request, model=None, level=None, space=None, explicit_edit=Fals
|
|||
})
|
||||
|
||||
return render(request, 'editor/list.html', ctx)
|
||||
|
||||
|
||||
@sidebar_view
|
||||
def graph_edit(request, level=None, space=None):
|
||||
Level = request.changeset.wrap_model('Level')
|
||||
Space = request.changeset.wrap_model('Space')
|
||||
|
||||
can_edit = request.changeset.can_edit(request)
|
||||
|
||||
ctx = {
|
||||
'path': request.path,
|
||||
'can_edit': can_edit,
|
||||
}
|
||||
|
||||
if level is not None:
|
||||
level = get_object_or_404(Level.objects.filter(Level.q_for_request(request)), pk=level)
|
||||
ctx.update({
|
||||
'back_url': reverse('editor.levels.detail', kwargs={'pk': level.pk}),
|
||||
'back_title': _('back to level'),
|
||||
'levels': Level.objects.filter(Level.q_for_request(request), on_top_of__isnull=True),
|
||||
'level': level,
|
||||
'level_url': request.resolver_match.url_name,
|
||||
'geometry_url': '/api/editor/geometries/?level='+str(level.primary_level_pk),
|
||||
})
|
||||
elif space is not None:
|
||||
queryset = Space.objects.filter(Space.q_for_request(request)).select_related('level').defer('geometry')
|
||||
space = get_object_or_404(queryset, pk=space)
|
||||
ctx.update({
|
||||
'space': space,
|
||||
'level': space.level,
|
||||
'back_url': reverse('editor.spaces.detail', kwargs={'level': space.level.pk, 'pk': space.pk}),
|
||||
'back_title': _('back to space'),
|
||||
'geometry_url': '/api/editor/geometries/?space='+str(space.pk),
|
||||
})
|
||||
|
||||
return render(request, 'editor/graph.html', ctx)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue