©Sergey Emelyanov 2025 | Alle Rechte vorbehalten
Die Registerkarte Aktualisierungen in VtigerCRM ermöglicht es, Änderungen an Datensätzen (z. B. Kontakte, Leads) nachzuvollziehen. Doch nicht alle Benutzer benötigen diese Funktion. In dieser Anleitung zeigen wir, wie Sie die Registerkarte nur für Administratoren sichtbar machen und direkten Zugriff unterbinden.
Fügen Sie eine Methode hinzu, die festlegt, ob die Registerkarte angezeigt wird.
Datei: modules/Vtiger/models/Module.php
public function isUpdateDisplayEnabled(): bool
{
$userModel = Users_Record_Model::getCurrentUserModel();
return $userModel->isAdminUser();
}
Erklärung:
true
zurückgegeben, und die Registerkarte bleibt sichtbar.Passen Sie die Logik für die Anzeige der Detailansicht-Tabs an.
Datei: modules/Vtiger/models/DetailView.php
Originalcode:
if ($parentModuleModel->isTrackingEnabled()) {
$relatedLinks[] = array(
'linktype' => 'DETAILVIEWTAB',
'linklabel' => 'LBL_UPDATES',
// ...
);
}
Geänderter Code:
if ($parentModuleModel->isTrackingEnabled() && $parentModuleModel->isUpdateDisplayEnabled()) {
$relatedLinks[] = array(
'linktype' => 'DETAILVIEWTAB',
'linklabel' => 'LBL_UPDATES',
// ...
);
}
Erklärung:
&& $parentModuleModel->isUpdateDisplayEnabled()
sorgt dafür, dass die Registerkarte nur Admins sehen.Verhindern Sie den manuellen Zugriff auf die Aktualisierungen-Seite.
Datei: modules/Vtiger/views/Detail.php
Originalcode:
$recordModel = Vtiger_Record_Model::getInstanceById($parentRecordId);
Geänderter Code:
$recordModel = Vtiger_Record_Model::getInstanceById($parentRecordId);
$moduleModel = $recordModel->getModule();
if (!$moduleModel->isUpdateDisplayEnabled()) {
throw new AppException('Not authorized to view updates page!');
}
Erklärung:
index.php?module=Leads&mode=showRecentActivities...
) zuzugreifen, wird eine Fehlermeldung geworfen.Datei | Zweck |
---|---|
Module.php | Prüft Admin-Status |
DetailView.php | Blendet die Registerkarte für Nicht-Admins aus |
Detail.php | Blockiert direkten URL-Zugriff |
Möchten Sie die Sichtbarkeit für andere Rollen erlauben? Passen Sie die Methode isUpdateDisplayEnabled()
an:
// Beispiel: Zugriff für Admins und eine Rolle "Auditor"
public function isUpdateDisplayEnabled(): bool
{
$userModel = Users_Record_Model::getCurrentUserModel();
return $userModel->isAdminUser() || $userModel->getRole() === 'H4';
}
Hinweise:
Mit diesen Schritten haben Sie die Kontrolle über die Sichtbarkeit sensibler Funktionen in VtigerCRM! 🛡️
©Sergey Emelyanov 2025 | Alle Rechte vorbehalten