diff --git a/api-authorizations/build.conf b/api-authorizations/build.conf
index 0c54835d5..85ea970e7 100644
--- a/api-authorizations/build.conf
+++ b/api-authorizations/build.conf
@@ -22,7 +22,7 @@ for API tokens.
"""
# - x.y(.z): plugin major.minor.micro. Micro should be omitted. When omitted, z is assumed to be 0.
# For the build, we split the information between two properties, rudder branch and plugin version,
# which must be concaneted with "-" to build the plugin version.
-plugin-branch=1.1-SNAPSHOT
+plugin-branch=1.1
# rudder branch comes from parent
plugin-version=${rudder-branch}-${plugin-branch}
diff --git a/api-authorizations/src/main/scala/bootstrap/rudder/plugin/ApiAuthorizationsConf.scala b/api-authorizations/src/main/scala/bootstrap/rudder/plugin/ApiAuthorizationsConf.scala
index 52ee0a1eb..1e49bac5b 100644
--- a/api-authorizations/src/main/scala/bootstrap/rudder/plugin/ApiAuthorizationsConf.scala
+++ b/api-authorizations/src/main/scala/bootstrap/rudder/plugin/ApiAuthorizationsConf.scala
@@ -62,7 +62,9 @@ object ApiAuthorizationsConf {
lazy val pluginStatusService = new CheckRudderPluginEnableImpl()
// override default service level
- RudderConfig.apiAuthorizationLevelService.overrideLevel(AclLevel)
+ if(pluginStatusService.isEnabled) {
+ RudderConfig.apiAuthorizationLevelService.overrideLevel(AclLevel)
+ }
lazy val userApi = new UserApi(
RudderConfig.restExtractorService
@@ -80,8 +82,8 @@ object ApiAuthorizationsConf {
class ApiAuthorizationPluginConf extends Loggable with ApplicationContextAware with InitializingBean {
@Bean def apiAuthorizationsModuleDef = new ApiAuthorizationsPluginDef(ApiAuthorizationsConf.pluginStatusService)
- @Bean def apiAccountsExtention = new ApiAccountsExtension()
- @Bean def userInformationExtention = new UserInformationExtension()
+ @Bean def apiAccountsExtention = new ApiAccountsExtension(ApiAuthorizationsConf.pluginStatusService)
+ @Bean def userInformationExtention = new UserInformationExtension(ApiAuthorizationsConf.pluginStatusService)
// spring thingies
var appContext : ApplicationContext = null
diff --git a/api-authorizations/src/main/scala/com/normation/plugins/apiauthorizations/ApiAccountsExtension.scala b/api-authorizations/src/main/scala/com/normation/plugins/apiauthorizations/ApiAccountsExtension.scala
index df657be5a..e4c89385f 100644
--- a/api-authorizations/src/main/scala/com/normation/plugins/apiauthorizations/ApiAccountsExtension.scala
+++ b/api-authorizations/src/main/scala/com/normation/plugins/apiauthorizations/ApiAccountsExtension.scala
@@ -38,6 +38,7 @@
package com.normation.plugins.apiauthorizations
import bootstrap.liftweb.PluginsInfo
+import com.normation.plugins.PluginStatus
import com.normation.plugins.{SnippetExtensionKey, SnippetExtensionPoint}
import com.normation.rudder.rest.AllApi
import com.normation.rudder.rest.ApiKind
@@ -47,14 +48,16 @@ import net.liftweb.util.Helpers._
import scala.xml.NodeSeq
-class ApiAccountsExtension extends SnippetExtensionPoint[ApiAccounts] with Loggable {
+class ApiAccountsExtension(status: PluginStatus) extends SnippetExtensionPoint[ApiAccounts] with Loggable {
val extendsAt = SnippetExtensionKey(classOf[ApiAccounts].getSimpleName)
+ def guard(f: NodeSeq => NodeSeq)(xml: NodeSeq): NodeSeq = if(status.isEnabled()) f(xml) else xml
+
def compose(snippet: ApiAccounts) : Map[String, NodeSeq => NodeSeq] = Map(
- "render" -> render _
+ "render" -> render _
, "body" -> body _
- )
+ ).mapValues(guard _)
/*
diff --git a/api-authorizations/src/main/scala/com/normation/plugins/apiauthorizations/UserInformationExtension.scala b/api-authorizations/src/main/scala/com/normation/plugins/apiauthorizations/UserInformationExtension.scala
index 298534f12..a324fd61c 100644
--- a/api-authorizations/src/main/scala/com/normation/plugins/apiauthorizations/UserInformationExtension.scala
+++ b/api-authorizations/src/main/scala/com/normation/plugins/apiauthorizations/UserInformationExtension.scala
@@ -1,5 +1,6 @@
package com.normation.plugins.apiauthorizations
+import com.normation.plugins.PluginStatus
import com.normation.plugins.{SnippetExtensionKey, SnippetExtensionPoint}
import com.normation.rudder.web.snippet.UserInformation
import net.liftweb.common.Loggable
@@ -7,13 +8,15 @@ import net.liftweb.util.Helpers._
import scala.xml.NodeSeq
-class UserInformationExtension extends SnippetExtensionPoint[UserInformation] with Loggable {
+class UserInformationExtension(status: PluginStatus) extends SnippetExtensionPoint[UserInformation] with Loggable {
val extendsAt = SnippetExtensionKey(classOf[UserInformation].getSimpleName)
+ def guard(f: NodeSeq => NodeSeq)(xml: NodeSeq): NodeSeq = if(status.isEnabled()) f(xml) else xml
+
def compose(snippet: UserInformation) : Map[String, NodeSeq => NodeSeq] = Map(
"userCredentials" -> render _
- )
+ ).mapValues(guard _)
def render(xml:NodeSeq) = {
/* xml is a menu entry which looks like:
diff --git a/branding/build.conf b/branding/build.conf
index f7563ea08..0d5852b15 100644
--- a/branding/build.conf
+++ b/branding/build.conf
@@ -23,7 +23,7 @@ plugin-web-description="""
# - x.y(.z): plugin major.minor.micro. Micro should be omitted. When omitted, z is assumed to be 0.
# For the build, we split the information between two properties, rudder branch and plugin version,
# which must be concaneted with "-" to build the plugin version.
-plugin-branch=1.2-SNAPSHOT
+plugin-branch=1.2
# rudder branch comes from parent
plugin-version=${rudder-branch}-${plugin-branch}
diff --git a/branding/src/main/assembly/plugin-with-own-dependencies.xml b/branding/src/main/assembly/plugin-with-own-dependencies.xml
deleted file mode 100644
index 1bb8ac21b..000000000
--- a/branding/src/main/assembly/plugin-with-own-dependencies.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
- plugin-with-own-dependencies
-
- jar
- dir
-
- false
-
-
-
- /
- true
- true
- runtime
- true
-
-
-
-
-
-
diff --git a/branding/src/main/scala/bootstrap/rudder/plugin/BrandingConf.scala b/branding/src/main/scala/bootstrap/rudder/plugin/BrandingConf.scala
index 0399a3b08..00038d6cc 100644
--- a/branding/src/main/scala/bootstrap/rudder/plugin/BrandingConf.scala
+++ b/branding/src/main/scala/bootstrap/rudder/plugin/BrandingConf.scala
@@ -74,8 +74,8 @@ class BrandingPluginConf extends Loggable with ApplicationContextAware with Init
// spring thingies
var appContext : ApplicationContext = null
- val commonBranding = new CommonBranding
- val loginBranding = new LoginBranding
+ @Bean def commonBranding = new CommonBranding(BrandingPluginConf.pluginStatusService)
+ @Bean def loginBranding = new LoginBranding(BrandingPluginConf.pluginStatusService, brandingModuleDef.version)
override def afterPropertiesSet() : Unit = {
val ext = appContext.getBean(classOf[SnippetExtensionRegister])
ext.register(commonBranding)
diff --git a/branding/src/main/scala/com/normation/plugins/branding/snippet/CommonBranding.scala b/branding/src/main/scala/com/normation/plugins/branding/snippet/CommonBranding.scala
index 4a11465d9..49ffd9679 100644
--- a/branding/src/main/scala/com/normation/plugins/branding/snippet/CommonBranding.scala
+++ b/branding/src/main/scala/com/normation/plugins/branding/snippet/CommonBranding.scala
@@ -44,18 +44,21 @@ import net.liftweb.common.{Full, Loggable}
import net.liftweb.util._
import Helpers._
import bootstrap.rudder.plugin.BrandingPluginConf
+import com.normation.plugins.PluginStatus
import scala.xml.NodeSeq
-class CommonBranding extends SnippetExtensionPoint[CommonLayout] with Loggable {
+class CommonBranding(status: PluginStatus) extends SnippetExtensionPoint[CommonLayout] with Loggable {
val extendsAt = SnippetExtensionKey(classOf[CommonLayout].getSimpleName)
+ def guard(f: NodeSeq => NodeSeq)(xml: NodeSeq): NodeSeq = if(status.isEnabled()) f(xml) else xml
+
def compose(snippet:CommonLayout) : Map[String, NodeSeq => NodeSeq] = Map(
"display" -> display _
- )
+ ).mapValues(guard _)
private [this] val confRepo = BrandingPluginConf.brandingConfService
@@ -74,7 +77,6 @@ class CommonBranding extends SnippetExtensionPoint[CommonLayout] with Loggable
case _ => NodeSeq.Empty
}
("* -*" #> bar).apply(xml)
-
}
}
diff --git a/branding/src/main/scala/com/normation/plugins/branding/snippet/LoginBranding.scala b/branding/src/main/scala/com/normation/plugins/branding/snippet/LoginBranding.scala
index 29d187a82..54c75cde8 100644
--- a/branding/src/main/scala/com/normation/plugins/branding/snippet/LoginBranding.scala
+++ b/branding/src/main/scala/com/normation/plugins/branding/snippet/LoginBranding.scala
@@ -39,6 +39,8 @@
package com.normation.plugins.branding.snippet
import bootstrap.rudder.plugin.BrandingPluginConf
+import com.normation.plugins.PluginStatus
+import com.normation.plugins.PluginVersion
import com.normation.plugins.{SnippetExtensionKey, SnippetExtensionPoint}
import com.normation.rudder.web.snippet.Login
import net.liftweb.common.{Full, Loggable}
@@ -47,12 +49,15 @@ import net.liftweb.util.Helpers._
import scala.xml.NodeSeq
-class LoginBranding extends SnippetExtensionPoint[Login] with Loggable {
+class LoginBranding(status: PluginStatus, version: PluginVersion) extends SnippetExtensionPoint[Login] with Loggable {
val extendsAt = SnippetExtensionKey(classOf[Login].getSimpleName)
+ def guard(f: NodeSeq => NodeSeq)(xml: NodeSeq): NodeSeq = if(status.isEnabled()) f(xml) else xml
+
def compose(snippet:Login) : Map[String, NodeSeq => NodeSeq] = Map(
- "display" -> display _)
+ "display" -> display _
+ ).mapValues(guard _)
private [this] val confRepo = BrandingPluginConf.brandingConfService
@@ -61,7 +66,7 @@ class LoginBranding extends SnippetExtensionPoint[Login] with Loggable {
val legend =
- ${{rudder-major-version}}
+ {version.prefix.replaceAll("-", "")}
val bar = data match {
case Full(data) if (data.displayBarLogin) =>
@@ -94,7 +99,5 @@ class LoginBranding extends SnippetExtensionPoint[Login] with Loggable {
( ".legend" #> legendBar &
".welcome *" #> motd
) (xml)
-
}
-
}
diff --git a/node-external-reports/build.conf b/node-external-reports/build.conf
index 24e57633d..ae4562363 100644
--- a/node-external-reports/build.conf
+++ b/node-external-reports/build.conf
@@ -26,7 +26,7 @@ plugin-web-description=This is a plugin that allows to disaply external text
# - x.y(.z): plugin major.minor.micro. Micro should be omitted. When omitted, z is assumed to be 0.
# For the build, we split the information between two properties, rudder branch and plugin version,
# which must be concaneted with "-" to build the plugin version.
-plugin-branch=1.6-SNAPSHOT
+plugin-branch=1.6
# rudder branch comes from parent
plugin-version=${rudder-branch}-${plugin-branch}
diff --git a/node-external-reports/pom-template.xml b/node-external-reports/pom-template.xml
index 4cf9b010b..85fc0057e 100644
--- a/node-external-reports/pom-template.xml
+++ b/node-external-reports/pom-template.xml
@@ -20,6 +20,10 @@
of report available for the node.
+
+ nodeexternalreports
+
+
diff --git a/node-external-reports/src/main/scala/bootstrap/rudder/plugin/NodeExternalReportsConf.scala b/node-external-reports/src/main/scala/bootstrap/rudder/plugin/NodeExternalReportsConf.scala
index 357c4ec7d..404cf5e36 100644
--- a/node-external-reports/src/main/scala/bootstrap/rudder/plugin/NodeExternalReportsConf.scala
+++ b/node-external-reports/src/main/scala/bootstrap/rudder/plugin/NodeExternalReportsConf.scala
@@ -96,6 +96,6 @@ class NodeExternalReportsPluginConf extends Loggable with ApplicationContextAwar
@Bean def nodeExternalReportDef = new NodeExternalReportsPluginDef(externalNodeReportApi, NodeExternalReportsConf.pluginStatusService)
- @Bean def tabExtension = new CreateNodeDetailsExtension(readReport)
+ @Bean def tabExtension = new CreateNodeDetailsExtension(readReport, NodeExternalReportsConf.pluginStatusService)
}
diff --git a/node-external-reports/src/main/scala/com/normation/plugins/nodeexternalreports/extension/CreateNodeDetailsExtension.scala b/node-external-reports/src/main/scala/com/normation/plugins/nodeexternalreports/extension/CreateNodeDetailsExtension.scala
index 1380465e0..d77a231d1 100644
--- a/node-external-reports/src/main/scala/com/normation/plugins/nodeexternalreports/extension/CreateNodeDetailsExtension.scala
+++ b/node-external-reports/src/main/scala/com/normation/plugins/nodeexternalreports/extension/CreateNodeDetailsExtension.scala
@@ -36,6 +36,8 @@
package com.normation.plugins.nodeexternalreports.extension
+import com.normation.plugins.PluginStatus
+
import scala.xml.NodeSeq
import com.normation.plugins.{SnippetExtensionKey, SnippetExtensionPoint}
import com.normation.rudder.web.components.ShowNodeDetailsFromNode
@@ -45,14 +47,16 @@ import net.liftweb.util.Helpers._
import com.normation.plugins.nodeexternalreports.service.ReadExternalReports
import com.normation.plugins.nodeexternalreports.service.NodeExternalReport
-class CreateNodeDetailsExtension(externalReport: ReadExternalReports) extends SnippetExtensionPoint[ShowNodeDetailsFromNode] with Loggable {
+class CreateNodeDetailsExtension(externalReport: ReadExternalReports, status: PluginStatus) extends SnippetExtensionPoint[ShowNodeDetailsFromNode] with Loggable {
val extendsAt = SnippetExtensionKey(classOf[ShowNodeDetailsFromNode].getSimpleName)
+ def guard(f: NodeSeq => NodeSeq)(xml: NodeSeq): NodeSeq = if(status.isEnabled()) f(xml) else xml
+
def compose(snippet: ShowNodeDetailsFromNode) : Map[String, NodeSeq => NodeSeq] = Map(
- "popupDetails" -> addExternalReportTab(snippet) _
- , "mainDetails" -> addExternalReportTab(snippet) _
- )
+ "popupDetails" -> addExternalReportTab(snippet) _
+ , "mainDetails" -> addExternalReportTab(snippet) _
+ ).mapValues(guard _)
/**
* Add a tab: