Suatu saat, kita ingin memberikan akses user level Administrator kepada user yang levelnya bukan Administrator. Kita dapat menggunakan server event TablePermission_Loading yang lokasinya berada di bawah Server Events -> Global -> All Pages dalam project PHPMaker 2021.
Penting untuk diketahui, server event TablePermission_Loading dijalankan hanya untuk Table dari halaman yang sedang dimuat. Jika kita mengganti Hak Akses yang terdapat di Table lainnya melalui server event ini, maka tidak akan ada efeknya bagi Table lain tersebut. Gunakanlah server UserLevel_Loaded jika ingin mengganti Hak Akses di Table lainnya.
Katakanlah kita ingin memberikan akses Administrator kepada user nancy yang levelnya adalah Sales pada project demo2021, maka cukup masukkan kode berikut ke dalam server event TablePermission_Loading:
if ((CurrentPageName() == "employeesadd" || CurrentPageName() == "employeesedit") && (CurrentUserLevel() == 1)) $this->addUserLevel("Administrator");
Kode di atas artinya, jika halaman saat itu yang sedang diakses oleh Pengguna Akhir adalah employeesadd atau employeesedit, dan level pengguna adalah 1 (Sales), maka tambahkan akses level pengguna Administrator.
Tentu saja dalam hal ini kita sudah memberikan permission list, add, dan edit dari table employees, kepada level pengguna 1 (Sales) dari halaman User Levels yang sudah di-generate oleh PHPMaker 2021.
Mungkin masih ada yang bertanya-tanya, apa tujuan kita memberikan akses Administrator untuk halaman Add dan Edit dari table employees tadi?
Jawabannya adalah, supaya nilai pada field User Level di halaman Add dan Edit dari table employees tadi menjadi dapat dipilih oleh Pengguna yang bukan Administrator.
Dengan kata lain, jika kode di atas tadi tidak kita tambahkan ke dalam server event TablePermission_Loading, maka field User Level akan tetap dalam posisi read-only; yang ditandai dengan karakter beberapa bintang: ********
Betapa mudah dan cepatnya bukan? Hanya dengan dua baris kode itu saja, kita sudah bisa mengimplementasikan business-logic tersebut
Lagi-lagi, kita tidak perlu menulis berpuluh-puluh, beratus-ratus, atau bahkan beribu-ribu baris kode, karena selebihnya sudah ditangani oleh PHPMaker.
Tinggalkan Balasan