2024-01-15 11:31:03 +00:00
|
|
|
DELIMITER $$
|
|
|
|
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`deviceProductionUser_beforeUpdate`
|
|
|
|
BEFORE UPDATE ON `deviceProductionUser`
|
|
|
|
FOR EACH ROW
|
|
|
|
BEGIN
|
2024-04-16 08:49:17 +00:00
|
|
|
DECLARE vHasPda BOOLEAN;
|
|
|
|
DECLARE visFreelancer BOOLEAN;
|
|
|
|
DECLARE vUserName VARCHAR(50);
|
|
|
|
|
|
|
|
SELECT COUNT(*) INTO vHasPda FROM deviceProductionUser WHERE userFk = NEW.userFk;
|
|
|
|
|
|
|
|
SELECT name INTO vUserName FROM account.user WHERE id = NEW.userFk;
|
|
|
|
|
|
|
|
SELECT account.user_hasRoleId(vUserName, (SELECT id FROM role WHERE name = 'freelancer')) INTO vIsFreelancer;
|
|
|
|
|
|
|
|
IF NOT vIsFreelancer AND vHasPda THEN
|
|
|
|
CALL util.throw('You can only have one PDA');
|
|
|
|
ELSE
|
|
|
|
SET NEW.editorFk = account.myUser_getId();
|
|
|
|
END IF;
|
2024-01-15 11:31:03 +00:00
|
|
|
END$$
|
|
|
|
DELIMITER ;
|