implement new django-based models and loadmappkg command
This commit is contained in:
parent
66661209d2
commit
752b7d6d7d
14 changed files with 318 additions and 196 deletions
|
@ -10,7 +10,7 @@
|
|||
var map = L.map('mapeditor', {
|
||||
center: [120, 200],
|
||||
zoom: 2,
|
||||
maxBounds: [[0, 0], [{{ map.height }}, {{ map.width }}]],
|
||||
maxBounds: {{ bounds }},
|
||||
maxZoom: 10,
|
||||
minZoom: 1,
|
||||
crs: L.CRS.Simple,
|
||||
|
@ -19,10 +19,10 @@ var map = L.map('mapeditor', {
|
|||
});
|
||||
|
||||
// Add Source Layers
|
||||
{% for pkg in map.pkgs.values %}
|
||||
{% for pkg in packages %}
|
||||
L.control.layers([], {
|
||||
{% for source in pkg.sources %}
|
||||
"{{ source.name }}": L.imageOverlay('{% url 'map.source' filename=source.filename %}', {{ source.jsbounds }}),{% endfor %}
|
||||
{% for source in pkg.sources.all %}
|
||||
"{{ source.name }}": L.imageOverlay('{% url 'map.source' source=source.name %}', {{ source.jsbounds }}),{% endfor %}
|
||||
}).addTo(map);
|
||||
{% endfor %}
|
||||
|
||||
|
@ -33,10 +33,10 @@ L.LevelControl = L.Control.extend({
|
|||
},
|
||||
onAdd: function (map) {
|
||||
var container = L.DomUtil.create('div', 'leaflet-control leaflet-bar leaflet-levels'), link;
|
||||
{% for level in map.levels reversed %}
|
||||
{% for level in levels reversed %}
|
||||
link = L.DomUtil.create('a', '{% if current_level == level %}current{% endif %}', container);
|
||||
link.href = '{% url "control.editor" level=level %}';
|
||||
link.innerHTML = '{{ level }}';
|
||||
link.href = '{% url "control.editor" level=level.name %}';
|
||||
link.innerHTML = '{{ level.name }}';
|
||||
{% endfor %}
|
||||
return container;
|
||||
}
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
from django.contrib.admin.views.decorators import staff_member_required
|
||||
from django.http import Http404
|
||||
from django.shortcuts import redirect, render
|
||||
import json
|
||||
|
||||
from ..mapdata import mapmanager
|
||||
from django.contrib.admin.views.decorators import staff_member_required
|
||||
from django.shortcuts import get_object_or_404, redirect, render
|
||||
|
||||
from ..mapdata.models import MapLevel, MapPackage, MapSource
|
||||
|
||||
|
||||
@staff_member_required
|
||||
|
@ -13,10 +14,12 @@ def dashboard(request):
|
|||
@staff_member_required
|
||||
def editor(request, level=None):
|
||||
if not level:
|
||||
return redirect('control.editor', level=mapmanager.levels[0])
|
||||
if level not in mapmanager.levels:
|
||||
raise Http404('Level does not exist')
|
||||
return redirect('control.editor', level=MapLevel.objects.first().name)
|
||||
|
||||
level = get_object_or_404(MapLevel, name=level)
|
||||
return render(request, 'control/editor.html', {
|
||||
'map': mapmanager,
|
||||
'bounds': json.dumps(MapSource.max_bounds()),
|
||||
'packages': MapPackage.objects.all(),
|
||||
'levels': MapLevel.objects.all(),
|
||||
'current_level': level,
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue