Panel Personel ve Yetki Kancaları
Personel hesapları, yetki grupları, departmanlar ve panel ayarlarının on kancası.
Genel Bakış
Paneli kimin kullandığıyla ilgili her şey burada: personel hesapları, yetki grupları, destek departmanları ve yöneticinin kendi tercihleri.
Bu kancaların ortak deseni şudur: elinize kaydın tamamı değil, değişen alanlar gelir. Hiçbir şey değişmediyse dizi boştur.
Referans
Personel kaydının güncellenmesini izleme
Bir yönetici hesabı güncellendikten sonra çalışır.
Hook::add('action:admin.staff_updated', 10, function ($id, $data, $info) {
// Diziler yalniz DEGISENLERI tasir, kaydin tamamini degil.
if (isset($data['privilege'])) Acme::auditPrivilegeChange($id, $data['privilege']);
});Personel silinmesini izleme
Bir yönetici hesabı silindikten sonra çalışır.
Hook::add('action:admin.staff_deleted', 10, function ($id) {
// Kayit gecilmez: gereken bilgiyi once saklamis olmalisiniz.
Acme::revokeAllTokens($id);
});İkinci adım doğrulamanın kapatılmasını izleme
Bir yöneticinin ikinci adım doğrulaması kapatıldıktan sonra çalışır. Bu bir güvenlik zayıflamasıdır ve genellikle başka bir yönetici yapar.
Hook::add('action:admin.staff_authentication_disabled', 10, function ($id, $method) {
// Guvenlik zayifladi: sessiz kalmayin.
Acme::alertSecurityTeam($id, $method);
});Yetki grubunun kaydını izleme
Bir yetki grubu oluşturulduğunda ya da düzenlendiğinde çalışır.
add ya da edit.Hook::add('action:admin.privilege_saved', 10, function ($id, $type, $name, $perms) {
// Yeni kayit oldugunu KIMLIKTEN degil, islem turunden anlayin.
if ($type === 'add') Acme::noteNewRole($name, explode(',', $perms));
});Yöneticinin kendi profilini güncellemesini izleme
Bir yönetici kendi profilini güncellediğinde çalışır.
Hook::add('action:admin.profile_updated', 10,
function ($admin_id, $data_updates, $info_updates) {
if (isset($data_updates['email'])) Acme::alertEmailChange($admin_id);
});Panel tercihlerinin değişmesini izleme
Yönetici panelin görünümüyle ilgili tercihlerini değiştirdiğinde çalışır.
Hook::add('action:admin.preferences_updated', 10,
function ($admin_id, $info_sets, $data_sets) {
if (isset($data_sets['lang'])) Acme::syncLocale($admin_id, $data_sets['lang']);
});Departman kaydını izleme
Bir destek departmanı oluşturulduğunda ya da düzenlendiğinde çalışır.
add ya da edit.Hook::add('action:admin.department_saved', 10, function ($id, $type, $set_data) {
// Burada ekleme akisinda da dogru kimlik gelir.
Acme::syncDepartment($id, $set_data);
});Departman silinmesini izleme
Bir destek departmanı silindikten sonra çalışır.
Hook::add('action:admin.department_deleted', 10, function ($id, $detail) {
Acme::dropDepartmentRoute($id);
});Kayıt temizliğini izleme
Yönetici bir kayıt türünü temizlediğinde çalışır. Silinen kayıtlar geri gelmez.
Hook::add('action:admin.logs_cleared', 10, function ($type, $date) {
// Silinenler geri gelmez: kendi arsiviniz varsa oraya not dusun.
Acme::noteRetention($type, $date);
});Bildirim ayarlarının kaydını izleme
Bildirim şablonlarının hangi motorla işleneceği değiştiğinde çalışır. Bu ayar bütün bildirimlerin nasıl üretildiğini belirler.
Hook::add('action:admin.notification_settings_saved', 10, function ($engine, $admin_id) {
// Butun bildirimlerin uretimi bu ayara bagli.
Acme::notifyOps('bildirim motoru: ' . $engine);
});Tuzaklar
Yetki kancasında ekleme akışında geçen kimlik yeni kaydın kimliği değildir ve sıfır olabilir. Yeni kayıt olup olmadığını işlem türünden anlayın. Departman kancası bu kusuru taşımaz; orada kimlik her iki akışta da doğrudur.
Personel, profil ve tercih kancalarındaki diziler yalnız değişen alanları içerir. Bir alanın orada olmaması "silindi" demek değil, "dokunulmadı" demektir. Kaydın güncel hâline ihtiyacınız varsa ayrıca okuyun.
İlgili Makaleler
Geri bildiriminiz için teşekkürler!
Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.