#1050: MyScriptDao.kt

projectforge-business/src/main/kotlin/org/projectforge/business/scripting/MyScriptDao.kt DAO (User Scripts), projectforge-business/src/main/kotlin/org/projectforge/business/scripting/MyScriptDao.kt 80 lines · 44 code · 33 comments · 3 blank
DAO for scripts executable by non-privileged users (non finance/controlling). Extends AbstractScriptDao. Grants execute access based on the script's executableByUserIds or executableByGroupIds fields rather than requiring finance/controlling group membership.

Access Control

Only allows SELECT operations for non-privileged users. On SELECT, checks:

  1. Script is not deleted.
  2. The logged-in user's ID is in executableByUserIds CSV list.
  3. The logged-in user is a member of a group listed in executableByGroupIds CSV list (resolved via userGroupCache).
All other operations (insert, update, delete) are denied with AccessException.

Git History

868d6abb7 2025 -> 2026
af1dabd8a KostZuweisungsExport: Konten fixed. MyScriptDao: group-check fixed.
63081666f Source file headers: 2024-> 2025.
3785f8347 Migration stuff in progress...
4c04cfd65 MAJOR-CHANGE! Migration of integer id's to Long id's.
5bafe7941 @Repository -> @Service.
67ce75fe9 Migration stuff in progress...
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.
38bec971a ThreadLocal -> Kotlin
389e0f809 WIP: sudo scripting and executable scripts by normal users.
061f11d59 WIP: sudo scripting
bebba9753 WIP: sudo scripting