maps: fix tiles map layer edition (#40866)
This commit is contained in:
parent
8d80c2650e
commit
d04bb7cc89
|
@ -63,7 +63,7 @@ class MapLayerForm(forms.ModelForm):
|
|||
def clean(self):
|
||||
cleaned_data = super(MapLayerForm, self).clean()
|
||||
|
||||
if self.instance.kind == 'tiles':
|
||||
if self.instance.kind == 'tiles' and cleaned_data.get('tiles_default') is True:
|
||||
if MapLayer.objects.filter(kind='tiles', tiles_default=True).exclude(pk=self.instance.pk):
|
||||
raise forms.ValidationError(_('Only one default tiles layer can be defined.'))
|
||||
|
||||
|
|
|
@ -111,6 +111,16 @@ def test_add_tiles_layer(app, admin_user):
|
|||
resp = resp.forms[0].submit()
|
||||
assert '<li>Only one default tiles layer can be defined.</li>' in resp.text
|
||||
|
||||
resp = app.get('/manage/maps/', status=200)
|
||||
resp = resp.click('New tiles layer')
|
||||
resp.forms[0]['label'] = 'Test2'
|
||||
resp.forms[0]['tiles_template_url'] = 'http://somedomain.com/blabla/{z}/{x}/{y}{r}.png'
|
||||
resp.forms[0]['tiles_attribution'] = 'Foo bar'
|
||||
resp.forms[0]['tiles_default'] = False
|
||||
resp = resp.forms[0].submit()
|
||||
assert resp.location.endswith('/manage/maps/')
|
||||
assert MapLayer.objects.count() == 2
|
||||
|
||||
|
||||
def test_edit_geojson_layer(app, admin_user, layer):
|
||||
app = login(app)
|
||||
|
|
Loading…
Reference in New Issue