mirror of
https://github.com/silverstripe/silverstripe-userforms.git
synced 2024-10-22 15:05:42 +00:00
BUGFIX: fixed issue with disabling saving submissions and emailing #4629. BUGFIX: fixed saving member object error when logged in using a form
This commit is contained in:
parent
2ca993b7c4
commit
c073596b68
@ -277,7 +277,6 @@ class UserDefinedForm_Controller extends Page_Controller {
|
|||||||
$CustomDisplayRules = "";
|
$CustomDisplayRules = "";
|
||||||
$defaults = "";
|
$defaults = "";
|
||||||
$this->SubmitButtonText = ($this->SubmitButtonText) ? $this->SubmitButtonText : _t('UserDefinedForm.SUBMITBUTTON', 'Submit');
|
$this->SubmitButtonText = ($this->SubmitButtonText) ? $this->SubmitButtonText : _t('UserDefinedForm.SUBMITBUTTON', 'Submit');
|
||||||
|
|
||||||
if($this->Fields()) {
|
if($this->Fields()) {
|
||||||
foreach($this->Fields() as $field) {
|
foreach($this->Fields() as $field) {
|
||||||
|
|
||||||
@ -413,8 +412,9 @@ class UserDefinedForm_Controller extends Page_Controller {
|
|||||||
if($this->ShowClearButton) {
|
if($this->ShowClearButton) {
|
||||||
$actions->push(new ResetFormAction("clearForm"));
|
$actions->push(new ResetFormAction("clearForm"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// return the form
|
// return the form
|
||||||
$form = new Form( $this, "Form", $fields, $actions, new RequiredFields(array_keys($fieldValidation)));
|
$form = new Form($this, "Form", $fields, $actions, new RequiredFields(array_keys($fieldValidation)));
|
||||||
$form->loadDataFrom($this->failover);
|
$form->loadDataFrom($this->failover);
|
||||||
|
|
||||||
$FormName = $form->FormName();
|
$FormName = $form->FormName();
|
||||||
@ -475,7 +475,7 @@ JS
|
|||||||
function process($data, $form) {
|
function process($data, $form) {
|
||||||
// submitted form object
|
// submitted form object
|
||||||
$submittedForm = new SubmittedForm();
|
$submittedForm = new SubmittedForm();
|
||||||
$submittedForm->SubmittedBy = Member::currentUser();
|
$submittedForm->SubmittedByID = ($id = Member::currentUserID()) ? $id : 0;
|
||||||
$submittedForm->ParentID = $this->ID;
|
$submittedForm->ParentID = $this->ID;
|
||||||
$submittedForm->Recipient = $this->EmailTo;
|
$submittedForm->Recipient = $this->EmailTo;
|
||||||
if(!$this->DisableSaveSubmissions) $submittedForm->write();
|
if(!$this->DisableSaveSubmissions) $submittedForm->write();
|
||||||
@ -564,31 +564,16 @@ JS
|
|||||||
$email->setSubject($recipient->EmailSubject);
|
$email->setSubject($recipient->EmailSubject);
|
||||||
$email->setTo($recipient->EmailAddress);
|
$email->setTo($recipient->EmailAddress);
|
||||||
|
|
||||||
// check to see if they are a dynamic sender. eg based on a email field
|
// check to see if they are a dynamic sender. eg based on a email field a user selected
|
||||||
// a user selected
|
|
||||||
if($recipient->SendEmailFromField()) {
|
if($recipient->SendEmailFromField()) {
|
||||||
$name = Convert::raw2sql($recipient->SendEmailFromField()->Name);
|
$submittedFormField = $submittedFields->find('Name', $recipient->SendEmailFromField()->Name);
|
||||||
|
|
||||||
if(defined('DB::USE_ANSI_SQL')) {
|
|
||||||
$submittedFormField = DataObject::get_one("SubmittedFormField", "\"Name\" = '$name' AND \"ParentID\" = '$submittedForm->ID'");
|
|
||||||
} else {
|
|
||||||
$submittedFormField = DataObject::get_one("SubmittedFormField", "Name = '$name' AND ParentID = '$submittedForm->ID'");
|
|
||||||
}
|
|
||||||
|
|
||||||
if($submittedFormField) {
|
if($submittedFormField) {
|
||||||
$email->setFrom($submittedFormField->Value);
|
$email->setFrom($submittedFormField->Value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// check to see if they are a dynamic reciever eg based on a dropdown field
|
// check to see if they are a dynamic reciever eg based on a dropdown field a user selected
|
||||||
// a user selected
|
|
||||||
if($recipient->SendEmailToField()) {
|
if($recipient->SendEmailToField()) {
|
||||||
$name = Convert::raw2sql($recipient->SendEmailToField()->Name);
|
$submittedFormField = $submittedFields->find('Name', $recipient->SendEmailToField()->Name);
|
||||||
|
|
||||||
if(defined('DB::USE_ANSI_SQL')) {
|
|
||||||
$submittedFormField = DataObject::get_one("SubmittedFormField", "\"Name\" = '$name' AND \"ParentID\" = '$submittedForm->ID'");
|
|
||||||
} else {
|
|
||||||
$submittedFormField = DataObject::get_one("SubmittedFormField", "Name = '$name' AND ParentID = '$submittedForm->ID'");
|
|
||||||
}
|
|
||||||
|
|
||||||
if($submittedFormField) {
|
if($submittedFormField) {
|
||||||
$email->setTo($submittedFormField->Value);
|
$email->setTo($submittedFormField->Value);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user