en cas de domaine non kaz on ne fait pas la recherche dans le mattermost, sympa et dans le cloud général

la variable DOMAINE_EN_COURS sert de fil conducteur dans le script
This commit is contained in:
Didier Denoual 2024-11-19 21:15:47 +01:00
parent 7fded19894
commit ba38103bf3

View File

@ -8,7 +8,7 @@ setKazVars
. $DOCKERS_ENV . $DOCKERS_ENV
. $KAZ_ROOT/secret/SetAllPass.sh . $KAZ_ROOT/secret/SetAllPass.sh
VERSION="12-08-2024" VERSION="19-11-2024"
PRG=$(basename $0) PRG=$(basename $0)
RACINE=$(echo $PRG | awk '{print $1}') RACINE=$(echo $PRG | awk '{print $1}')
IFS=' ' IFS=' '
@ -121,6 +121,10 @@ searchEmail() {
CHOIX_MAIL="" CHOIX_MAIL=""
fait=0 fait=0
else 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 fait=1
fi fi
done done
@ -256,13 +260,13 @@ infoEmail() {
} }
searchDestroy() { searchDestroy() {
ACTION_EN_COURS="Suppression d'un compte" ACTION_EN_COURS="Suppression d'un compte"
clear clear
#TODO pourquoi REP_SEARCH_DESTROY=$(searchEmail) ne marche pas et fait déconner la fonction search_mail, j' en suis la à m' esbaudir #TODO pourquoi REP_SEARCH_DESTROY=$(searchEmail) ne marche pas et fait déconner la fonction search_mail, j' en suis la à m' esbaudir
searchEmail searchEmail
REP_SEARCH_DESTROY=$CHOIX_MAIL REP_SEARCH_DESTROY=$CHOIX_MAIL
echo "CHOIX=$REP_SEARCH_DESTROY" echo "CHOIX=$REP_SEARCH_DESTROY"
echo "domaine en cours : ${DOMAINE_EN_COURS}"
echo "--------------------------------- SUPPRESION ----------------------------------------" echo "--------------------------------- SUPPRESION ----------------------------------------"
while : while :
do do
@ -277,51 +281,62 @@ searchDestroy() {
fi fi
if [ "$SEARCH_DESTROY_INPUT" = "o" ] || [ "$SEARCH_DESTROY_INPUT" = "O" ] if [ "$SEARCH_DESTROY_INPUT" = "o" ] || [ "$SEARCH_DESTROY_INPUT" = "O" ]
then then
REP_SEARCH=$(searchMattermost $REP_SEARCH_DESTROY) ###########################################################################################################################################################
printKazMsg "réponse de mattermost : ${REP_SEARCH_DESTROY}" # si le domaine en cours est Kaz alors on cherche dans mattermost, dans nextcloud et on supprime
if [ ! -z ${REP_SEARCH} ] # le mail dans sympa
###########################################################################################################################################################
if [ "${DOMAINE_EN_COURS}" = "${domain}" ]
then then
echo -e "${RED} suppression de ${REP_SEARCH_DESTROY} dans mattermost ${NC}" REP_SEARCH=$(searchMattermost $REP_SEARCH_DESTROY)
docker exec -ti ${mattermostServName} bin/mmctl user delete ${REP_SEARCH_DESTROY} --confirm >/dev/null 2>&1 printKazMsg "réponse de mattermost : ${REP_SEARCH_DESTROY}"
if [ "$?" -eq "0" ] if [ ! -z ${REP_SEARCH} ]
then then
printKazMsg "Suppresion ok" echo -e "${RED} suppression de ${REP_SEARCH_DESTROY} dans mattermost ${NC}"
else docker exec -ti ${mattermostServName} bin/mmctl user delete ${REP_SEARCH_DESTROY} --confirm >/dev/null 2>&1
printKazError -e "Erreur de suppression" if [ "$?" -eq "0" ]
fi then
echo " ----------------- " 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 else
echo "Rien a supprimer dans mattermost" echo "-------------------------------"
echo "Le domaine n' est pas Kaz.bzh"
echo "-------------------------------"
fi fi
echo -e "${NC}" ############################## - Fin du cas de Kaz ##########################################################################################
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 ""
${SETUP_MAIL} email del -y ${REP_SEARCH_DESTROY} >/dev/null 2>&1 ${SETUP_MAIL} email del -y ${REP_SEARCH_DESTROY} >/dev/null 2>&1
echo -e "${NC}" echo -e "${NC}"
echo "" echo ""
@ -469,12 +484,11 @@ createMail() {
fait=0 fait=0
fi fi
done 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/^.*@//') DOMAINE_EN_COURS=$(echo ${EMAIL_SOUHAITE} | sed -e 's/^.*@//')
echo " ---- Domaine: " ${DOMAINE_EN_COURS} ---- echo " ---- Domaine: " ${DOMAINE_EN_COURS} ----
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# On demande le mail de secours et on teste si c' est un mail valide # On demande le mail de secours et on teste si c' est un mail valide
fait=0 fait=0
while [ $fait -eq 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}" echo -e "${RED}Le mail de secours ne peut pas etre le meme que le mail demande${NC}"
fait=0 fait=0
fi fi
done done
# On demande le prenom # On demande le prenom
read -p "Prénom : " PRENOM read -p "Prénom : " PRENOM
@ -506,7 +519,7 @@ createMail() {
LDAPUSER=$(echo ${EMAIL_SOUHAITE} | awk -F '@' '{print $1}') LDAPUSER=$(echo ${EMAIL_SOUHAITE} | awk -F '@' '{print $1}')
LDAPDOMAIN=$(echo ${EMAIL_SOUHAITE} | awk -F '@' '{print $2}') LDAPDOMAIN=$(echo ${EMAIL_SOUHAITE} | awk -F '@' '{print $2}')
LDAPPASS=$(mkpasswd -m sha512crypt ${PASSWORD}) 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 souhaité : ${NC}${EMAIL_SOUHAITE}"
echo "${GREEN}Mail secours : ${NC}${EMAIL_SECOURS}" echo "${GREEN}Mail secours : ${NC}${EMAIL_SECOURS}"
echo "${GREEN}Prénom : ${NC}${PRENOM}" echo "${GREEN}Prénom : ${NC}${PRENOM}"