From ba38103bf3b95f036aeb881f11cb69f5b357d0ed Mon Sep 17 00:00:00 2001 From: didier Date: Tue, 19 Nov 2024 21:15:47 +0100 Subject: [PATCH] =?UTF-8?q?en=20cas=20de=20domaine=20non=20kaz=20on=20ne?= =?UTF-8?q?=20fait=20pas=20la=20recherche=20dans=20le=20mattermost,=20symp?= =?UTF-8?q?a=20et=20dans=20le=20cloud=20g=C3=A9n=C3=A9ral=20la=20variable?= =?UTF-8?q?=20DOMAINE=5FEN=5FCOURS=20sert=20de=20fil=20conducteur=20dans?= =?UTF-8?q?=20le=20script?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/gestUsers.sh | 113 ++++++++++++++++++++++++++--------------------- 1 file changed, 63 insertions(+), 50 deletions(-) diff --git a/bin/gestUsers.sh b/bin/gestUsers.sh index d57ee50..4dd4f8c 100755 --- a/bin/gestUsers.sh +++ b/bin/gestUsers.sh @@ -8,7 +8,7 @@ setKazVars . $DOCKERS_ENV . $KAZ_ROOT/secret/SetAllPass.sh -VERSION="12-08-2024" +VERSION="19-11-2024" PRG=$(basename $0) RACINE=$(echo $PRG | awk '{print $1}') IFS=' ' @@ -121,6 +121,10 @@ searchEmail() { CHOIX_MAIL="" fait=0 else + # on renseigne le domaine en cours pour gérer les options non kaz.bzh + # ---------------------------------------------------------------------- + DOMAINE_EN_COURS=$(echo ${EMAIL_SOUHAITE} | sed -e 's/^.*@//') + # ---------------------------------------------------------------------- fait=1 fi done @@ -256,13 +260,13 @@ infoEmail() { } searchDestroy() { - ACTION_EN_COURS="Suppression d'un compte" clear #TODO pourquoi REP_SEARCH_DESTROY=$(searchEmail) ne marche pas et fait déconner la fonction search_mail, j' en suis la à m' esbaudir searchEmail REP_SEARCH_DESTROY=$CHOIX_MAIL echo "CHOIX=$REP_SEARCH_DESTROY" + echo "domaine en cours : ${DOMAINE_EN_COURS}" echo "--------------------------------- SUPPRESION ----------------------------------------" while : do @@ -277,51 +281,62 @@ searchDestroy() { fi if [ "$SEARCH_DESTROY_INPUT" = "o" ] || [ "$SEARCH_DESTROY_INPUT" = "O" ] then - REP_SEARCH=$(searchMattermost $REP_SEARCH_DESTROY) - printKazMsg "réponse de mattermost : ${REP_SEARCH_DESTROY}" - if [ ! -z ${REP_SEARCH} ] + ########################################################################################################################################################### + # si le domaine en cours est Kaz alors on cherche dans mattermost, dans nextcloud et on supprime + # le mail dans sympa + ########################################################################################################################################################### + if [ "${DOMAINE_EN_COURS}" = "${domain}" ] then - echo -e "${RED} suppression de ${REP_SEARCH_DESTROY} dans mattermost ${NC}" - docker exec -ti ${mattermostServName} bin/mmctl user delete ${REP_SEARCH_DESTROY} --confirm >/dev/null 2>&1 - if [ "$?" -eq "0" ] - then - printKazMsg "Suppresion ok" - else - printKazError -e "Erreur de suppression" - fi - echo " ----------------- " + REP_SEARCH=$(searchMattermost $REP_SEARCH_DESTROY) + printKazMsg "réponse de mattermost : ${REP_SEARCH_DESTROY}" + if [ ! -z ${REP_SEARCH} ] + then + echo -e "${RED} suppression de ${REP_SEARCH_DESTROY} dans mattermost ${NC}" + docker exec -ti ${mattermostServName} bin/mmctl user delete ${REP_SEARCH_DESTROY} --confirm >/dev/null 2>&1 + if [ "$?" -eq "0" ] + then + printKazMsg "Suppresion ok" + else + printKazError -e "Erreur de suppression" + fi + echo " ----------------- " + else + echo "Rien a supprimer dans mattermost" + fi + echo -e "${NC}" + echo -e "Recherche de ${GREEN} ${REP_SEARCH_DESTROY} ${NC} dans nextcloud" + USER_NEXTCLOUD_SUPPR=$(curl -s -X GET -H 'OCS-APIRequest:true' $httpProto://admin:$nextcloud_NEXTCLOUD_ADMIN_PASSWORD@$URL_NC/ocs/v1.php/cloud/users?search=${REP_SEARCH_DESTROY} | grep element | sed -s 's/[ \<\>\/]//g' | sed 's/element//g') + if [ ! -z ${USER_NEXTCLOUD_SUPPR} ] + then + printKazMsg "le user trouvé est : ${USER_NEXTCLOUD_SUPPR}" + echo -e "${RED} Suppresion de ${USER_NEXTCLOUD_SUPPR}" + curl -H 'OCS-APIREQUEST: true' -X DELETE $httpProto://admin:$nextcloud_NEXTCLOUD_ADMIN_PASSWORD@$URL_NC/ocs/v1.php/cloud/users/${USER_NEXTCLOUD_SUPPR} >/dev/null 2>&1 + if [ "$?" -eq "0" ] + then + printKazMsg "Suppresion ok" + else + printKazError "Erreur de suppression" + fi + else + printKazMsg "Rien à supprimer dans Nextcloud" + fi + echo -e "${NC}" + echo "" + echo -e "${RED} suppression de ${REP_SEARCH_DESTROY} dans la liste info de sympa" + echo -e "${NC}" + echo "" + docker exec -ti sympaServ /usr/lib/sympa/bin/sympa_soap_client.pl --soap_url=${httpProto}://${URL_LISTE}/sympasoap --trusted_application=${sympa_SOAP_USER} --trusted_application_password=${sympa_SOAP_PASSWORD} --proxy_vars=USER_EMAIL=${LISTMASTER} --service=del --service_parameters="${NL_LIST},${REP_SEARCH_DESTROY}" + echo -e "${NC}" + echo "" + echo -e "${RED} suppression de ${REP_SEARCH_DESTROY} dans le serveur de mail" + echo -e "${NC}" + echo "" else - echo "Rien a supprimer dans mattermost" + echo "-------------------------------" + echo "Le domaine n' est pas Kaz.bzh" + echo "-------------------------------" fi - echo -e "${NC}" - echo -e "Recherche de ${GREEN} ${REP_SEARCH_DESTROY} ${NC} dans nextcloud" - USER_NEXTCLOUD_SUPPR=$(curl -s -X GET -H 'OCS-APIRequest:true' $httpProto://admin:$nextcloud_NEXTCLOUD_ADMIN_PASSWORD@$URL_NC/ocs/v1.php/cloud/users?search=${REP_SEARCH_DESTROY} | grep element | sed -s 's/[ \<\>\/]//g' | sed 's/element//g') - if [ ! -z ${USER_NEXTCLOUD_SUPPR} ] - then - printKazMsg "le user trouvé est : ${USER_NEXTCLOUD_SUPPR}" - echo -e "${RED} Suppresion de ${USER_NEXTCLOUD_SUPPR}" - curl -H 'OCS-APIREQUEST: true' -X DELETE $httpProto://admin:$nextcloud_NEXTCLOUD_ADMIN_PASSWORD@$URL_NC/ocs/v1.php/cloud/users/${USER_NEXTCLOUD_SUPPR} >/dev/null 2>&1 - if [ "$?" -eq "0" ] - then - printKazMsg "Suppresion ok" - else - printKazError "Erreur de suppression" - fi - else:w - - printKazMsg "Rien à supprimer dans Nextcloud" - fi - echo -e "${NC}" - echo "" - echo -e "${RED} suppression de ${REP_SEARCH_DESTROY} dans la liste info de sympa" - echo -e "${NC}" - echo "" - docker exec -ti sympaServ /usr/lib/sympa/bin/sympa_soap_client.pl --soap_url=${httpProto}://${URL_LISTE}/sympasoap --trusted_application=${sympa_SOAP_USER} --trusted_application_password=${sympa_SOAP_PASSWORD} --proxy_vars=USER_EMAIL=${LISTMASTER} --service=del --service_parameters="${NL_LIST},${REP_SEARCH_DESTROY}" - echo -e "${NC}" - echo "" - echo -e "${RED} suppression de ${REP_SEARCH_DESTROY} dans le serveur de mail" - echo -e "${NC}" - echo "" + ############################## - Fin du cas de Kaz ########################################################################################## ${SETUP_MAIL} email del -y ${REP_SEARCH_DESTROY} >/dev/null 2>&1 echo -e "${NC}" echo "" @@ -469,12 +484,11 @@ createMail() { fait=0 fi done -# on renseigne le domaine en cours pour de futures manips -# ---------------------------------------------------------------------- + # on renseigne le domaine en cours pour les options qui concernent pas le domaine kaz.bzh + # ---------------------------------------------------------------------- DOMAINE_EN_COURS=$(echo ${EMAIL_SOUHAITE} | sed -e 's/^.*@//') echo " ---- Domaine: " ${DOMAINE_EN_COURS} ---- -# ---------------------------------------------------------------------- - + # ---------------------------------------------------------------------- # On demande le mail de secours et on teste si c' est un mail valide fait=0 while [ $fait -eq 0 ] @@ -492,7 +506,6 @@ createMail() { echo -e "${RED}Le mail de secours ne peut pas etre le meme que le mail demande${NC}" fait=0 fi - done # On demande le prenom read -p "Prénom : " PRENOM @@ -506,7 +519,7 @@ createMail() { LDAPUSER=$(echo ${EMAIL_SOUHAITE} | awk -F '@' '{print $1}') LDAPDOMAIN=$(echo ${EMAIL_SOUHAITE} | awk -F '@' '{print $2}') LDAPPASS=$(mkpasswd -m sha512crypt ${PASSWORD}) - [ "$(echo ${EMAIL_SOUHAITE} | sed -e 's/^.*@//')" != "${domain}" ] && TRUE_KAZ=FALSE + [ "${DOMAINE_EN_COURS}" != "${domain}" ] && TRUE_KAZ=FALSE echo "${GREEN}Mail souhaité : ${NC}${EMAIL_SOUHAITE}" echo "${GREEN}Mail secours : ${NC}${EMAIL_SECOURS}" echo "${GREEN}Prénom : ${NC}${PRENOM}"