From 480a6ec32cd408b25307106f8b6ac1be32692533 Mon Sep 17 00:00:00 2001 From: Kay0u Date: Wed, 15 Sep 2021 15:28:07 +0200 Subject: [PATCH 1/7] remove old actions and config panel --- actions.json | 24 ---------------- config_panel.json | 42 --------------------------- scripts/actions/web_account | 57 ------------------------------------- 3 files changed, 123 deletions(-) delete mode 100644 actions.json delete mode 100644 config_panel.json delete mode 100644 scripts/actions/web_account diff --git a/actions.json b/actions.json deleted file mode 100644 index e283eca..0000000 --- a/actions.json +++ /dev/null @@ -1,24 +0,0 @@ -[ - { - "id": "web_account", - "name": "External users", - "command": "/bin/bash scripts/actions/web_account", - "user": "root", - "accepted_return_codes": [ - 0 - ], - "description": { - "en": "Allow user to be created without yunohost account." - }, - "arguments": [ - { - "name": "use_web_account", - "type": "boolean", - "ask": { - "en": "Authorized external user creation ?" - }, - "default": true - } - ] - } -] \ No newline at end of file diff --git a/config_panel.json b/config_panel.json deleted file mode 100644 index 9366c54..0000000 --- a/config_panel.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "GitLab configuration panel", - "version": "0.1", - "panel": [ - { - "name": "GitLab configuration", - "id": "main", - "sections": [ - { - "name": "Overwriting config files", - "id": "overwrite_files", - "options": [ - { - "name": "overwrite_nginx", - "ask": { - "en": "Overwrite the nginx config file ?" - }, - "help": "If the file is overwritten, a backup will be created.", - "type": "boolean", - "default": true - } - ] - }, - { - "name": "External users", - "id": "users", - "options": [ - { - "name": "use_web_account", - "ask": { - "en": "Authorized external user creation ?" - }, - "help": "Allow user to be created without yunohost account.", - "type": "boolean", - "default": true - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/scripts/actions/web_account b/scripts/actions/web_account deleted file mode 100644 index 4f6111a..0000000 --- a/scripts/actions/web_account +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash - -#================================================= -# GENERIC STARTING -#================================================= -# IMPORT GENERIC HELPERS -#================================================= - -source scripts/_common.sh -source /usr/share/yunohost/helpers - -#================================================= -# RETRIEVE ARGUMENTS -#================================================= - -# Get use_web_account -use_web_account=${YNH_ACTION_USE_WEB_ACCOUNT} - -app=${YNH_APP_INSTANCE_NAME:-$YNH_APP_ID} - -#================================================= -# CHECK IF ARGUMENTS ARE CORRECT -#================================================= - -#================================================= -# CHECK IF AN ACTION HAS TO BE DONE -#================================================= - -use_web_account_old=$(ynh_app_setting_get --app=$app --key=use_web_account) - -if [ $use_web_account -eq $use_web_account_old ] -then - ynh_die "use_web_account is already set as $use_web_account." 0 -fi - -#================================================= -# SPECIFIC ACTION -#================================================= -# SET USER CREATION POLICY -#================================================= -if [ $use_web_account -eq 0 ]; then - web_account="Enable" -else - web_account="Disable" -fi -ynh_script_progression --message=--message="$web_account web user creation..." --weight=13 - -echo "ApplicationSetting.last.update_attributes(password_authentication_enabled_for_web: $use_web_account, signup_enabled: $use_web_account)" | gitlab-rails console - -# Update the config of the app -ynh_app_setting_set --app=$app --key=use_web_account --value=$use_web_account - -#================================================= -# END OF SCRIPT -#================================================= - -ynh_script_progression --message="Execution completed" --last \ No newline at end of file From 7e3bcd27f77b3d05dc87c77a8b5750a08cc95ac7 Mon Sep 17 00:00:00 2001 From: Kay0u Date: Wed, 15 Sep 2021 15:28:21 +0200 Subject: [PATCH 2/7] New config panel version --- config_panel.toml | 21 +++++++++++++++++ scripts/config | 59 +++++++++-------------------------------------- 2 files changed, 32 insertions(+), 48 deletions(-) create mode 100644 config_panel.toml diff --git a/config_panel.toml b/config_panel.toml new file mode 100644 index 0000000..aaee3ed --- /dev/null +++ b/config_panel.toml @@ -0,0 +1,21 @@ +version = "1.0" +name = "GitLab configuration panel" + +[main] +name = "GitLab configuration" + + [main.overwrite_files] + name = "Overwriting config files" + + [main.overwrite_files.overwrite_nginx] + ask = "Overwrite the nginx config file ?" + type = "boolean" + help = "If the file is overwritten, a backup will be created." + + [main.users] + name = "External users" + + [main.users.use_web_account] + ask = "Authorized external user creation ?" + type = "boolean" + bind = "null" \ No newline at end of file diff --git a/scripts/config b/scripts/config index 277cb57..004b47f 100644 --- a/scripts/config +++ b/scripts/config @@ -6,65 +6,28 @@ # IMPORT GENERIC HELPERS #================================================= -source _common.sh source /usr/share/yunohost/helpers +ynh_abort_if_errors + #================================================= # RETRIEVE ARGUMENTS #================================================= -app=${YNH_APP_INSTANCE_NAME:-$YNH_APP_ID} - - #================================================= -# LOAD VALUES +# SPECIFIC GETTERS FOR TOML SHORT KEY #================================================= -# Load the real value from the app config or elsewhere. -# Then get the value from the form. -# If the form has a value for a variable, take the value from the form, -# Otherwise, keep the value from the app config. - -# Overwrite nginx configuration -old_overwrite_nginx="$(ynh_app_setting_get --app=$app --key=overwrite_nginx)" -overwrite_nginx="${YNH_CONFIG_MAIN_OVERWRITE_FILES_OVERWRITE_NGINX:-$old_overwrite_nginx}" - -# use_web_account -old_use_web_account="$(ynh_app_setting_get --app=$app --key=use_web_account)" -use_web_account="${YNH_CONFIG_MAIN_USERS_USE_WEB_ACCOUNT:-$old_use_web_account}" - #================================================= -# SHOW_CONFIG FUNCTION FOR 'SHOW' COMMAND +# SPECIFIC SETTERS FOR TOML SHORT KEYS #================================================= -show_config() { - # here you are supposed to read some config file/database/other then print the values - # echo "YNH_CONFIG_${PANEL_ID}_${SECTION_ID}_${OPTION_ID}=value" +set__use_web_account() { + if [ -n "${use_web_account}" ] + then + echo "ApplicationSetting.last.update_attributes(password_authentication_enabled_for_web: $use_web_account, signup_enabled: $use_web_account)" | gitlab-rails console - ynh_return "YNH_CONFIG_MAIN_OVERWRITE_FILES_OVERWRITE_NGINX=$overwrite_nginx" - - ynh_return "YNH_CONFIG_MAIN_USERS_USE_WEB_ACCOUNT=$use_web_account" + # Update the config of the app + ynh_app_setting_set --app=$app --key=use_web_account --value=$use_web_account + fi } - -#================================================= -# MODIFY THE CONFIGURATION -#================================================= - -apply_config() { - # Change use_web_account - yunohost app action run $app web_account --args use_web_account=$use_web_account - - # Set overwrite_nginx - ynh_app_setting_set --app=$app --key=overwrite_nginx --value="$overwrite_nginx" -} - -#================================================= -# GENERIC FINALIZATION -#================================================= -# SELECT THE ACTION FOLLOWING THE GIVEN ARGUMENT -#================================================= - -case $1 in - show) show_config;; - apply) apply_config;; -esac \ No newline at end of file From 9f48368d573fc18b3baa8a4653cbbcf82a5be25b Mon Sep 17 00:00:00 2001 From: Kay0u Date: Wed, 15 Sep 2021 15:32:46 +0200 Subject: [PATCH 3/7] Remove useless name key --- config_panel.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/config_panel.toml b/config_panel.toml index aaee3ed..04fc2b6 100644 --- a/config_panel.toml +++ b/config_panel.toml @@ -1,5 +1,4 @@ version = "1.0" -name = "GitLab configuration panel" [main] name = "GitLab configuration" From d61999e293b3c9c7237a70ab030fe6a0467b97fe Mon Sep 17 00:00:00 2001 From: Kay0u Date: Wed, 15 Sep 2021 16:01:49 +0200 Subject: [PATCH 4/7] fix the config panel --- scripts/config | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/config b/scripts/config index 004b47f..025538b 100644 --- a/scripts/config +++ b/scripts/config @@ -14,6 +14,8 @@ ynh_abort_if_errors # RETRIEVE ARGUMENTS #================================================= +final_path=$(ynh_app_setting_get --app=$app --key=final_path) + #================================================= # SPECIFIC GETTERS FOR TOML SHORT KEY #================================================= @@ -31,3 +33,8 @@ set__use_web_account() { ynh_app_setting_set --app=$app --key=use_web_account --value=$use_web_account fi } + +#================================================= +# GENERIC FINALIZATION +#================================================= +ynh_app_config_run $1 \ No newline at end of file From fe6e7bc3648c820812bd204038a8772b0e8b5f7b Mon Sep 17 00:00:00 2001 From: Kay0u Date: Wed, 15 Sep 2021 16:34:50 +0200 Subject: [PATCH 5/7] update_attributes is now update --- scripts/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/config b/scripts/config index 025538b..78b5566 100644 --- a/scripts/config +++ b/scripts/config @@ -27,7 +27,7 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path) set__use_web_account() { if [ -n "${use_web_account}" ] then - echo "ApplicationSetting.last.update_attributes(password_authentication_enabled_for_web: $use_web_account, signup_enabled: $use_web_account)" | gitlab-rails console + echo "ApplicationSetting.last.update(password_authentication_enabled_for_web: $use_web_account, signup_enabled: $use_web_account)" | gitlab-rails console # Update the config of the app ynh_app_setting_set --app=$app --key=use_web_account --value=$use_web_account From 288ac68099767b181e5ebaec9f384e773cf68652 Mon Sep 17 00:00:00 2001 From: Kay0u Date: Thu, 16 Sep 2021 11:31:35 +0200 Subject: [PATCH 6/7] final_path not needed anymore --- scripts/config | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/config b/scripts/config index 78b5566..6e70251 100644 --- a/scripts/config +++ b/scripts/config @@ -14,8 +14,6 @@ ynh_abort_if_errors # RETRIEVE ARGUMENTS #================================================= -final_path=$(ynh_app_setting_get --app=$app --key=final_path) - #================================================= # SPECIFIC GETTERS FOR TOML SHORT KEY #================================================= From 5bef9d79065b9aca5ec3cf40a65676b9e973708d Mon Sep 17 00:00:00 2001 From: Kay0u Date: Tue, 21 Sep 2021 23:12:20 +0200 Subject: [PATCH 7/7] bind is not required here --- config_panel.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/config_panel.toml b/config_panel.toml index 04fc2b6..c44664d 100644 --- a/config_panel.toml +++ b/config_panel.toml @@ -16,5 +16,4 @@ name = "GitLab configuration" [main.users.use_web_account] ask = "Authorized external user creation ?" - type = "boolean" - bind = "null" \ No newline at end of file + type = "boolean" \ No newline at end of file