-- Slice 8c-Fulfil · WorksCrs fulfilment perms

/* ── Author + record delivery (PC/PM/FS/Procurement/Admin) ───────────── */
INSERT INTO user_groups_perms (user_group_id, controller_allowed, action_allowed, created_by, created_on)
SELECT g.c0d, 'WorksCrs', a.act, 0, NOW()
FROM (
    SELECT 'fulfil'         AS act UNION ALL
    SELECT 'draftLpoAj'            UNION ALL
    SELECT 'recordIssueAj'
) a
CROSS JOIN user_groups g
WHERE g.user_group_name IN ('Projects Coordinator','Project Manager','Field Supervisor','Procurement','Administrator')
  AND NOT EXISTS (
    SELECT 1 FROM user_groups_perms p
    WHERE p.user_group_id = g.c0d
      AND p.controller_allowed = 'WorksCrs'
      AND p.action_allowed     = a.act
  );

/* ── Read-only (FM / Accountant / Exec) — see fulfil dashboard, no writes ─ */
INSERT INTO user_groups_perms (user_group_id, controller_allowed, action_allowed, created_by, created_on)
SELECT g.c0d, 'WorksCrs', 'fulfil', 0, NOW()
FROM user_groups g
WHERE g.user_group_name IN ('Finance Manager','Accountant','Executive')
  AND NOT EXISTS (
    SELECT 1 FROM user_groups_perms p
    WHERE p.user_group_id = g.c0d
      AND p.controller_allowed = 'WorksCrs'
      AND p.action_allowed     = 'fulfil'
  );
