<?php
/**
 * Creates an editable field that displays members in a given group
 *
 * @package userforms
 */

class EditableMemberListField extends EditableFormField
{

    private static $singular_name = 'Member List Field';

    private static $plural_name = 'Member List Fields';

    private static $has_one = array(
        'Group' => 'Group'
    );

    /**
     * @return FieldList
     */
    public function getCMSFields()
    {
        $fields = parent::getCMSFields();

        $fields->removeByName('Default');
        $fields->removeByName('Validation');

        $fields->addFieldToTab(
            'Root.Main',
            DropdownField::create(
                "GroupID",
                _t('EditableFormField.GROUP', 'Group'),
                Group::get()->map()
            )->setEmptyString(' ')
        );

        return $fields;
    }

    public function getFormField()
    {
        if (empty($this->GroupID)) {
            return false;
        }

        $members = Member::map_in_groups($this->GroupID);
        $field = new DropdownField($this->Name, $this->EscapedTitle, $members);
        $this->doUpdateFormField($field);
        return $field;
    }

    public function getValueFromData($data)
    {
        if (isset($data[$this->Name])) {
            $memberID = $data[$this->Name];
            $member = Member::get()->byID($memberID);
            return $member ? $member->getName() : "";
        }

        return false;
    }
}

<?php
/**
 * Creates an editable field that displays members in a given group
 *
 * @package userforms
 */

class EditableMemberListField extends EditableFormField
{

    private static $singular_name = 'Member List Field';

    private static $plural_name = 'Member List Fields';

    private static $has_one = array(
        'Group' => 'Group'
    );

    /**
     * @return FieldList
     */
    public function getCMSFields()
    {
        $fields = parent::getCMSFields();

        $fields->removeByName('Default');
        $fields->removeByName('Validation');

        $fields->addFieldToTab(
            'Root.Main',
            DropdownField::create(
                "GroupID",
                _t('EditableFormField.GROUP', 'Group'),
                Group::get()->map()
            )->setEmptyString(' ')
        );

        return $fields;
    }

    public function getFormField()
    {
        if (empty($this->GroupID)) {
            return false;
        }

        $members = Member::map_in_groups($this->GroupID);

        $field = DropdownField::create($this->Name, $this->EscapedTitle, $members)
            ->setTemplate('UserFormsDropdownField')
            ->setFieldHolderTemplate('UserFormsField_holder');

        $this->doUpdateFormField($field);

        return $field;
    }

    public function getValueFromData($data)
    {
        if (isset($data[$this->Name])) {
            $memberID = $data[$this->Name];
            $member = Member::get()->byID($memberID);
            return $member ? $member->getName() : "";
        }

        return false;
    }
}

FIX Use userforms template for member list field, fixes display rule issue
FIX Use userforms template for member list field, fixes display rule issue
