]> git.llucax.com Git - z.facultad/75.08/llamadas.git/blobdiff - inst/aficonf
algunas comillas para evitar posibles problemas con caracteres escapeables
[z.facultad/75.08/llamadas.git] / inst / aficonf
index ca2e3b01bfbeed4eb42abfec60977c8f945a7359..787dcaa815e9298ef0012387c26217fc8ddfb0fa 100755 (executable)
@@ -13,10 +13,19 @@ BASE_DIR="$HOME/.antifraude"
 # Cargo utilidades
 . "$BASE_DIR/util.sh"
 
+LOGDIR=$AFIC_LOGDIR
+LOGNAME=$AFIC_LOGFILE
+LOGFILE=$LOGDIR/$LOGNAME
+
 #Valida que exista el pais
+# Parámetros :
+#   $1 = Descripcion a buscar
+#   $2 = Variable donde guardar el código del Pais en caso de existir
 existe_pais () {
-       EXISTE=`cat "$BASE_DIR/oridesti.txt" | egrep "^$1;"`;
+       EXISTE=`cat "$BASE_DIR/oridesti.txt" | egrep "^[A-Z]*;$1" | cut -d ';' -f 1`;
        if [ "$EXISTE" != "" ] ; then
+               #Exite!, debo gaurdar el código
+               eval "$2=$EXISTE"
                return 0
        fi
        return 1
@@ -26,11 +35,15 @@ poner_estado_umbral () {
        ID=$1
        ESTADO=$2
 
+       FECHA=`date +"%Y%m%d"`
+       HORA=`date +"%H%M%S"`
+       
        if [ "$ESTADO" != "A" ] && [ "$ESTADO" != "I" ] ; then
                return 1
        fi
-       SALIDA=`sed "s/^$ID\(;[^;]*;[^;]*;[^;]*;\)[^;]*\(;[^;]*;[^;]*;[^;]*\)$/$ID\1I\2/" "$BASE_DIR/umbrales.param"`
+       SALIDA=`sed "s/^$ID\(;[^;]*;[^;]*;[^;]*;\)[^;]*\(;[^;]*;[^;]*;[^;]*\)$/$ID\1I;$USER;$FECHA;$HORA/" "$BASE_DIR/umbrales.param"`
        echo "$SALIDA" > "$BASE_DIR/umbrales.param"
+       put_log "$LOGFILE" "aficonf" "Se ha cambiado el estado de umbral $ID a $ESTADO" "$AFIC_LOGSIZE"
 }
 
 menu () {
@@ -38,11 +51,10 @@ menu () {
        echo "======="
        echo
        echo "  1) Alta"
-       echo "  2) Baja"
-       echo "  3) Buscar"
-       echo "  4) Salir"
+       echo "  2) Buscar"
+       echo "  3) Salir"
 
-       preguntar "Su opción" "1234" $1
+       preguntar "Su opción" "123" $1
 }
 
 existe_umbral () {
@@ -80,10 +92,11 @@ case_altas () {
        preguntar "Tipo de llamada" "ES" TIPO
 
        DONE=0
+       CODIGO=''
        while [ $DONE == 0 ] ; do
-               leer "Pais (código de 2 letras)" "" PAIS 
-               if ! existe_pais "$PAIS" ; then
-                       echo "No existe el país de código $PAIS"
+               leer "Pais (descripción)" "" PAIS 
+               if ! existe_pais "$PAIS" CODIGO ; then
+                       echo "No existe el país de descrición '$PAIS'"
                else
                        DONE=1
                fi
@@ -92,6 +105,9 @@ case_altas () {
                fi
        done
 
+       echo "El código de '$PAIS' es '$CODIGO'"
+       PAIS=$CODIGO
+
        # Verifico que el umbral no exista
        FECHA=`date +"%Y%m%d"`
        HORA=`date +"%H%M%S"`
@@ -100,6 +116,7 @@ case_altas () {
        if existe_umbral "$UMBRAL" ; then
                echo "Ya existe un umbral con los datos ingresados."
                echo "Abortando..."
+               put_log "$LOGFILE" "aficonf" "Se trató de insertar un umbral repetido ($UMBRAL)" "$AFIC_LOGSIZE"
                return
        fi
        
@@ -113,6 +130,7 @@ case_altas () {
        echo ""
        echo "El Umbral fue grabado con éxito"
        echo ""
+       put_log "$LOGFILE" "aficonf" "Se inserto un nuevo umbral ($UMBRAL)" "$AFIC_LOGSIZE"
 }
 
 case_buscar () {
@@ -130,7 +148,16 @@ case_buscar () {
                fi
        done
 
-       DATOS=`cat "$BASE_DIR/umbrales.param" | grep "[0-9]*;$LINEA"`
+       DATOS=`cat "$BASE_DIR/umbrales.param" | grep "[0-9]*;$LINEA;[A-Z]*;[E,S];A"`
+
+       if [ "$DATOS" == "" ] ; then
+               echo ""
+               echo "No se han encontrado Umbrales activos para la linea $LINEA."
+               echo "Abortando ..."
+               echo ""
+               put_log "$LOGFILE" "aficonf" "No se han encontrado umbrales para la línea $LINEA" "$AFIC_LOGSIZE"
+               return 0
+       fi
 
        printf "%3s      %2s  %1s   %1s    %10s%8s       %6s\n" "ID" "Ciudad" "Tipo" "Estado" "Usuario" "Fecha" "Hora"
        OPCIONES="-1"
@@ -154,6 +181,10 @@ case_buscar () {
 
        echo "Borrando el registro $OPT ..."
        poner_estado_umbral "$OPT" "I"
+       put_log "$LOGFILE" "aficonf" "No se ha eliminado elumbral de ID $OPT" "$AFIC_LOGSIZE"
+       echo ""
+       echo ""
+       echo "El Umbral fue eliminado con éxito"
        echo ""
 }
 
@@ -162,6 +193,7 @@ if is_lock "aficonf" ; then
        echo ""
        echo "Aficonf está corriendo actualmente."
        echo ""
+       put_log "$LOGFILE" "aficonf" "Se ha intentado ejecutar aficonf cuando este estaba corriendo" "$AFIC_LOGSIZE"
        exit 1
 fi
 
@@ -169,13 +201,12 @@ lock "aficonf"
 
 # Loop Principal
 OPT="0"
-while [ "$OPT" != "4" ] ; do 
+while [ "$OPT" != "3" ] ; do 
        menu OPT
 
        case $OPT in
                "1") case_altas ;;
-               "2") echo "Dos" ;;
-               "3") case_buscar ;;
+               "2") case_buscar ;;
        esac
 done