X-Git-Url: https://git.llucax.com/z.facultad/75.08/llamadas.git/blobdiff_plain/e8a427f2a1bc8fce0e9fe98be4cc86362daedd97..07c63319744f22502e36b638bead794a3c87a091:/aficonf?ds=inline diff --git a/aficonf b/aficonf index 6989b7c..8a7e824 100755 --- a/aficonf +++ b/aficonf @@ -3,10 +3,11 @@ # Configurador # Atajo CTRL+C -trap "echo ; echo 'No use CTRL+C para salir. Tome la opción 4 en el menú.' ; echo" INT +# TODO Sacar esto cuando termine de probar +trap "echo -n ''" INT # TODO : esto lo debe modificar el instalador, no? -INST_DIR="/home/gazer/prog/7508/inst" +INST_DIR="$PWD/inst" . "/$INST_DIR/util.sh" @@ -31,18 +32,88 @@ menu () { preguntar "Su opción" "1234" $1 } +existe_umbral () { + EXISTE=`cat "$INST_DIR/umbrales.param" | egrep "$1"`; + if [ "$EXISTE" == "" ] ; then + #No existe + return 1 + fi + #Ya existe un umbral! + return 0 +} + +buscar_id_umbral () { + ID=`cat "$INST_DIR/umbrales.id"`; + eval "$1=$ID" + let ID=$ID+1 + echo "$ID" > "$INST_DIR/umbrales.id" +} + case_altas () { - leer "Número de línea" "" LINEA + 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 + preguntar "Tipo de llamada" "ES" TIPO - leer "Origen" "" ORIGEN - leer "Destino" "" DESTINO - #TODO Valido + DONE=0 + 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" + else + DONE=1 + fi + if [ "$PAIS" == "" ] ; then + DONE=0 + fi + done + + # Verifico que el umbral no exista + FECHA=`date +"%Y%m%d"` + HORA=`date +"%H%M%S"` + UMBRAL="$LINEA;$PAIS;$TIPO;A;*;*;*" - # Grabo - # TODO + if existe_umbral "$UMBRAL" ; then + echo "Ya existe un umbral con los datos ingresados." + echo "Abortando..." + return + fi + + # Genero el umbral + buscar_id_umbral ID + UMBRAL="$ID;$LINEA;$PAIS;$TIPO;A;$USER;$FECHA;$HORA" + + # Lo guardo + echo "$UMBRAL" >> "$INST_DIR/umbrales.param" + + echo "" + echo "El Umbral fue grabado con éxito" + echo "" } + +# No permito correr 2 instancias de AFICONF +if is_lock "AFICONF" ; then + echo "" + echo "Aficonf está corriendo actualmente." + echo "" + exit 1 +fi + +lock "AFICONF" + +# Loop Principal OPT="0" while [ "$OPT" != "4" ] ; do menu OPT @@ -54,3 +125,4 @@ while [ "$OPT" != "4" ] ; do esac done +unlock "AFICONF"