From d1bdb81e34b2e9cd35869826d09ccfe5fe444e45 Mon Sep 17 00:00:00 2001 From: ElaadF Date: Thu, 15 Apr 2021 12:36:31 +0200 Subject: [PATCH] Fixes #19150: Add option to disable email notifications for change-request --- .../main/scala/com/normation/appconfig/ConfigService.scala | 7 +++++++ .../scala/com/normation/rudder/rest/lift/SettingsApi.scala | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/webapp/sources/rudder/rudder-rest/src/main/scala/com/normation/appconfig/ConfigService.scala b/webapp/sources/rudder/rudder-rest/src/main/scala/com/normation/appconfig/ConfigService.scala index 1677b2356fb..2e993918ce2 100644 --- a/webapp/sources/rudder/rudder-rest/src/main/scala/com/normation/appconfig/ConfigService.scala +++ b/webapp/sources/rudder/rudder-rest/src/main/scala/com/normation/appconfig/ConfigService.scala @@ -103,6 +103,7 @@ trait ReadConfigService { def rudder_workflow_enabled(): IOResult[Boolean] def rudder_workflow_self_validation(): IOResult[Boolean] def rudder_workflow_self_deployment(): IOResult[Boolean] + def rudder_workflow_email_notification_enabled(): IOResult[Boolean] /** * CFEngine server properties @@ -253,6 +254,7 @@ trait UpdateConfigService { def set_rudder_workflow_enabled(value: Boolean): IOResult[Unit] def set_rudder_workflow_self_validation(value: Boolean): IOResult[Unit] def set_rudder_workflow_self_deployment(value: Boolean): IOResult[Unit] + def set_rudder_workflow_email_notification_enabled(value: Boolean): IOResult[Unit] /** * Set CFEngine server properties @@ -401,6 +403,7 @@ class LDAPBasedConfigService( rudder.ui.changeMessage.mandatory=false rudder.ui.changeMessage.explanation=Please enter a reason explaining this change. rudder.workflow.enabled=false + rudder.workflow.email.notification.enabled=false rudder.workflow.self.validation=false rudder.workflow.self.deployment=true cfengine.server.denybadclocks=true @@ -578,6 +581,8 @@ class LDAPBasedConfigService( false.succeed } } + + def rudder_workflow_email_notification_enabled() = get("rudder_workflow_email_notification_enabled") def rudder_workflow_self_validation() = get("rudder_workflow_self_validation") def rudder_workflow_self_deployment() = get("rudder_workflow_self_deployment") def set_rudder_workflow_enabled(value: Boolean): IOResult[Unit] = { @@ -588,6 +593,8 @@ class LDAPBasedConfigService( Inconsistency("You can't change the change validation workflow type. Perhaps are you missing the 'changes validation' plugin?").fail } } + + def set_rudder_workflow_email_notification_enabled(value: Boolean): IOResult[Unit] = save("rudder_workflow_email_notification_enabled", value) def set_rudder_workflow_self_validation(value: Boolean): IOResult[Unit] = save("rudder_workflow_self_validation", value) def set_rudder_workflow_self_deployment(value: Boolean): IOResult[Unit] = save("rudder_workflow_self_deployment", value) diff --git a/webapp/sources/rudder/rudder-rest/src/main/scala/com/normation/rudder/rest/lift/SettingsApi.scala b/webapp/sources/rudder/rudder-rest/src/main/scala/com/normation/rudder/rest/lift/SettingsApi.scala index 20679be88df..ab075340aa3 100644 --- a/webapp/sources/rudder/rudder-rest/src/main/scala/com/normation/rudder/rest/lift/SettingsApi.scala +++ b/webapp/sources/rudder/rudder-rest/src/main/scala/com/normation/rudder/rest/lift/SettingsApi.scala @@ -111,6 +111,7 @@ class SettingsApi( RestChangeMessageManadatory :: RestChangeMessagePrompt :: RestChangeRequestEnabled :: + RestChangeRequestEmailNotification :: RestChangeRequestSelfValidation :: RestChangeRequestSelfDeployment :: RestChangesGraphs :: @@ -507,6 +508,12 @@ final case object RestChangeRequestEnabled extends RestBooleanSetting { def get = configService.rudder_workflow_enabled() def set = (value : Boolean, _, _) => configService.set_rudder_workflow_enabled(value) } +final case object RestChangeRequestEmailNotification extends RestBooleanSetting { + val startPolicyGeneration = false + val key = "enable_email_notification" + def get = configService.rudder_workflow_email_notification_enabled() + def set = (value : Boolean, _, _) => configService.set_rudder_workflow_email_notification_enabled(value) +} final case object RestChangeRequestSelfDeployment extends RestBooleanSetting { val startPolicyGeneration = false val key = "enable_self_deployment"