From 4e92a55cd1b7e5021595bdd35aa19a4384f4b1d7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ma=C3=ABl=20M=C3=A9liani?= <m.meliani@neogeo-online.net>
Date: Tue, 18 Jun 2013 11:20:57 +0200
Subject: [PATCH] A layer could be enabled or disabled when created.

---
 src/mapfile.py | 2 +-
 src/server.py  | 5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/mapfile.py b/src/mapfile.py
index 7da06a6..0576a1a 100644
--- a/src/mapfile.py
+++ b/src/mapfile.py
@@ -80,6 +80,7 @@ class Layer(MetadataMixin):
 
     def enable(self, enabled=True):
         requests = ["GetCapabilities", "GetMap", "GetFeatureInfo", "GetLegendGraphic"]
+        self.ms.status = mapscript.MS_ON if enabled else mapscript.MS_OFF
         self.ms.setMetaData("wms_enable_request",  " ".join(('%s' if enabled else "!%s") % c for c in requests))
 
     def get_type_name(self):
@@ -796,7 +797,6 @@ class Mapfile(MetadataMixin):
         # but everything should be configured() anyway.
         layer = Layer(model.ms.clone())
         layer.ms.name = l_name
-        layer.ms.status = mapscript.MS_ON
         layer.ms.dump = mapscript.MS_TRUE
         layer.ms.tolerance = 6
         layer.ms.toleranceunits = mapscript.MS_PIXELS
diff --git a/src/server.py b/src/server.py
index 180799c..5c0ed2c 100755
--- a/src/server.py
+++ b/src/server.py
@@ -672,8 +672,9 @@ class layers(object):
 
     @HTTPCompatible()
     def POST(self, map_name, format):
-        data = get_data(name="layer", mandatory=["name", "resource"],
-                        authorized=["name", "title", "abstract", "resource"])
+        data = get_data(name="layer",
+                        mandatory=["name", "resource"],
+                        authorized=["name", "title", "abstract", "resource", "enabled"])
 
         l_name = data.pop("name")
         l_enabled = data.pop("enabled", True)
-- 
GitLab