feat(wiki): Betriebsrat-Berechtigung (r-wiki-br)
Neue Permission r-wiki-br ermöglicht eingeschränkte Wiki-Bearbeitung: - Neue Permission in main_permission (ID 30: r-wiki-br) - Neue Spalte betriebsrat_editable in knowledgecenter_categories_update - Checkbox "Für Betriebsrat bearbeitbar" in der Kategorie-Verwaltung (nur für r-wiki-Redakteure sichtbar und speicherbar) Berechtigungslogik: - r-wiki schlägt immer: Wer beide Rechte hat, verhält sich wie Redakteur - Betriebsrat sieht nur Kategorien mit betriebsrat_editable=1 - "Beitrag erstellen"-Button nur in freigegebenen Kategorien sichtbar - Neue Posts/Bearbeitungen auf betriebsrat_editable-Kategorien beschränkt - Settings-Tab und Kategorieverwaltung weiterhin r-wiki-only - Ajax-Endpoints (save_post_files, delete_post_file, upload_inline_image) prüfen Kategorie-Berechtigung serverseitig File Gallery: - Betriebsrat ist per kc_lock_path auf den Post-eigenen Ordner beschränkt - Redakteur kann frei navigieren (kein Lock) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,15 +1,25 @@
|
||||
<script>
|
||||
// Redakteur (r-wiki) darf frei navigieren; Betriebsrat ist auf den Post-Ordner beschränkt
|
||||
var kcUserLockedToPostFolder = <?= (!is_wiki_redakteur() && is_wiki_betriebsrat()) ? 'true' : 'false' ?>;
|
||||
|
||||
function buildFileGalleryUrl(target, mode, ajaxFunction, nocache) {
|
||||
var base = "/module/knowledgecenter_update/Plugins/filesgallery.php?";
|
||||
var startPath = (typeof window.kcPostGalleryPath === "string")
|
||||
var postPath = (typeof window.kcPostGalleryPath === "string")
|
||||
? window.kcPostGalleryPath.replace(/^\/+|\/+$/g, "")
|
||||
: "";
|
||||
|
||||
// Redakteur: kein Lock (leerer kc_lock_path löscht den Session-Lock)
|
||||
// Betriebsrat: immer auf Post-Ordner beschränken
|
||||
var lockPath = kcUserLockedToPostFolder ? postPath : "";
|
||||
|
||||
var params = "input_id=" + encodeURIComponent(target) +
|
||||
"&mode=" + encodeURIComponent(mode) +
|
||||
"&saveajax=" + encodeURIComponent(ajaxFunction || "") +
|
||||
"&kc_lock_path=" + encodeURIComponent(startPath) +
|
||||
"&kc_lock_path=" + encodeURIComponent(lockPath) +
|
||||
"&nocache=" + nocache;
|
||||
|
||||
// Startverzeichnis: bei Betriebsrat immer Post-Ordner, bei Redakteur auch
|
||||
var startPath = postPath;
|
||||
if (startPath.length > 0) {
|
||||
return base + encodeURIComponent(startPath) + "&" + params;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user