AssignPermissionForm.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. /**
  3. * Author: lf
  4. * Blog: https://blog.feehi.com
  5. * Email: job@feehi.com
  6. * Created at: 2020-03-22 15:44
  7. */
  8. namespace backend\models\form;
  9. class AssignPermissionForm extends \yii\base\Model
  10. {
  11. private $roles = [];
  12. private $permissions = [];
  13. public function rules()
  14. {
  15. $rules = parent::rules();
  16. $rules[] = [['roles', 'permissions'], 'safe'];
  17. return $rules;
  18. }
  19. public function getRoles()
  20. {
  21. return $this->roles;
  22. }
  23. public function getPermissions()
  24. {
  25. return $this->permissions;
  26. }
  27. public function setAttributes($values, $safeOnly = true)
  28. {
  29. if( isset($values['roles']) ){
  30. if( !is_array($values['roles']) ){
  31. $this->roles = [];
  32. }else {
  33. $this->roles =$values['roles'];
  34. }
  35. }
  36. if( isset($values['permissions']) ){
  37. if( !is_array($values['permissions']) ){
  38. $this->permissions = [];
  39. }else {
  40. $temp = array_flip($values['permissions']);
  41. if( isset($temp['0']) ){
  42. unset($temp['0']);
  43. }
  44. $this->permissions = $temp;
  45. }
  46. }
  47. }
  48. }