From 0a9c5522ec715ff2036e9a627f9e0ae78532574d Mon Sep 17 00:00:00 2001
From: Arthur BOUDREAULT <arthur@lydra.fr>
Date: Tue, 14 Mar 2023 10:49:39 +0100
Subject: [PATCH] fix(ynh_config): SMTP enable

---
 roles/ynh_config/README-FR.md         | 4 ++--
 roles/ynh_config/README.md            | 4 ++--
 roles/ynh_config/defaults/main.yml    | 1 +
 roles/ynh_config/tasks/main.yml       | 8 ++++++++
 roles/ynh_config/tasks/smtp_relay.yml | 2 +-
 5 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/roles/ynh_config/README-FR.md b/roles/ynh_config/README-FR.md
index e23b072..1fee277 100644
--- a/roles/ynh_config/README-FR.md
+++ b/roles/ynh_config/README-FR.md
@@ -15,7 +15,7 @@ Les variables par défaut sont disponibles dans `default/main.yml` cependant il
 ### Configuration d'un relais SMTP
 
 ```yml
-# paramètres personnalisés du relais SMTP
+ynh_smtp_relay_enabled: "yes"
 ynh_smtp_relay:
     host: smtp.domain.tld
     port: 25
@@ -24,7 +24,7 @@ ynh_smtp_relay:
 ```
 
 Yunohost possède son propre serveur SMTP natif mais il est aussi possible de configurer Yunohost pour qu'il utilise un relais SMTP à la place.
-Pour faire cela, créez la variable `ynh_smtp_relay` et mettez vos propres valeurs. Vous pouvez en apprendre plus sur les relais SMTP [ici](https://yunohost.org/fr/administrate/specific_use_cases/email_relay).
+Pour faire cela, mettez la variable `ynh_smtp_relay_enabled` à `yes` et créez la variable `ynh_smtp_relay` pour y mettre vos propres valeurs. Vous pouvez en apprendre plus sur les relais SMTP [ici](https://yunohost.org/fr/administrate/specific_use_cases/email_relay).
 
 ### Configuration des mises à jour
 
diff --git a/roles/ynh_config/README.md b/roles/ynh_config/README.md
index e072a1c..96cb947 100644
--- a/roles/ynh_config/README.md
+++ b/roles/ynh_config/README.md
@@ -15,7 +15,7 @@ Default variables are available in `default/main.yml` however it is necessary to
 ### SMTP relay configuration
 
 ```yml
-# SMTP custom settings
+ynh_smtp_relay_enabled: "yes"
 ynh_smtp_relay:
     host: smtp.domain.tld
     port: 25
@@ -24,7 +24,7 @@ ynh_smtp_relay:
 ```
 
 There is a built-in SMTP server on Yunohost but you can also set up Yunohost to use a SMTP relay instead.
-In order to do so, create the `ynh_smtp_relay` variable and provide your own values. You can learn more about SMTP relay [here](https://yunohost.org/en/administrate/specific_use_cases/email_relay).
+In order to do so, set the `ynh_smtp_relay_enabled` variable to `yes` and create the `ynh_smtp_relay` variable in order to provide your own values. You can learn more about SMTP relay [here](https://yunohost.org/en/administrate/specific_use_cases/email_relay).
 
 ### Updates configuration
 
diff --git a/roles/ynh_config/defaults/main.yml b/roles/ynh_config/defaults/main.yml
index 1359ca3..0c2bd1d 100644
--- a/roles/ynh_config/defaults/main.yml
+++ b/roles/ynh_config/defaults/main.yml
@@ -25,6 +25,7 @@ ynh_smtp_relay:
 
 # SMTP custom settings (Only override if you need a SMTP relay)
 # Example:
+ynh_smtp_relay_enabled: no
 # ynh_smtp_relay:
     # host: smtp.domain.tld
     # port: "25"
diff --git a/roles/ynh_config/tasks/main.yml b/roles/ynh_config/tasks/main.yml
index 7f5af93..4ebb42d 100644
--- a/roles/ynh_config/tasks/main.yml
+++ b/roles/ynh_config/tasks/main.yml
@@ -18,6 +18,14 @@
 #                                                                             #
 #-----------------------------------------------------------------------------#
 
+- name: Enable SMTP relay configuration
+  ansible.builtin.command:
+    "yunohost settings set email.smtp.smtp_relay_enabled -v {{ ynh_smtp_relay_enabled | default('no') }}"
+  when: ynh_smtp_relay_enabled
+  tags:
+    - yunohost
+    - smtp
+
 - name: Configure SMTP relay
   ansible.builtin.include_tasks: smtp_relay.yml
   loop: "{{ ynh_smtp_relay | dict2items }}"
diff --git a/roles/ynh_config/tasks/smtp_relay.yml b/roles/ynh_config/tasks/smtp_relay.yml
index 02de043..a3f68b3 100644
--- a/roles/ynh_config/tasks/smtp_relay.yml
+++ b/roles/ynh_config/tasks/smtp_relay.yml
@@ -22,7 +22,7 @@
   ansible.builtin.command:
     "yunohost settings get smtp.relay.{{ item.key }}"
   register: _ynh_smtp_current_values
-  changed_when: False
+  changed_when: false
   tags:
     - yunohost
     - smtp
-- 
GitLab