|
|
|
|
@@ -18,7 +18,7 @@ RACINE=$(echo $PRG | awk '{print $1}')
|
|
|
|
|
TFILE_INT_PAHEKO_ACTION=$(mktemp /tmp/XXXXXXXX_INT_PAHEKO_ACTION.json)
|
|
|
|
|
TFILE_INT_PAHEKO_IDFILE=$(mktemp /tmp/XXXXXXXX_TFILE_INT_PAHEKO_IDFILE.json)
|
|
|
|
|
FILE_CREATEUSER="$KAZ_ROOT/tmp/createUser.txt"
|
|
|
|
|
|
|
|
|
|
FILE_NOTIFICATION="${KAZ_TEMP_DIR}/${PRG}.txt"
|
|
|
|
|
sep=' '
|
|
|
|
|
|
|
|
|
|
#trap "rm -f ${TFILE_INT_PAHEKO_IDFILE} ${TFILE_INT_PAHEKO_ACTION} " 0 1 2 3 15
|
|
|
|
|
@@ -59,7 +59,6 @@ ExpMail() {
|
|
|
|
|
printf "Subject:${MAIL_SUJET}\n${MAIL_TEXTE}" | msmtp ${MAIL_DEST}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Int_paheko_Action() {
|
|
|
|
|
# $1 est une action;
|
|
|
|
|
ACTION=$1
|
|
|
|
|
@@ -82,11 +81,11 @@ Int_paheko_Action() {
|
|
|
|
|
jq -c --argjson val "${VAL_ID}" '.results[] | select (.id == $val)' ${TFILE_INT_PAHEKO_ACTION} > ${TFILE_INT_PAHEKO_IDFILE}
|
|
|
|
|
for VAL_GAR in id_category action_auto nom email email_secours quota_disque admin_orga nom_orga responsable_organisation responsable_email agora cloud wordpress garradin docuwiki id_service
|
|
|
|
|
do
|
|
|
|
|
eval $VAL_GAR=$(jq .$VAL_GAR ${TFILE_INT_PAHEKO_IDFILE})
|
|
|
|
|
eval $VAL_GAR=$(jq .$VAL_GAR ${TFILE_INT_PAHEKO_IDFILE})
|
|
|
|
|
done
|
|
|
|
|
################################
|
|
|
|
|
# test du mail valide en $domain
|
|
|
|
|
echo ${email} | grep -i "${domain}" || { echo "Erreur : le mail ${email} n'est pas en ${domain}"; exit ;}
|
|
|
|
|
echo ${email} | grep -i "${domain}" >/dev/null || { echo "Erreur : le mail ${email} n'est pas en ${domain}"; exit ;}
|
|
|
|
|
################################
|
|
|
|
|
#comme tout va bien on continue
|
|
|
|
|
#on compte le nom de champs dans la zone nom pour gérer les noms et prénoms composés
|
|
|
|
|
@@ -102,37 +101,38 @@ Int_paheko_Action() {
|
|
|
|
|
[ "$OPTION" = "silence" ] || echo -e "${NC}Abonné ${GREEN}${nom}${NC}"
|
|
|
|
|
#si lactivité est membre rattaché on affiche a quelle orga il est rattaché
|
|
|
|
|
if [ "$id_service" = "7" ] && [ "$OPTION" != "silence" ] && [ "$nom_orga" != null ]
|
|
|
|
|
then
|
|
|
|
|
echo -e "${NC}Orga Rattachée : ${GREEN}${nom_orga}${NC}"
|
|
|
|
|
then
|
|
|
|
|
echo -e "${NC}Orga Rattachée : ${GREEN}${nom_orga}${NC}"
|
|
|
|
|
fi
|
|
|
|
|
COMPTE_NOM=$(echo $nom | awk -F' ' '{for (i=1; i != NF; i++); print i;}')
|
|
|
|
|
case "${COMPTE_NOM}" in
|
|
|
|
|
0|1)
|
|
|
|
|
echo "Il faut corriger le champ nom (il manque un nom ou prénom) de paheko"
|
|
|
|
|
echo "je quitte et supprime le fichier ${FILE_CREATEUSER}"
|
|
|
|
|
rm -f $FILE_CREATEUSER
|
|
|
|
|
exit 2
|
|
|
|
|
;;
|
|
|
|
|
2)
|
|
|
|
|
nom_ok=$(echo $nom | awk -F' ' '{print $1}')
|
|
|
|
|
prenom_ok=$(echo $nom | awk -F' ' '{print $2}')
|
|
|
|
|
;;
|
|
|
|
|
*)
|
|
|
|
|
nom_ok=
|
|
|
|
|
prenom_ok=
|
|
|
|
|
for i in ${nom}; do grep -q '^[A-Z]*$' <<<"${i}" && nom_ok="${nom_ok}${sep}${i}" || prenom_ok="${prenom_ok}${sep}${i}"; done
|
|
|
|
|
nom_ok="${nom_ok#${sep}}"
|
|
|
|
|
prenom_ok="${prenom_ok#${sep}}"
|
|
|
|
|
if [ -z "${nom_ok}" ] || [ -z "${prenom_ok}" ]; then
|
|
|
|
|
ERRMSG="Erreur : Il faut corriger le champ nom qui contient plus de 2 infos dans paheko"
|
|
|
|
|
[ "${IP_MAIL}" = "true" ] && ExpMail ${IP_MAILDEST} "Erreur dans la fiche paheko" "${ERRMSG}" || echo ${ERRMSG}
|
|
|
|
|
echo "Il faut corriger le champ nom (il manque un nom ou prénom) de paheko"
|
|
|
|
|
echo "je quitte et supprime le fichier ${FILE_CREATEUSER}"
|
|
|
|
|
rm -f $FILE_CREATEUSER
|
|
|
|
|
exit
|
|
|
|
|
fi
|
|
|
|
|
exit 2
|
|
|
|
|
;;
|
|
|
|
|
2)
|
|
|
|
|
nom_ok=$(echo $nom | awk -F' ' '{print $1}')
|
|
|
|
|
prenom_ok=$(echo $nom | awk -F' ' '{print $2}')
|
|
|
|
|
;;
|
|
|
|
|
*)
|
|
|
|
|
nom_ok=
|
|
|
|
|
prenom_ok=
|
|
|
|
|
for i in ${nom}; do grep -q '^[A-Z]*$' <<<"${i}" && nom_ok="${nom_ok}${sep}${i}" || prenom_ok="${prenom_ok}${sep}${i}"; done
|
|
|
|
|
nom_ok="${nom_ok#${sep}}"
|
|
|
|
|
prenom_ok="${prenom_ok#${sep}}"
|
|
|
|
|
if [ -z "${nom_ok}" ] || [ -z "${prenom_ok}" ]; then
|
|
|
|
|
ERRMSG="Erreur : Il faut corriger le champ nom qui contient plus de 2 infos dans paheko"
|
|
|
|
|
OLDIFS=${IFS}
|
|
|
|
|
IFS=''
|
|
|
|
|
[ "${IP_MAIL}" = "true" ] && ExpMail ${IP_MAILDEST} "Erreur dans la fiche paheko" "${ERRMSG}" || echo ${ERRMSG}
|
|
|
|
|
rm -f $FILE_CREATEUSER
|
|
|
|
|
exit
|
|
|
|
|
fi
|
|
|
|
|
esac
|
|
|
|
|
# comme l' orga est à null nom orga est a vide, pas d' admin orga, on met dans l' agora générale
|
|
|
|
|
# pas d' équipe agora et de groupe nextcloud spécifique
|
|
|
|
|
|
|
|
|
|
nom_orga=" "
|
|
|
|
|
admin_orga="N"
|
|
|
|
|
nc_base="O"
|
|
|
|
|
@@ -146,12 +146,15 @@ Int_paheko_Action() {
|
|
|
|
|
[ "$OPTION" = "silence" ] || echo -e "${NC}Orga : ${GREEN}${nom_orga}${NC}"
|
|
|
|
|
nom_ok=$nom_orga
|
|
|
|
|
# test des caractères autorisés dans le nom d' orga: lettres, chiffres et/ou le tiret
|
|
|
|
|
if ! [[ "${nom_ok}" =~ ^[[:alnum:]-]+$ ]]; then
|
|
|
|
|
ERRMSG="Erreur : l' orga doit être avec des lettres et/ou des chiffres. Le séparateur doit être le tiret"
|
|
|
|
|
if ! [[ "${nom_ok}" =~ ^[[:alnum:]-]+$ ]]
|
|
|
|
|
then
|
|
|
|
|
OLDIFS=${IFS}
|
|
|
|
|
IFS=''
|
|
|
|
|
ERRMSG="Erreur : l' orga doit être avec des lettres et/ou des chiffres. Le séparateur doit être le tiret"
|
|
|
|
|
[ "${IP_MAIL}" = "true" ] && ExpMail ${IP_MAILDEST} "Erreur dans la fiche Paheko" "${ERRMSG}" || echo ${ERRMSG}
|
|
|
|
|
rm -f $FILE_CREATEUSER
|
|
|
|
|
exit 2
|
|
|
|
|
fi
|
|
|
|
|
rm -f $FILE_CREATEUSER
|
|
|
|
|
exit 2
|
|
|
|
|
fi
|
|
|
|
|
prenom_ok=organisation
|
|
|
|
|
equipe_agora=$nom_orga
|
|
|
|
|
groupe_nc_base=" "
|
|
|
|
|
|