ManagerRoleForm.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace backend\forms;
  3. use Yii;
  4. use yii\base\Model;
  5. /**
  6. * Class ManagerRoleForm
  7. * @package backend\forms
  8. */
  9. class ManagerRoleForm extends Model
  10. {
  11. public $id;
  12. /**
  13. * @var array
  14. */
  15. public $role_ids = [];
  16. /**
  17. * @var
  18. */
  19. public $roles;
  20. /**
  21. * @return \string[][]
  22. */
  23. public function rules()
  24. {
  25. return [
  26. ['role_ids', 'required'],
  27. ['role_ids', 'safe'],
  28. ];
  29. }
  30. /**
  31. * @return string[]
  32. */
  33. public function attributeLabels()
  34. {
  35. return [
  36. 'role_ids' => '授权角色'
  37. ];
  38. }
  39. public function save()
  40. {
  41. $defaultRoleIds = array_keys($this->roles);
  42. $selectIds = [];
  43. foreach ($this->role_ids as $id) {
  44. if (in_array($id, $defaultRoleIds)) {
  45. $selectIds[] = $id;
  46. }
  47. }
  48. // 角色授权
  49. Yii::$app->services->rbacAuthAssignment->assign($selectIds, $this->id, Yii::$app->id);
  50. return true;
  51. }
  52. }
粤ICP备19079148号