BUGFIX: fixed memberlist field

This commit is contained in:
Will Rossiter 2009-04-27 06:17:02 +00:00
parent 6e3f9668c0
commit 9179149446
2 changed files with 17 additions and 3 deletions

View File

@ -197,6 +197,9 @@ class UserDefinedForm_Controller extends Page_Controller {
foreach($this->Fields() as $field) {
$fieldToAdd = $field->getFormField();
if(!$fieldToAdd) break;
$fieldValidationOptions = array();
// Set the Error Messages
@ -368,8 +371,8 @@ JS
$submittedField->Name = $field->Name;
$submittedField->Title = $field->Title;
if($field->hasMethod( 'getValueFromData' )) {
$submittedField->Value = $field->getValueFromData( $data );
if($field->hasMethod('getValueFromData')) {
$submittedField->Value = $field->getValueFromData($data);
}
else {
if(isset($data[$field->Name])) $submittedField->Value = $data[$field->Name];

View File

@ -10,8 +10,19 @@ class EditableMemberListField extends EditableFormField {
static $plural_name = 'Member list fields';
function ExtraOptions() {
$groupID = ($this->getSetting('GroupID')) ? $this->getSetting('GroupID') : 0;
$groups = DataObject::get("Group");
if($groups) $groups = $groups->toDropdownMap('ID', 'Title');
$fields = new FieldSet(
new DropdownField("Fields[$this->ID][CustomSettings][GroupID]", _t('EditableFormField.GROUP', 'Group'), $groups, $groupID)
);
$fields->merge(parent::ExtraOptions());
return $fields;
}
function getFormField() {
return ($this->getSetting($this->GroupID)) ? new DropdownField( $this->Name, $this->Title, Member::mapInGroups($this->getSetting($this->GroupID))) : false;
return ($this->getSetting('GroupID')) ? new DropdownField( $this->Name, $this->Title, Member::mapInGroups($this->getSetting('GroupID'))) : false;
}
function getValueFromData($data) {