FIX - allow for long lists of users by using a gridfield

This commit is contained in:
Torleif West 2018-08-09 09:37:49 +12:00
parent 01c77790f7
commit 2e208aed43
2 changed files with 10 additions and 23 deletions

View File

@ -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();

View File

@ -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();