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