OpenNIT

Quelltext des aktuellen Standes

Fassung 1.1.1

218_workflow_subject_scope.sql

1 KB
-- ============================================================
-- Anträge: Wer als betroffene Person eingetragen werden darf
-- ============================================================
-- Bisher konnte jede antragsberechtigte Person jede beliebige Person aus dem
-- Verzeichnis als betroffen eintragen. `subject_scope` grenzt das je Vorlage
-- ein. Standard ist `all` – der bisherige Stand, damit bestehende Vorlagen
-- unverändert weiterlaufen und die Einschränkung bewusst gesetzt wird.
--
--   all     – jede aktive Person aus dem Verzeichnis
--   reports – nur die eigene Person und die direkt unterstellten Personen
--
-- Fehler beim erneuten Lauf (Spalte existiert bereits) sind benigne.

ALTER TABLE `workflows`
    ADD COLUMN `subject_scope` ENUM('all','reports') NOT NULL DEFAULT 'all'
        COMMENT 'Wer als betroffene Person wählbar ist' AFTER `subject_mode`;

-- Die Unterstellung wird über manager_email bzw. manager_ldap_dn aufgelöst;
-- beide Wege bekommen einen Index, damit die Prüfung je Antrag nicht über die
-- gesamte Personentabelle läuft.
ALTER TABLE `directory_persons`
    ADD INDEX `idx_person_manager_email` (`manager_email`);

ALTER TABLE `directory_persons`
    ADD INDEX `idx_person_manager_dn` (`manager_ldap_dn`(191));