diff --git a/src/mapfile.py b/src/mapfile.py index 05f725b01364d59ebb1fcaaf8e2e224e5ce6d619..42cbd36eeca63af6a5ca6cb76b0baf0137af6d44 100644 --- a/src/mapfile.py +++ b/src/mapfile.py @@ -38,6 +38,7 @@ import maptools from webapp import KeyExists import tools +from extensions import plugins class MetadataMixin(object): @@ -316,6 +317,8 @@ class FeatureTypeModel(LayerModel): def configure_layer(self, ws, layer, enabled=True): + plugins.extend("pre_configure_feature", self, ws, layer) + # We must also update all our personal attributes (type, ...) # because we might not have been cloned. @@ -427,6 +430,8 @@ class CoverageModel(LayerModel): def configure_layer(self, ws, layer, enabled=True): + plugins.extend("pre_configure_coverage", self, ws, layer) + # We must also update all our personal attributes (type, ...) # because we might not have been cloned. diff --git a/src/server.py b/src/server.py index 5e73e8a19fd51bee497cd23664b77fe6e650b001..b19bc890822dd7b31a0212738fd022d8604fbbf1 100755 --- a/src/server.py +++ b/src/server.py @@ -40,7 +40,7 @@ from webapp import HTTPCompatible, urlmap, get_data import tools import maptools -from tools import get_mapfile, get_mapfile_workspace, get_config, href +from tools import get_mapfile, get_mapfile_workspace, get_config, href, assert_is_empty from pyxml import Entries @@ -323,8 +323,7 @@ class featuretype(object): mf, ws = get_mapfile_workspace(map_name, ws_name) # We need to check if there are any layers using this. - assert_is_empty(mg.iter_layers(mra={"name":ft_name, "workspace":ws_name, "storage":ds_name, "type":"featuretype"}), - "featuretype", ft_name) + assert_is_empty(mf.iter_layers(mra={"name":ft_name, "workspace":ws_name, "storage":ds_name, "type":"featuretype"}),"featuretype", ft_name) with webapp.mightNotFound("featureType", datastore=ds_name): ws.delete_featuretypemodel(ft_name, ds_name) @@ -386,7 +385,6 @@ class coveragestore(object): def DELETE(self, map_name, ws_name, cs_name, format): mf, ws = get_mapfile_workspace(map_name, ws_name) - # We need to check if this datatore is empty. assert_is_empty(ws.iter_coverages(cs_name=cs_name), "coveragestore", ds_name) @@ -489,7 +487,7 @@ class coverage(object): mf, ws = get_mapfile_workspace(map_name, ws_name) # We need to check if there are any layers using this. - assert_is_empty(mg.iter_layers(mra={"name":c_name, "workspace":ws_name, "storage":cs_name, "type":"coverage"}), + assert_is_empty(mf.iter_layers(mra={"name":c_name, "workspace":ws_name, "storage":cs_name, "type":"coverage"}), "coverage", ft_name) with webapp.mightNotFound("coverage", coveragestore=cs_name):