156 lines
2.8 KiB
Bash
156 lines
2.8 KiB
Bash
#!/bin/sh
|
|
|
|
: ${DIALOG_OK=0}
|
|
: ${DIALOG_CANCEL=1}
|
|
: ${DIALOG_HELP=2}
|
|
: ${DIALOG_EXTRA=3}
|
|
: ${DIALOG_ITEM_HELP=4}
|
|
: ${DIALOG_ESC=255}
|
|
|
|
DIALOG=dialog
|
|
|
|
CONFIG_VARS="DATABASE_URI"
|
|
|
|
set_env_var () {
|
|
exec 3>&1
|
|
source .env
|
|
load_config
|
|
local value=$($DIALOG \
|
|
--backtitle "Configuration" \
|
|
--title $1 \
|
|
--inputbox "Veuillez insérez la nouvelle valeur de la variable ${1}:" \
|
|
0 0 \
|
|
${!1} \
|
|
2>&1 1>&3)
|
|
local exit_status=$?
|
|
exec 3>&-
|
|
close $exit_status
|
|
export $1=$value
|
|
save_config
|
|
}
|
|
|
|
close () {
|
|
case $1 in
|
|
$DIALOG_CANCEL)
|
|
exit;;
|
|
$DIALOG_ESC)
|
|
exit;;
|
|
esac
|
|
}
|
|
|
|
load_config () {
|
|
source .env
|
|
}
|
|
|
|
save_config () {
|
|
export -p | grep -E "(${CONFIG_VARS})=" > .env
|
|
}
|
|
|
|
bdd_config () {
|
|
exec 3>&1
|
|
local selection=$($DIALOG \
|
|
--backtitle "Base de donnée" \
|
|
--menu "Que souhaitez vous faire?" \
|
|
0 0 0 \
|
|
"1" "manage db init" \
|
|
"2" "manage db migrate" \
|
|
"3" "manage db upgrade" \
|
|
2>&1 1>&3)
|
|
local exit_status=$?
|
|
exec 3>&-
|
|
close $exit_status
|
|
source .env
|
|
case $selection in
|
|
1)
|
|
pipenv run python manage.py db init;;
|
|
2)
|
|
pipenv run python manage.py db migrate;;
|
|
3)
|
|
pipenv run python manage.py db upgrade;;
|
|
esac
|
|
}
|
|
|
|
add_super_admin () {
|
|
exec 3>&1
|
|
local utilisateur=$($DIALOG \
|
|
--backtitle "Utilitaires" \
|
|
--title "Administrateurs" \
|
|
--inputbox "Entrez le mail de l'utilisateur que vous voulez passer en superadministrateur" \
|
|
0 0 \
|
|
"" \
|
|
2>&1 1>&3)
|
|
local exit_status=$?
|
|
exec 3>&-
|
|
close $exit_status
|
|
source .env
|
|
pipenv run python manage.py set_superadmin -m "${utilisateur}"
|
|
exit
|
|
}
|
|
|
|
configuration () {
|
|
exec 3>&1
|
|
local selection=$($DIALOG \
|
|
--backtitle "Configuration" \
|
|
--menu "Quelle variable modifier?" \
|
|
0 0 0 \
|
|
"1" "DATABASE_URI" \
|
|
2>&1 1>&3)
|
|
exit_status=$?
|
|
exec 3>&-
|
|
close $exit_status
|
|
case $selection in
|
|
1)
|
|
set_env_var "DATABASE_URI";;
|
|
esac
|
|
}
|
|
|
|
utilitaires () {
|
|
exec 3>&1
|
|
selection=$($DIALOG \
|
|
--backtitle "Utilitaires" \
|
|
--menu "Que voulez vous faire?" \
|
|
0 0 0 \
|
|
"1" "Ajouter un superadministrateur" \
|
|
"2" "Installation de pipenv" \
|
|
2>&1 1>&3)
|
|
exit_status=$?
|
|
exec 3>&-
|
|
close $exit_status
|
|
case $selection in
|
|
1)
|
|
add_super_admin;;
|
|
2)
|
|
pipenv install;;
|
|
esac
|
|
}
|
|
|
|
while true; do
|
|
exec 3>&1
|
|
selection=$($DIALOG \
|
|
--backtitle "Configuration" \
|
|
--menu "Que souhaitez vous faire?" \
|
|
0 0 0 \
|
|
"1" "Gestion de la base de donnée" \
|
|
"2" "Configuration" \
|
|
"3" "Utilitaires" \
|
|
"4" "Démarre le serveur" \
|
|
"5" "Quitter" \
|
|
2>&1 1>&3)
|
|
exit_status=$?
|
|
exec 3>&-
|
|
close $exit_status
|
|
case $selection in
|
|
1)
|
|
bdd_config;;
|
|
2)
|
|
configuration;;
|
|
3)
|
|
utilitaires;;
|
|
4)
|
|
source .env
|
|
pipenv run gunicorn --bind 0.0.0.0:5000 wsgy;;
|
|
5)
|
|
exit;;
|
|
esac
|
|
done
|