]> git.llucax.com Git - z.facultad/75.08/llamadas.git/blobdiff - aficonf
arreglo mis cagadas
[z.facultad/75.08/llamadas.git] / aficonf
diff --git a/aficonf b/aficonf
index 8390752c49b56e60058adbea54839d37feeea37b..8a7e8241973522ce80700b5750163fa340e2649d 100755 (executable)
--- a/aficonf
+++ b/aficonf
@@ -2,8 +2,14 @@
 #
 # Configurador
 
+# Atajo CTRL+C 
+# 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"
 
 #Valida que exista el pais
 existe_pais () {
@@ -14,8 +20,109 @@ existe_pais () {
        return 1
 }
 
-echo -n "Ingreso código de país : "
-read pais
-if ! existe_pais $pais ; then
-       echo "El pais no existe!!"
+menu () {
+       echo "AFICONF"
+       echo "======="
+       echo
+       echo "  1) Alta"
+       echo "  2) Baja"
+       echo "  3) Buscar"
+       echo "  4) Salir"
+
+       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 () {
+       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
+
+       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;*;*;*"
+
+       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
+
+       case $OPT in
+               "1") case_altas ;;
+               "2") echo "Dos" ;;
+               "3") echo "Tres" ;;
+       esac
+done
+
+unlock "AFICONF"