| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <?php
- use Drupal\views\Views;
- $view = Views::getView('kanded');
- if (!$view) {
- echo "VIEW NOT FOUND\n";
- exit;
- }
- $role_access = function (array $roles) {
- $map = [];
- foreach ($roles as $r) {
- $map[$r] = $r;
- }
- return [
- 'type' => 'role',
- 'options' => ['role' => $map],
- ];
- };
- $perm_access = [
- 'type' => 'perm',
- 'options' => ['perm' => 'access content'],
- ];
- $kanded_access = [
- 'type' => 'mustikas_kanded_access',
- 'options' => [],
- ];
- $config = [
- 'default' => $perm_access,
- 'page_1' => $perm_access,
- 'page_liikmemaksud' => $kanded_access,
- 'page_projektid' => $kanded_access,
- 'page_tegevuskulud' => $kanded_access,
- 'page_liikmemaksud_saldod' => $role_access([
- 'administrator', 'emal_juhatuse_liige', 'emal_raamatupidamine', 'emal_susteemi_administraator',
- ]),
- 'page_projektid_saldod' => $role_access([
- 'emal_juhatuse_liige', 'emal_raamatupidamine', 'emal_susteemi_administraator',
- ]),
- ];
- $storage = $view->storage;
- $displays = $storage->get('display');
- foreach ($config as $display_id => $access) {
- if (!isset($displays[$display_id])) {
- echo "MISSING DISPLAY $display_id\n";
- continue;
- }
- if (!isset($displays[$display_id]['display_options'])) {
- $displays[$display_id]['display_options'] = [];
- }
- $displays[$display_id]['display_options']['access'] = $access;
- // Peida "inherit default" access, et display kasutaks oma accessi.
- if (!isset($displays[$display_id]['display_options']['defaults'])) {
- $displays[$display_id]['display_options']['defaults'] = [];
- }
- if ($display_id === 'default') {
- $displays[$display_id]['display_options']['defaults']['access'] = FALSE;
- } else {
- $displays[$display_id]['display_options']['defaults']['access'] = FALSE;
- }
- echo "SET $display_id -> " . $access['type'] . " (defaults.access=false)\n";
- }
- $storage->set('display', $displays);
- $storage->save();
- echo "STORAGE SAVED\n";
|