def test_convert_without_wms_defaults(self, test_app, layer_wmts_test_data, dbsession): from c2cgeoportal_commons.models.main import LayerWMS dbsession.delete(LayerWMS.get_default(dbsession)) layer = layer_wmts_test_data['layers'][3] test_app.post("/layers_wmts/{}/convert_to_wms".format(layer.id), status=200)
def view(self): if self._is_new(): dbsession = self._request.dbsession default_wms = LayerWMS.get_default(dbsession) if default_wms: return self.copy(default_wms, excludes=['name', 'layer']) return super().edit()
def view(self) -> Dict[str, Any]: if self._is_new(): dbsession = self._request.dbsession default_wms = LayerWMS.get_default(dbsession) if default_wms: return self.copy(default_wms, excludes=["name", "layer"]) # type: ignore return super().edit() # type: ignore
def convert_to_wms(self): src = self._get_object() dbsession = self._request.dbsession default_wms = LayerWMS.get_default(dbsession) values = ({ "ogc_server_id": default_wms.ogc_server_id, "time_mode": default_wms.time_mode, "time_widget": default_wms.time_widget, } if default_wms else { "ogc_server_id": dbsession.query(OGCServer.id).order_by(OGCServer.id).first()[0], "time_mode": "disabled", "time_widget": "slider", }) with dbsession.no_autoflush: d = delete(LayerWMTS.__table__) d = d.where(LayerWMTS.__table__.c.id == src.id) i = insert(LayerWMS.__table__) values.update({ "id": src.id, "layer": src.layer, "style": src.style }) i = i.values(values) u = update(TreeItem.__table__) u = u.where(TreeItem.__table__.c.id == src.id) u = u.values({"type": "l_wms"}) dbsession.execute(d) dbsession.execute(i) dbsession.execute(u) dbsession.expunge(src) dbsession.flush() mark_changed(dbsession) return { "success": True, "redirect": self._request.route_url( "c2cgeoform_item", table="layers_wms", id=self._request.matchdict["id"], _query=[("msg_col", "submit_ok")], ), }
def convert_to_wms(self): src = self._get_object() dbsession = self._request.dbsession default_wms = LayerWMS.get_default(dbsession) values = { 'ogc_server_id': default_wms.ogc_server_id, 'time_mode': default_wms.time_mode, 'time_widget': default_wms.time_widget } if default_wms else { 'ogc_server_id': dbsession.query(OGCServer.id).order_by(OGCServer.id).first()[0], 'time_mode': 'disabled', 'time_widget': 'slider' } with dbsession.no_autoflush: d = delete(LayerWMTS.__table__) d = d.where(LayerWMTS.__table__.c.id == src.id) i = insert(LayerWMS.__table__) values.update({ 'id': src.id, 'layer': src.layer, 'style': src.style }) i = i.values(values) u = update(TreeItem.__table__) u = u.where(TreeItem.__table__.c.id == src.id) u = u.values({'type': 'l_wms'}) dbsession.execute(d) dbsession.execute(i) dbsession.execute(u) dbsession.expunge(src) dbsession.flush() mark_changed(dbsession) return { 'success': True, 'redirect': self._request.route_url('c2cgeoform_item', table='layers_wms', id=self._request.matchdict['id'], _query=[('msg_col', 'submit_ok')]) }
def test_convert_without_wms_defaults(self, test_app, layer_wmts_test_data, dbsession): from c2cgeoportal_commons.models.main import LayerWMS dbsession.delete(LayerWMS.get_default(dbsession)) layer = layer_wmts_test_data["layers"][3] test_app.post(f"/admin/layers_wmts/{layer.id}/convert_to_wms", status=200)