diff --git a/db/routines/vn/procedures/worker_checkMultipleDevice.sql b/db/routines/vn/procedures/worker_checkMultipleDevice.sql index ecc485c9d4..00df08d49a 100644 --- a/db/routines/vn/procedures/worker_checkMultipleDevice.sql +++ b/db/routines/vn/procedures/worker_checkMultipleDevice.sql @@ -11,11 +11,13 @@ BEGIN */ DECLARE vHasPda BOOLEAN; DECLARE vIsFreelance BOOLEAN; + DECLARE vMaxDevicesPerUser INT; SELECT COUNT(*) INTO vHasPda FROM deviceProductionUser WHERE userFk = vSelf; - SELECT isFreelance INTO vIsFreelance FROM worker WHERE id = vSelf; + SELECT IFNULL(isFreelance, FALSE) INTO vIsFreelance FROM worker WHERE id = vSelf; + SELECT IFNULL(maxDevicesPerUser, FALSE) INTO vMaxDevicesPerUser FROM deviceProductionConfig LIMIT 1; - IF NOT vIsFreelance AND vHasPda > 1 THEN + IF NOT vIsFreelance AND vHasPda > vMaxDevicesPerUser THEN CALL util.throw('You can only have one PDA'); END IF; END$$ diff --git a/db/versions/11010-blackChrysanthemum/00-firstScript.sql b/db/versions/11010-blackChrysanthemum/00-firstScript.sql index c274d1c716..556ddfc1b5 100644 --- a/db/versions/11010-blackChrysanthemum/00-firstScript.sql +++ b/db/versions/11010-blackChrysanthemum/00-firstScript.sql @@ -12,3 +12,6 @@ ALTER TABLE vn.deviceProductionUser ADD CONSTRAINT deviceProductionUser_unique U ALTER TABLE vn.deviceProduction ADD simSerialNumber TEXT NULL; +ALTER TABLE vn.deviceProductionConfig ADD maxDevicesPerUser INT UNSIGNED NULL; + +UPDATE vn.deviceProductionConfig SET maxDevicesPerUser=1 WHERE id=1;