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 - ${{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: