X-Git-Url: https://git.llucax.com/z.facultad/75.08/llamadas.git/blobdiff_plain/1720c5b2de2f41fd87c78273e9e53f48ee08ac83..86a82aeb2bf0314d876b0e8d1ae369140f39cff0:/inst/aficonf?ds=inline diff --git a/inst/aficonf b/inst/aficonf index 8a7e824..7b94203 100755 --- a/inst/aficonf +++ b/inst/aficonf @@ -3,37 +3,52 @@ # Configurador # Atajo CTRL+C -# TODO Sacar esto cuando termine de probar -trap "echo -n ''" INT +#trap "echo -n ''" INT -# TODO : esto lo debe modificar el instalador, no? -INST_DIR="$PWD/inst" +# Cargo config +BASE_DIR="$HOME/.antifraude" +# Cargo config +. "$BASE_DIR/conf/aficonf.conf" -. "/$INST_DIR/util.sh" +# Cargo utilidades +. "$BASE_DIR/util.sh" #Valida que exista el pais existe_pais () { - EXISTE=`cat "$INST_DIR/oridesti.txt" | egrep "^$1;"`; + EXISTE=`cat "$BASE_DIR/oridesti.txt" | egrep "^$1;"`; if [ "$EXISTE" != "" ] ; then return 0 fi return 1 } +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;$USER;$FECHA;$HORA/" "$BASE_DIR/umbrales.param"` + echo "$SALIDA" > "$BASE_DIR/umbrales.param" +} + menu () { echo "AFICONF" 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 } existe_umbral () { - EXISTE=`cat "$INST_DIR/umbrales.param" | egrep "$1"`; + EXISTE=`cat "$BASE_DIR/umbrales.param" | egrep "$1"`; if [ "$EXISTE" == "" ] ; then #No existe return 1 @@ -43,10 +58,10 @@ existe_umbral () { } buscar_id_umbral () { - ID=`cat "$INST_DIR/umbrales.id"`; + ID=`cat "$BASE_DIR/umbrales.id"`; eval "$1=$ID" let ID=$ID+1 - echo "$ID" > "$INST_DIR/umbrales.id" + echo "$ID" > "$BASE_DIR/umbrales.id" } case_altas () { @@ -95,23 +110,75 @@ case_altas () { UMBRAL="$ID;$LINEA;$PAIS;$TIPO;A;$USER;$FECHA;$HORA" # Lo guardo - echo "$UMBRAL" >> "$INST_DIR/umbrales.param" + echo "$UMBRAL" >> "$BASE_DIR/umbrales.param" echo "" echo "El Umbral fue grabado con éxito" echo "" } +case_buscar () { + DONE=0 + while [ $DONE == 0 ] ; do + leer "Número de línea" "" LINEA + #TODO Valido + if ! validar_solo_numeros "$LINEA" ; then + echo "EL NUMERO TE LINEA SOLO DEBE TENER DIGITOS" + else + DONE=1 + fi + if [ "$LINEA" == "" ] ; then + DONE=0 + fi + done + + DATOS=`cat "$BASE_DIR/umbrales.param" | grep "[0-9]*;$LINEA;[A-Z]*;[E,S];A"` + + if [ "$OPT" == "" ] : then + echo "" + echo "No se han encontrado uUmbrales activos para la linea $LINEA." + echo "Abortando ..." + echo "" + return 0 + fi + + printf "%3s %2s %1s %1s %10s%8s %6s\n" "ID" "Ciudad" "Tipo" "Estado" "Usuario" "Fecha" "Hora" + OPCIONES="-1" + for i in $DATOS ; do + ID=`echo "$i" | cut -d ';' -f 1` + CIUDAD=`echo "$i" | cut -d ';' -f 3` + TIPO=`echo "$i" | cut -d ';' -f 4` + ESTADO=`echo "$i" | cut -d ';' -f 5` + USUARIO=`echo "$i" | cut -d ';' -f 6` + FECHA=`echo "$i" | cut -d ';' -f 7` + HORA=`echo "$i" | cut -d ';' -f 8` + printf "%3s %2s %1s %1s %10s %8s %6s\n" "$ID" "$CIUDAD" "$TIPO" "$ESTADO" "$USUARIO" "$FECHA" "$HORA" + OPCIONES="$OPCIONES $ID" + done + + preguntar "Cual desea borrar (-1 para salir)" "$OPCIONES" OPT + + if [ "$OPT" = "-1" ] ; then + return 0 + fi + + echo "Borrando el registro $OPT ..." + poner_estado_umbral "$OPT" "I" + echo "" + echo "" + echo "El Umbral fue eliminado con éxito" + echo "" +} # No permito correr 2 instancias de AFICONF -if is_lock "AFICONF" ; then +if is_lock "aficonf" ; then echo "" echo "Aficonf está corriendo actualmente." echo "" exit 1 fi -lock "AFICONF" +lock "aficonf" # Loop Principal OPT="0" @@ -120,9 +187,9 @@ while [ "$OPT" != "4" ] ; do case $OPT in "1") case_altas ;; - "2") echo "Dos" ;; - "3") echo "Tres" ;; + "2") case_buscar ;; esac done -unlock "AFICONF" +unlock "aficonf" +