diff --git a/i18n/default_de.json b/i18n/default_de.json index 763ea62..0aa9a29 100644 --- a/i18n/default_de.json +++ b/i18n/default_de.json @@ -145,6 +145,7 @@ "Permission key": "Berechtigungs-Schlüssel", "Create permission": "Berechtigung erstellen", "Edit permission": "Berechtigung bearbeiten", + "View permission": "Berechtigung anzeigen", "Delete this permission?": "Diese Berechtigung löschen?", "Permission created": "Berechtigung erstellt", "Permission updated": "Berechtigung aktualisiert", @@ -232,6 +233,7 @@ "Create user": "Benutzer anlegen", "Add a new user account": "Neues Benutzerkonto anlegen", "Edit user": "Benutzer bearbeiten", + "View user": "Benutzer anzeigen", "Update account details": "Kontodaten aktualisieren", "Create": "Erstellen", "Create & close": "Erstellen & schließen", @@ -482,6 +484,7 @@ "Tenants": "Mandanten", "Create tenant": "Mandant anlegen", "Edit tenant": "Mandant bearbeiten", + "View tenant": "Mandant anzeigen", "Tenant created": "Mandant erstellt", "Tenant updated": "Mandant aktualisiert", "Tenant deleted": "Mandant gelöscht", @@ -508,6 +511,7 @@ "Departments": "Abteilungen", "Create department": "Abteilung anlegen", "Edit department": "Abteilung bearbeiten", + "View department": "Abteilung anzeigen", "Department created": "Abteilung erstellt", "Department updated": "Abteilung aktualisiert", "Department deleted": "Abteilung gelöscht", @@ -532,6 +536,7 @@ "Assignable roles": "Zuweisbare Rollen", "Create role": "Rolle anlegen", "Edit role": "Rolle bearbeiten", + "View role": "Rolle anzeigen", "Role created": "Rolle erstellt", "Role updated": "Rolle aktualisiert", "Role deleted": "Rolle gelöscht", @@ -1093,6 +1098,7 @@ "Scheduled job could not be saved": "Geplante Aufgabe konnte nicht gespeichert werden", "Scheduled job saved": "Geplante Aufgabe gespeichert", "Edit scheduled job": "Geplante Aufgabe bearbeiten", + "View scheduled job": "Geplante Aufgabe anzeigen", "Job": "Aufgabe", "Job key": "Aufgaben-Key", "Run history": "Laufhistorie", diff --git a/i18n/default_en.json b/i18n/default_en.json index 18aed13..ce9294c 100644 --- a/i18n/default_en.json +++ b/i18n/default_en.json @@ -145,6 +145,7 @@ "Permission key": "Permission key", "Create permission": "Create permission", "Edit permission": "Edit permission", + "View permission": "View permission", "Delete this permission?": "Delete this permission?", "Permission created": "Permission created", "Permission updated": "Permission updated", @@ -232,6 +233,7 @@ "Create user": "Create user", "Add a new user account": "Add a new user account", "Edit user": "Edit user", + "View user": "View user", "Update account details": "Update account details", "Create": "Create", "Create & close": "Create & close", @@ -482,6 +484,7 @@ "Tenants": "Tenants", "Create tenant": "Create tenant", "Edit tenant": "Edit tenant", + "View tenant": "View tenant", "Tenant created": "Tenant created", "Tenant updated": "Tenant updated", "Tenant deleted": "Tenant deleted", @@ -508,6 +511,7 @@ "Departments": "Departments", "Create department": "Create department", "Edit department": "Edit department", + "View department": "View department", "Department created": "Department created", "Department updated": "Department updated", "Department deleted": "Department deleted", @@ -532,6 +536,7 @@ "Assignable roles": "Assignable roles", "Create role": "Create role", "Edit role": "Edit role", + "View role": "View role", "Role created": "Role created", "Role updated": "Role updated", "Role deleted": "Role deleted", @@ -1093,6 +1098,7 @@ "Scheduled job could not be saved": "Scheduled job could not be saved", "Scheduled job saved": "Scheduled job saved", "Edit scheduled job": "Edit scheduled job", + "View scheduled job": "View scheduled job", "Job": "Job", "Job key": "Job key", "Run history": "Run history", diff --git a/pages/admin/departments/edit($id).php b/pages/admin/departments/edit($id).php index 50bd8ce..9ab8c1f 100644 --- a/pages/admin/departments/edit($id).php +++ b/pages/admin/departments/edit($id).php @@ -151,4 +151,4 @@ if ($request->isMethod('POST')) { $validationSummaryErrors = $errorBag->toArray(); $errors = $errorBag->toFlatList(); -Buffer::set('title', t('Edit department')); +Buffer::set('title', $canUpdateDepartment ? t('Edit department') : t('View department')); diff --git a/pages/admin/departments/edit(default).phtml b/pages/admin/departments/edit(default).phtml index 8bbbe7c..52c11b5 100644 --- a/pages/admin/departments/edit(default).phtml +++ b/pages/admin/departments/edit(default).phtml @@ -13,6 +13,7 @@ $pageAuth = is_array($viewAuth['page'] ?? null) ? $viewAuth['page'] : []; $canUpdateDepartment = (bool) ($pageAuth['can_update_department'] ?? false); $canDeleteDepartment = (bool) ($pageAuth['can_delete_department'] ?? false); $isReadOnly = !$canUpdateDepartment; +$titleText = $isReadOnly ? t('View department') : t('Edit department'); ?> @@ -23,11 +24,11 @@ $isReadOnly = !$canUpdateDepartment; $breadcrumbs = [ ['label' => t('Home'), 'path' => 'admin'], ['label' => t('Departments'), 'path' => 'admin/departments'], - ['label' => t('Edit department')], + ['label' => $titleText], ]; require templatePath('partials/app-breadcrumb.phtml'); $titlebar = [ - 'title' => t('Edit department'), + 'title' => $titleText, 'backHref' => 'admin/departments', 'backTitle' => t('Cancel'), 'actions' => $canUpdateDepartment ? [ diff --git a/pages/admin/permissions/edit($id).php b/pages/admin/permissions/edit($id).php index 31f26fc..a2787ea 100644 --- a/pages/admin/permissions/edit($id).php +++ b/pages/admin/permissions/edit($id).php @@ -112,4 +112,4 @@ if ($request->isMethod('POST')) { $validationSummaryErrors = $errorBag->toArray(); $errors = $errorBag->toFlatList(); -Buffer::set('title', t('Edit permission')); +Buffer::set('title', $canUpdatePermission ? t('Edit permission') : t('View permission')); diff --git a/pages/admin/permissions/edit(default).phtml b/pages/admin/permissions/edit(default).phtml index 3d0c3a6..d393756 100644 --- a/pages/admin/permissions/edit(default).phtml +++ b/pages/admin/permissions/edit(default).phtml @@ -12,6 +12,8 @@ use MintyPHP\Session; $canUpdatePermission = (bool) ($canUpdatePermission ?? false); $canDeletePermission = (bool) ($canDeletePermission ?? false); +$isReadOnly = !$canUpdatePermission; +$titleText = $isReadOnly ? t('View permission') : t('Edit permission'); ?>
@@ -20,11 +22,11 @@ $canDeletePermission = (bool) ($canDeletePermission ?? false); $breadcrumbs = [ ['label' => t('Home'), 'path' => 'admin'], ['label' => t('Permissions'), 'path' => 'admin/permissions'], - ['label' => t('Edit permission')], + ['label' => $titleText], ]; require templatePath('partials/app-breadcrumb.phtml'); $titlebar = [ - 'title' => t('Edit permission'), + 'title' => $titleText, 'backHref' => 'admin/permissions', 'backTitle' => t('Cancel'), 'actions' => $canUpdatePermission ? [ diff --git a/pages/admin/roles/edit($id).php b/pages/admin/roles/edit($id).php index 3f18981..ca0d257 100644 --- a/pages/admin/roles/edit($id).php +++ b/pages/admin/roles/edit($id).php @@ -128,4 +128,4 @@ if ($request->isMethod('POST')) { $validationSummaryErrors = $errorBag->toArray(); $errors = $errorBag->toFlatList(); -Buffer::set('title', t('Edit role')); +Buffer::set('title', $canUpdateRole ? t('Edit role') : t('View role')); diff --git a/pages/admin/roles/edit(default).phtml b/pages/admin/roles/edit(default).phtml index 4061a1e..725c8ac 100644 --- a/pages/admin/roles/edit(default).phtml +++ b/pages/admin/roles/edit(default).phtml @@ -14,6 +14,7 @@ $values = $form ?? $role ?? []; $canUpdateRole = (bool) ($canUpdateRole ?? false); $canDeleteRole = (bool) ($canDeleteRole ?? false); $isReadOnly = !$canUpdateRole; +$titleText = $isReadOnly ? t('View role') : t('Edit role'); ?> @@ -23,11 +24,11 @@ $isReadOnly = !$canUpdateRole; $breadcrumbs = [ ['label' => t('Home'), 'path' => 'admin'], ['label' => t('Roles'), 'path' => 'admin/roles'], - ['label' => t('Edit role')], + ['label' => $titleText], ]; require templatePath('partials/app-breadcrumb.phtml'); $titlebar = [ - 'title' => t('Edit role'), + 'title' => $titleText, 'backHref' => 'admin/roles', 'backTitle' => t('Cancel'), 'actions' => $canUpdateRole ? [ diff --git a/pages/admin/scheduled-jobs/edit($id).php b/pages/admin/scheduled-jobs/edit($id).php index 2fdf478..669a5cc 100644 --- a/pages/admin/scheduled-jobs/edit($id).php +++ b/pages/admin/scheduled-jobs/edit($id).php @@ -73,5 +73,5 @@ $scheduleSummary = $scheduledJobService->scheduleSummary($job ?? []); $validationSummaryErrors = $errorBag->toArray(); $errors = $errorBag->toFlatList(); -Buffer::set('title', t('Edit scheduled job')); +Buffer::set('title', $canManage ? t('Edit scheduled job') : t('View scheduled job')); Buffer::set('grid_lang', json_encode(gridLang(), JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES)); diff --git a/pages/admin/scheduled-jobs/edit(default).phtml b/pages/admin/scheduled-jobs/edit(default).phtml index a2d09c9..88c3b51 100644 --- a/pages/admin/scheduled-jobs/edit(default).phtml +++ b/pages/admin/scheduled-jobs/edit(default).phtml @@ -38,15 +38,16 @@ if ($canRunNow) {
t('Home'), 'path' => 'admin'], ['label' => t('Scheduled jobs'), 'path' => 'admin/scheduled-jobs'], - ['label' => t('Edit')], + ['label' => $titleText], ]; require templatePath('partials/app-breadcrumb.phtml'); $titlebar = [ - 'title' => t('Edit scheduled job'), + 'title' => $titleText, 'backHref' => 'admin/scheduled-jobs', 'backTitle' => t('Back'), 'actions' => $canManage ? [ diff --git a/pages/admin/tenants/edit($id).php b/pages/admin/tenants/edit($id).php index e7fba76..9e19a36 100644 --- a/pages/admin/tenants/edit($id).php +++ b/pages/admin/tenants/edit($id).php @@ -158,4 +158,4 @@ if ($canManageSso && empty($ssoUiState)) { $validationSummaryErrors = $errorBag->toArray(); $errors = $errorBag->toFlatList(); -Buffer::set('title', t('Edit tenant')); +Buffer::set('title', $canUpdateTenant ? t('Edit tenant') : t('View tenant')); diff --git a/pages/admin/tenants/edit(default).phtml b/pages/admin/tenants/edit(default).phtml index 09a053c..656ca3f 100644 --- a/pages/admin/tenants/edit(default).phtml +++ b/pages/admin/tenants/edit(default).phtml @@ -15,6 +15,7 @@ $canDeleteTenant = (bool) ($pageAuth['can_delete_tenant'] ?? false); $canManageCustomFields = (bool) ($pageAuth['can_manage_custom_fields'] ?? false); $canManageSso = (bool) ($pageAuth['can_manage_sso'] ?? false); $isReadOnly = !$canUpdateTenant; +$titleText = $isReadOnly ? t('View tenant') : t('Edit tenant'); $avatarUuid = (string) ($values['uuid'] ?? ''); $tenantAvatarService = app(\MintyPHP\Service\Tenant\TenantAvatarService::class); $tenantFaviconService = app(\MintyPHP\Service\Tenant\TenantFaviconService::class); @@ -29,11 +30,11 @@ $hasFavicon = $avatarUuid !== '' && $tenantFaviconService->hasFavicon($avatarUui $breadcrumbs = [ ['label' => t('Home'), 'path' => 'admin'], ['label' => t('Tenants'), 'path' => 'admin/tenants'], - ['label' => t('Edit tenant')], + ['label' => $titleText], ]; require templatePath('partials/app-breadcrumb.phtml'); $titlebar = [ - 'title' => t('Edit tenant'), + 'title' => $titleText, 'backHref' => 'admin/tenants', 'backTitle' => t('Cancel'), 'actions' => $canUpdateTenant ? [ diff --git a/pages/admin/users/edit($id).php b/pages/admin/users/edit($id).php index 9719fc5..40d4117 100644 --- a/pages/admin/users/edit($id).php +++ b/pages/admin/users/edit($id).php @@ -300,4 +300,4 @@ if ($request->isMethod('POST')) { $validationSummaryErrors = $errorBag->toArray(); $errors = $errorBag->toFlatList(); -Buffer::set('title', $isOwnAccount ? t('My account') : t('Edit user')); +Buffer::set('title', $isOwnAccount ? t('My account') : ($canEditUser ? t('Edit user') : t('View user'))); diff --git a/pages/admin/users/edit(default).phtml b/pages/admin/users/edit(default).phtml index eb52c87..734e186 100644 --- a/pages/admin/users/edit(default).phtml +++ b/pages/admin/users/edit(default).phtml @@ -14,7 +14,8 @@ $userAvatarService = app(\MintyPHP\Service\User\UserAvatarService::class); $hasAvatar = $avatarUuid !== '' && $userAvatarService->hasAvatar($avatarUuid); $currentUserId = (int) ($_SESSION['user']['id'] ?? 0); $isOwnAccount = $currentUserId > 0 && $currentUserId === (int) ($values['id'] ?? 0); -$titleText = $isOwnAccount ? t('My account') : t('Edit user'); +$canEditUser = !empty($canEditUser); +$titleText = $isOwnAccount ? t('My account') : ($canEditUser ? t('Edit user') : t('View user')); $canViewUsers = !empty($canViewUsers); $canViewUserMeta = !empty($canViewUserMeta); $canViewUserAudit = !empty($canViewUserAudit);