From 2e208aed4322a1681d190d999e2c558b590d5202 Mon Sep 17 00:00:00 2001 From: Torleif West Date: Thu, 9 Aug 2018 09:37:49 +1200 Subject: [PATCH] FIX - allow for long lists of users by using a gridfield --- .../ContentReviewDefaultSettings.php | 19 ++++++------------- code/extensions/SiteTreeContentReview.php | 14 ++++---------- 2 files changed, 10 insertions(+), 23 deletions(-) diff --git a/code/extensions/ContentReviewDefaultSettings.php b/code/extensions/ContentReviewDefaultSettings.php index 969b229..b2f437a 100644 --- a/code/extensions/ContentReviewDefaultSettings.php +++ b/code/extensions/ContentReviewDefaultSettings.php @@ -112,20 +112,13 @@ class ContentReviewDefaultSettings extends DataExtension $fields->addFieldToTab('Root.ContentReview', $reviewFrequency); - $users = Permission::get_members_by_permission(array( - 'CMS_ACCESS_CMSMain', - 'ADMIN', - )); + $gridfieldconfig = GridFieldConfig_RelationEditor::create(); + $gridfieldconfig->removeComponentsByType(new GridFieldAddNewButton()); + $gridfield = GridField::create('OwnerUsers', _t("ContentReview.PAGEOWNERUSERS", "Users"), + $this->OwnerUsers()->Sort('FirstName'), $gridfieldconfig) + ->setDescription(_t('ContentReview.OWNERUSERSDESCRIPTION', 'Page owners that are responsible for reviews')); - $usersMap = $users->map('ID', 'Title')->toArray(); - asort($usersMap); - - $userField = ListboxField::create('OwnerUsers', _t('ContentReview.PAGEOWNERUSERS', 'Users'), $usersMap) - ->setMultiple(true) - ->setAttribute('data-placeholder', _t('ContentReview.ADDUSERS', 'Add users')) - ->setDescription(_t('ContentReview.OWNERUSERSDESCRIPTION', 'Page owners that are responsible for reviews')); - - $fields->addFieldToTab('Root.ContentReview', $userField); + $fields->addFieldToTab('Root.ContentReview', $gridfield); $groupsMap = array(); diff --git a/code/extensions/SiteTreeContentReview.php b/code/extensions/SiteTreeContentReview.php index 2ec8c38..255a88e 100644 --- a/code/extensions/SiteTreeContentReview.php +++ b/code/extensions/SiteTreeContentReview.php @@ -344,16 +344,10 @@ class SiteTreeContentReview extends DataExtension implements PermissionProvider $viewersOptionsField = OptionsetField::create("ContentReviewType", _t("ContentReview.OPTIONS", "Options"), $options); - $users = Permission::get_members_by_permission(array("CMS_ACCESS_CMSMain", "ADMIN")); - - $usersMap = $users->map("ID", "Title")->toArray(); - - asort($usersMap); - - $userField = ListboxField::create("OwnerUsers", _t("ContentReview.PAGEOWNERUSERS", "Users"), $usersMap) - ->setMultiple(true) - ->addExtraClass('custom-setting') - ->setAttribute("data-placeholder", _t("ContentReview.ADDUSERS", "Add users")) + $gridfieldconfig = GridFieldConfig_RelationEditor::create(); + $gridfieldconfig->removeComponentsByType(new GridFieldAddNewButton()); + $userField = GridField::create('OwnerUsers', _t("ContentReview.PAGEOWNERUSERS", "Users"), + $this->OwnerUsers(), $gridfieldconfig) ->setDescription(_t('ContentReview.OWNERUSERSDESCRIPTION', 'Page owners that are responsible for reviews')); $groupsMap = array();