salix/db/routines/vn/procedures/entry_isEditable.sql

27 lines
622 B
MySQL
Raw Normal View History

DELIMITER $$
2024-08-20 08:06:10 +00:00
CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`entry_isEditable`(
vSelf INT
)
BEGIN
/**
* Comprueba si una entrada se puede actualizar
* si no se puede retorna un throw.
*
* @param vSelf Id de entrada
*/
2024-11-21 08:12:04 +00:00
DECLARE vIsNotEditable BOOL DEFAULT FALSE;
2024-11-21 08:12:04 +00:00
SELECT TRUE INTO vIsNotEditable
FROM `entry` e
2024-10-25 14:15:13 +00:00
LEFT JOIN entryType et ON et.code = e.typeFk
WHERE e.id = vSelf
2024-11-21 08:12:04 +00:00
AND e.isBooked
AND (e.typeFk IS NULL OR NOT et.isInformal);
IF vIsNotEditable AND NOT IFNULL(@isModeInventory, FALSE) THEN
CALL util.throw(CONCAT('Entry ', vSelf, ' is not editable'));
END IF;
END$$
DELIMITER ;