mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 12:05:37 +00:00
ENHANCEMENT Scaffolding Member->getCMSFields() to allow for easy extension
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@63624 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
parent
02ae284e10
commit
7887f0daa3
@ -910,28 +910,56 @@ class Member extends DataObject {
|
||||
* editing this member.
|
||||
*/
|
||||
public function getCMSFields() {
|
||||
$locale = ($this->Locale) ? $this->Locale : i18n::get_locale();
|
||||
$fields = parent::scaffoldFormFields();
|
||||
|
||||
$password = new ConfirmedPasswordField('Password', 'Password');
|
||||
$password->setCanBeEmpty(true);
|
||||
$fields->replaceField('Password', $password);
|
||||
|
||||
$fields->insertBefore(
|
||||
new HeaderField(_t('Member.PERSONALDETAILS', "Personal Details", PR_MEDIUM, 'Headline for formfields')),
|
||||
'FirstName'
|
||||
);
|
||||
|
||||
$fields->insertBefore(
|
||||
new HeaderField(_t('Member.USERDETAILS', "User Details", PR_MEDIUM, 'Headline for formfields')),
|
||||
'Email'
|
||||
);
|
||||
|
||||
$locale = ($this->Locale) ? $this->Locale : i18n::get_locale();
|
||||
$fields->replaceField('Locale', new DropdownField(
|
||||
"Locale",
|
||||
_t('Member.INTERFACELANG', "Interface Language", PR_MEDIUM, 'Language of the CMS'),
|
||||
i18n::get_existing_translations(),
|
||||
$locale
|
||||
));
|
||||
|
||||
$fields->insertAfter(
|
||||
new TreeMultiselectField("Groups", _t("Member.SECURITYGROUPS", "Security groups")),
|
||||
'Locale'
|
||||
);
|
||||
|
||||
$fields->removeByName('Bounced');
|
||||
$fields->removeByName('RememberLoginToken');
|
||||
$fields->removeByName('AutoLoginHash');
|
||||
$fields->removeByName('AutoLoginExpired');
|
||||
$fields->removeByName('PasswordEncryption');
|
||||
$fields->removeByName('PasswordExpiry');
|
||||
$fields->removeByName('LockedOutUntil');
|
||||
$fields->removeByName('Salt');
|
||||
$fields->removeByName('NumVisit');
|
||||
$fields->removeByName('LastVisited');
|
||||
|
||||
if($this->ID) {
|
||||
$fields = $this->addScaffoldRelationFields($fields);
|
||||
}
|
||||
|
||||
$fields->removeByName('Subscriptions');
|
||||
$fields->removeByName('UnsubscribedRecords');
|
||||
// Groups relation will get us into logical conflicts because
|
||||
// Members are displayed within group edit form in SecurityAdmin
|
||||
$fields->removeByName('Groups');
|
||||
|
||||
$fields = new FieldSet(
|
||||
//new TextField("Salutation", "Title"),
|
||||
new HeaderField(_t('Member.PERSONALDETAILS', "Personal Details", PR_MEDIUM, 'Headline for formfields')),
|
||||
new TextField("FirstName", _t('Member.FIRSTNAME')),
|
||||
new TextField("Surname", _t('Member.SURNAME')),
|
||||
new HeaderField(_t('Member.USERDETAILS', "User Details", PR_MEDIUM, 'Headline for formfields')),
|
||||
new TextField("Email", _t('Member.EMAIL')),
|
||||
new DropdownField(
|
||||
"Locale",
|
||||
_t('Member.INTERFACELANG', "Interface Language", PR_MEDIUM, 'Language of the CMS'),
|
||||
i18n::get_existing_translations(),
|
||||
$locale
|
||||
),
|
||||
$password,
|
||||
new TreeMultiselectField("Groups", _t("Member.SECURITYGROUPS", "Security groups"))
|
||||
);
|
||||
|
||||
$this->extend('updateCMSFields', $fields);
|
||||
|
||||
return $fields;
|
||||
|
Loading…
x
Reference in New Issue
Block a user