Expose DataLayer.edit_status separately to the front
They now differ from the Map.edit_status ones
This commit is contained in:
parent
6ba8166f86
commit
5ffd1a1b10
4 changed files with 27 additions and 3 deletions
|
@ -34,11 +34,11 @@ L.U.DataLayerPermissions = L.Class.extend({
|
||||||
{
|
{
|
||||||
handler: 'IntSelect',
|
handler: 'IntSelect',
|
||||||
label: L._('Who can edit "{layer}"', { layer: this.datalayer.getName() }),
|
label: L._('Who can edit "{layer}"', { layer: this.datalayer.getName() }),
|
||||||
selectOptions: this.datalayer.map.options.edit_statuses,
|
selectOptions: this.datalayer.map.options.datalayer_edit_statuses,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
builder = new L.U.FormBuilder(this, fields),
|
builder = new L.U.FormBuilder(this, fields, {className: 'umap-form datalayer-permissions'}),
|
||||||
form = builder.build()
|
form = builder.build()
|
||||||
container.appendChild(form)
|
container.appendChild(form)
|
||||||
},
|
},
|
||||||
|
|
|
@ -83,6 +83,14 @@ def test_owner_permissions_form(map, datalayer, live_server, owner_session):
|
||||||
expect(editors_field).to_be_hidden()
|
expect(editors_field).to_be_hidden()
|
||||||
datalayer_label = owner_session.get_by_text('Who can edit "test datalayer"')
|
datalayer_label = owner_session.get_by_text('Who can edit "test datalayer"')
|
||||||
expect(datalayer_label).to_be_visible()
|
expect(datalayer_label).to_be_visible()
|
||||||
|
options = owner_session.locator(
|
||||||
|
".datalayer-permissions select[name='edit_status'] option"
|
||||||
|
)
|
||||||
|
expect(options).to_have_count(3)
|
||||||
|
option = owner_session.locator(
|
||||||
|
".datalayer-permissions select[name='edit_status'] option:checked"
|
||||||
|
)
|
||||||
|
expect(option).to_have_text("Inherit")
|
||||||
|
|
||||||
|
|
||||||
def test_anonymous_can_add_marker_on_editable_layer(
|
def test_anonymous_can_add_marker_on_editable_layer(
|
||||||
|
@ -92,7 +100,9 @@ def test_anonymous_can_add_marker_on_editable_layer(
|
||||||
datalayer.name = "Should not be in the select"
|
datalayer.name = "Should not be in the select"
|
||||||
datalayer.save() # Non editable by anonymous users
|
datalayer.save() # Non editable by anonymous users
|
||||||
assert datalayer.map == anonymap
|
assert datalayer.map == anonymap
|
||||||
other = DataLayerFactory(map=anonymap, edit_status=DataLayer.ANONYMOUS, name="Editable")
|
other = DataLayerFactory(
|
||||||
|
map=anonymap, edit_status=DataLayer.ANONYMOUS, name="Editable"
|
||||||
|
)
|
||||||
assert other.map == anonymap
|
assert other.map == anonymap
|
||||||
page.goto(f"{live_server.url}{anonymap.get_absolute_url()}?edit")
|
page.goto(f"{live_server.url}{anonymap.get_absolute_url()}?edit")
|
||||||
add_marker = page.get_by_title("Draw a marker")
|
add_marker = page.get_by_title("Draw a marker")
|
||||||
|
|
|
@ -88,6 +88,14 @@ def test_owner_permissions_form(map, datalayer, live_server, login):
|
||||||
expect(editors_field).to_be_visible()
|
expect(editors_field).to_be_visible()
|
||||||
datalayer_label = page.get_by_text('Who can edit "test datalayer"')
|
datalayer_label = page.get_by_text('Who can edit "test datalayer"')
|
||||||
expect(datalayer_label).to_be_visible()
|
expect(datalayer_label).to_be_visible()
|
||||||
|
options = page.locator(
|
||||||
|
".datalayer-permissions select[name='edit_status'] option"
|
||||||
|
)
|
||||||
|
expect(options).to_have_count(4)
|
||||||
|
option = page.locator(
|
||||||
|
".datalayer-permissions select[name='edit_status'] option:checked"
|
||||||
|
)
|
||||||
|
expect(option).to_have_text("Inherit")
|
||||||
|
|
||||||
|
|
||||||
def test_map_update_with_editor(map, live_server, login, user):
|
def test_map_update_with_editor(map, live_server, login, user):
|
||||||
|
|
|
@ -464,8 +464,14 @@ class MapDetailMixin:
|
||||||
properties["edit_statuses"] = [
|
properties["edit_statuses"] = [
|
||||||
(i, str(label)) for i, label in Map.EDIT_STATUS
|
(i, str(label)) for i, label in Map.EDIT_STATUS
|
||||||
]
|
]
|
||||||
|
properties["datalayer_edit_statuses"] = [
|
||||||
|
(i, str(label)) for i, label in DataLayer.EDIT_STATUS
|
||||||
|
]
|
||||||
else:
|
else:
|
||||||
properties["edit_statuses"] = [
|
properties["edit_statuses"] = [
|
||||||
|
(i, str(label)) for i, label in AnonymousMapPermissionsForm.STATUS
|
||||||
|
]
|
||||||
|
properties["datalayer_edit_statuses"] = [
|
||||||
(i, str(label)) for i, label in AnonymousDataLayerPermissionsForm.STATUS
|
(i, str(label)) for i, label in AnonymousDataLayerPermissionsForm.STATUS
|
||||||
]
|
]
|
||||||
if self.get_short_url():
|
if self.get_short_url():
|
||||||
|
|
Loading…
Reference in a new issue