grant_role_perms.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. use Drupal\user\Entity\Role;
  3. // D7 rollipõhiste õiguste ülekandmine D11-sse.
  4. // NB! access content / view files / comments on juba authenticated rollil.
  5. $role_perms = [
  6. // EMAL liikmemaksud (D7: contact form + cookie)
  7. 'emal_liikmemaksud' => ['access site-wide contact form'],
  8. // EMAL juhatuse liige (D7: access filedepot + contact form + cookie)
  9. 'emal_juhatuse_liige' => ['access filedepot', 'access site-wide contact form'],
  10. // EMAL liige (D7: contact form + cookie)
  11. 'emal_liige' => ['access site-wide contact form'],
  12. // EMAL projektid (D7: contact form + cookie)
  13. 'emal_projektid' => ['access site-wide contact form'],
  14. // EMAL raamatupidamine (D7: contact form + cookie)
  15. 'emal_raamatupidamine' => ['access site-wide contact form'],
  16. // filedepot (D7: access filedepot + administer filedepot)
  17. 'filedepot' => ['access filedepot', 'administer filedepot'],
  18. // EMAL kutsekomisjon (D7: access filedepot)
  19. 'emal_kutsekomisjon' => ['access filedepot'],
  20. ];
  21. foreach ($role_perms as $role_id => $perms) {
  22. $role = Role::load($role_id);
  23. if (!$role) {
  24. echo "ROLE MISSING: $role_id\n";
  25. continue;
  26. }
  27. foreach ($perms as $p) {
  28. if (!$role->hasPermission($p)) {
  29. $role->grantPermission($p);
  30. echo "GRANT $role_id: $p\n";
  31. } else {
  32. echo "ALREADY $role_id: $p\n";
  33. }
  34. }
  35. $role->save();
  36. }
  37. echo "done\n";