Errores solucionados

This commit is contained in:
Juan Ferrer Toribio 2016-04-24 13:23:34 +02:00
parent 2cd108ea3a
commit 5a1ef1a0a6
8 changed files with 90 additions and 40 deletions

View File

@ -32,7 +32,7 @@ if ($db->getValue ('SELECT COUNT(*) > 0 FROM blacklist WHERE phone = #', [$calle
$sundayFestive = $db->getValue ('SELECT sunday_festive FROM config'); $sundayFestive = $db->getValue ('SELECT sunday_festive FROM config');
if (date ('N') == 6 && $sundayFestive) if (date ('N') == 7 && $sundayFestive)
{ {
Agi::exec ('SET VARIABLE MACRO playback'); Agi::exec ('SET VARIABLE MACRO playback');
Agi::exec ('SET VARIABLE ARG1 out-of-ours'); Agi::exec ('SET VARIABLE ARG1 out-of-ours');
@ -65,8 +65,6 @@ if ($customer)
Agi::exec ('SET VARIABLE MACRO playback'); Agi::exec ('SET VARIABLE MACRO playback');
Agi::exec ('SET VARIABLE ARG1 busy'); Agi::exec ('SET VARIABLE ARG1 busy');
} }
exit ();
} }
?> ?>

2
debian/changelog vendored
View File

@ -1,4 +1,4 @@
vn-asterisk (1.004-deb7) stable; urgency=low vn-asterisk (1.005-deb7) stable; urgency=low
* Initial Release. * Initial Release.

View File

@ -4,9 +4,10 @@
* @param v_phone The caller phone number * @param v_phone The caller phone number
* @return The customer id or %NULL if customer not exists or is inactive * @return The customer id or %NULL if customer not exists or is inactive
**/ **/
DROP FUNCTION IF EXISTS pbx.customer_from_phone; USE pbx;
DROP FUNCTION IF EXISTS customer_from_phone;
DELIMITER $$ DELIMITER $$
CREATE FUNCTION pbx.customer_from_phone (v_phone VARCHAR(255)) CREATE FUNCTION customer_from_phone (v_phone VARCHAR(255))
RETURNS INT RETURNS INT
DETERMINISTIC DETERMINISTIC
BEGIN BEGIN
@ -37,7 +38,7 @@ BEGIN
SELECT t.customer INTO v_customer SELECT t.customer INTO v_customer
FROM tmp.customer t FROM tmp.customer t
JOIN vn2008.Clientes c JOIN vn2008.Clientes c ON c.id_cliente = t.customer
WHERE c.activo WHERE c.activo
LIMIT 1; LIMIT 1;

View File

@ -0,0 +1,24 @@
/**
* Checks whether a passed extension number has valid sintax
*
* @param v_extension The extension to check format
* @return %TRUE if it's well formated
**/
USE pbx;
DROP PROCEDURE IF EXISTS extension_is_valid;
DELIMITER $$
CREATE PROCEDURE extension_is_valid (v_extension VARCHAR(255))
BEGIN
DECLARE v_is_valid BOOLEAN;
SET v_is_valid = v_extension IS NULL
OR (v_extension REGEXP '^[0-9]{4}$'
AND MOD(v_extension, 100) != 0);
IF NOT v_is_valid
THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'EXTENSION_INVALID_FORMAT';
END IF;
END$$
DELIMITER ;

View File

@ -4,9 +4,10 @@
* @param v_phone The phone to format * @param v_phone The phone to format
* @return The formated phone or %NULL if bad sintax * @return The formated phone or %NULL if bad sintax
**/ **/
DROP FUNCTION IF EXISTS pbx.phone_format; USE pbx;
DROP FUNCTION IF EXISTS phone_format;
DELIMITER $$ DELIMITER $$
CREATE FUNCTION pbx.phone_format (phone VARCHAR(255)) CREATE FUNCTION phone_format (phone VARCHAR(255))
RETURNS VARCHAR(255) RETURNS VARCHAR(255)
DETERMINISTIC DETERMINISTIC
BEGIN BEGIN

View File

@ -4,9 +4,10 @@
* @param v_phone The phone to check format * @param v_phone The phone to check format
* @return %TRUE if it's well formated * @return %TRUE if it's well formated
**/ **/
DROP PROCEDURE IF EXISTS pbx.phone_is_valid; USE pbx;
DROP PROCEDURE IF EXISTS phone_is_valid;
DELIMITER $$ DELIMITER $$
CREATE PROCEDURE pbx.phone_is_valid (v_phone VARCHAR(255)) CREATE PROCEDURE phone_is_valid (v_phone VARCHAR(255))
BEGIN BEGIN
DECLARE v_is_valid BOOLEAN; DECLARE v_is_valid BOOLEAN;

23
sql/queue_is_valid.sql Normal file
View File

@ -0,0 +1,23 @@
/**
* Checks whether a passed queue number has valid sintax
*
* @param v_queue The queue to check format
* @return %TRUE if it's well formated
**/
USE pbx;
DROP PROCEDURE IF EXISTS queue_is_valid;
DELIMITER $$
CREATE PROCEDURE queue_is_valid (v_queue VARCHAR(255))
BEGIN
DECLARE v_is_valid BOOLEAN;
SET v_is_valid = v_queue IS NULL
OR v_queue REGEXP '^[1-9][0-9]00$';
IF NOT v_is_valid
THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'QUEUE_INVALID_FORMAT';
END IF;
END$$
DELIMITER ;

View File

@ -1,42 +1,44 @@
USE vn2008;
-- Updates the bad formated phones -- Updates the bad formated phones
UPDATE vn2008.Clientes UPDATE Clientes
SET telefono = pbx.phone_format (telefono), SET telefono = pbx.phone_format (telefono),
fax = pbx.phone_format (fax), fax = pbx.phone_format (fax),
movil = pbx.phone_format (movil); movil = pbx.phone_format (movil);
UPDATE vn2008.Consignatarios UPDATE Consignatarios
SET telefono = pbx.phone_format (telefono), SET telefono = pbx.phone_format (telefono),
movil = pbx.phone_format (movil); movil = pbx.phone_format (movil);
UPDATE vn2008.Contactos UPDATE Contactos
SET telefono = pbx.phone_format (telefono), SET telefono = pbx.phone_format (telefono),
fax = pbx.phone_format (fax), fax = pbx.phone_format (fax),
movil = pbx.phone_format (movil); movil = pbx.phone_format (movil);
-- Indexes the phone columns -- Indexes the phone columns
ALTER TABLE vn2008.`Clientes` ADD INDEX(`Telefono`); ALTER TABLE Clientes ADD INDEX(Telefono);
ALTER TABLE vn2008.`Clientes` ADD INDEX(`movil`); ALTER TABLE Clientes ADD INDEX(movil);
ALTER TABLE vn2008.`Consignatarios` ADD INDEX(`telefono`); ALTER TABLE Consignatarios ADD INDEX(telefono);
ALTER TABLE vn2008.`Consignatarios` ADD INDEX(`movil`); ALTER TABLE Consignatarios ADD INDEX(movil);
ALTER TABLE vn2008.`Contactos` ADD INDEX(`Telefono`); ALTER TABLE Contactos ADD INDEX(Telefono);
ALTER TABLE vn2008.`Contactos` ADD INDEX(`Movil`); ALTER TABLE Contactos ADD INDEX(Movil);
-- Returns all bad formated phones -- Returns all bad formated phones
SELECT telefono, movil c FROM vn2008.Clientes SELECT telefono, movil c FROM Clientes
WHERE telefono NOT REGEXP '^[0-9]+$' WHERE telefono NOT REGEXP '^[0-9]+$'
OR movil NOT REGEXP '^[0-9]+$' OR movil NOT REGEXP '^[0-9]+$'
UNION UNION
SELECT telefono, movil FROM vn2008.Consignatarios SELECT telefono, movil FROM Consignatarios
WHERE telefono NOT REGEXP '^[0-9]+$' WHERE telefono NOT REGEXP '^[0-9]+$'
OR movil NOT REGEXP '^[0-9]+$' OR movil NOT REGEXP '^[0-9]+$'
UNION UNION
SELECT telefono, movil FROM vn2008.Contactos SELECT telefono, movil FROM Contactos
WHERE telefono NOT REGEXP '^[0-9]+$' WHERE telefono NOT REGEXP '^[0-9]+$'
OR movil NOT REGEXP '^[0-9]+$'; OR movil NOT REGEXP '^[0-9]+$';