]> git.llucax.com Git - z.facultad/75.08/llamadas.git/blob - aficonf
agrego código y funciones utiles para el manejo de lockeo de archivos
[z.facultad/75.08/llamadas.git] / aficonf
1 #!/bin/sh
2 #
3 # Configurador
4
5 # Atajo CTRL+C 
6 # TODO Sacar esto cuando termine de probar
7 #trap "echo ; echo 'No use CTRL+C para salir. Tome la opción 4 en el menú.' ; echo" INT
8
9 # TODO : esto lo debe modificar el instalador, no?
10 INST_DIR="$PWD/inst"
11
12 . "/$INST_DIR/util.sh"
13
14 #Valida que exista el pais
15 existe_pais () {
16         EXISTE=`cat "$INST_DIR/oridesti.txt" | egrep "^$1;"`;
17         if [ "$EXISTE" != "" ] ; then
18                 return 0
19         fi
20         return 1
21 }
22
23 menu () {
24         echo "AFICONF"
25         echo "======="
26         echo
27         echo "  1) Alta"
28         echo "  2) Baja"
29         echo "  3) Buscar"
30         echo "  4) Salir"
31
32         preguntar "Su opción" "1234" $1
33 }
34
35 existe_umbral () {
36         EXISTE=`cat "$INST_DIR/umbrales.param" | egrep "$1"`;
37         if [ "$EXISTE" == "" ] ; then
38                 #No existe
39                 return 1
40         fi
41         #Ya existe un umbral!
42         return 0
43 }
44         
45 buscar_id_umbral () {
46         ID=`cat "$INST_DIR/umbrales.id"`;
47         eval "$1=$ID"
48         let ID=$ID+1
49         echo "$ID" > "$INST_DIR/umbrales.id"
50 }
51
52 case_altas () {
53         DONE=0
54         while [ $DONE == 0 ] ; do
55                 leer "Número de línea" "" LINEA
56                 #TODO Valido
57                 if ! validar_solo_numeros "$LINEA" ; then
58                         echo "EL NUMERO TE LINEA SOLO DEBE TENER DIGITOS"
59                 else
60                         DONE=1
61                 fi
62                 if [ "$LINEA" == "" ] ; then
63                         DONE=0
64                 fi
65         done
66
67         preguntar "Tipo de llamada" "ES" TIPO
68
69         DONE=0
70         while [ $DONE == 0 ] ; do
71                 leer "Cuidad (código de 2 letras)" "" CIUDAD
72                 if ! existe_pais "$CIUDAD" ; then
73                         echo "No existe el país de código $CIUDAD"
74                 else
75                         DONE=1
76                 fi
77                 if [ "$CIUDAD" == "" ] ; then
78                         DONE=0
79                 fi
80         done
81
82         # Verifico que el umbral no exista
83         FECHA=`date +"%Y%m%d"`
84         HORA=`date +"%H%M%S"`
85         UMBRAL="$LINEA;$CIUDAD;$TIPO;A;*;*;*"
86
87         if existe_umbral "$UMBRAL" ; then
88                 echo "Ya existe un umbral con los datos ingresados."
89                 echo "Abortando..."
90                 return
91         fi
92         
93         # Genero el umbral
94         buscar_id_umbral ID
95         UMBRAL="$ID;$LINEA;$CIUDAD;$TIPO;A;$USER;$FECHA;$HORA"
96
97         # Lo guardo
98         echo "$UMBRAL" >> "$INST_DIR/umbrales.param"
99
100         echo ""
101         echo "El Umbral fue grabado con éxito"
102         echo ""
103 }
104
105 if is_lock "AFICONF" ; then
106         echo ""
107         echo "Aficonf está corriendo actualemten."
108         echo ""
109         exit 1
110 fi
111
112 lock "AFICONF"
113
114 OPT="0"
115 while [ "$OPT" != "4" ] ; do 
116         menu OPT
117
118         case $OPT in
119                 "1") case_altas ;;
120                 "2") echo "Dos" ;;
121                 "3") echo "Tres" ;;
122         esac
123 done
124
125 unlock "AFICONF"