Jak wiadomo kopię bezpieczeństwa bazy danych wykonać możemy 1 kliknięciem w dziale:
Konfiguruj -> Zaawansowane -> Baza danych -> Kopia zapasowa DB
Jednak czasem może zachodzić potrzeba zablokowania tej funkcji. Np. aby pracownik obsługujący sprzedaż nie mógł pobrać kopii bazy. Znajdują się tam przecież wszystkie zamówienia, konta klientów, adresy itp.
Zawartość artykułu
Sposób 1 – odpowiedni profil administratora.
Można utworzyć dla niego odpowiedni profil z wyłączeniem dostępu do bazy danych:
Zaawansowane -> Zespół -> Profile
Tam tworzymy nowy profil np. „Obsługa sklepu” i wyłączamy w nim możliwość dostępu do bazy danych:
Następnie dodajemy konto pracownika i przypisujemy mu ten profil „Obsługa sklepu”.
Sposób 2 – zmiana w źródłach plików.
Ten sposób uniemożlwi dostęp do tworzenia kopii bezpieczeństwa niezależnie od przypisanego profilu.
Otwórz plik:
src/PrestaShopBundle/Controller/Admin/Configure/AdvancedParameters/BackupController.php
Znajdź funkcję:
public function indexAction(Request $request, BackupFilters $filters)
Po fragmencie kodu:
$backupsGridFactory = $this->get('prestashop.core.grid.factory.backup'); $backupGrid = $backupsGridFactory->getGrid($filters);
Umieć wpis:
return false;
Czyli wygląd kodu będzie miał postać:
$backupsGridFactory = $this->get('prestashop.core.grid.factory.backup'); $backupGrid = $backupsGridFactory->getGrid($filters); return false;
Zablokuje to kontroller z bazą danych. Dodatkowo ukryj zakładkę poprzez zmianę kodu CSS:
na końcu pliku:
{FOLDER-ADMINA}/themes/new-theme/public/
Umieść nową ręgułę CSS:
#subtab-AdminBackup { display: none; }