/**
  * Returns a form with fields from config.profiled_show_fields loaded from member.currentUser(). To work
  * properly expects the current controller to be extended with ProfiledControllerExtension.
  *
  * @return ProfiledMemberForm
  */
 public function ProfiledMemberForm($action)
 {
     $form = ProfiledMemberForm::create_for_action($action, Controller::curr(), null, null, null);
     $member = Injector::inst()->get('ProfiledMemberClass');
     $form->loadDataFrom($member::currentUser());
     return $form;
 }
 /**
  * @param FieldList $fields
  */
 public function getCMSFields()
 {
     $fields = parent::getCMSFields();
     $dbFields = $this->custom_database_fields(__CLASS__);
     foreach ($dbFields as $fieldName => $fieldSpec) {
         $fields->addFieldToTab(CrackerjackModule::get_config_setting(__CLASS__, 'tab_name'), ProfiledMemberForm::make_field($fieldName, [true, 'TextField', self::get_field_label($fieldName)]));
     }
     return $fields;
 }
 public function ProfiledMemberForm($for)
 {
     return ProfiledMemberForm::create_for_action($for, Controller::curr(), null, null, null);
 }
 public function thanks(SS_HTTPRequest $request)
 {
     $data = array('Email' => Session::get(self::SessionEmailKey), 'ShowThanks' => true);
     Session::clear(self::SessionEmailKey);
     ProfiledMemberForm::clear_form_message();
     return $data;
 }