IMPR: AJAX finish response for ElementForm

This commit is contained in:
Tony Air 2023-11-20 11:51:45 +02:00
parent 817b20f5c3
commit af29804172
3 changed files with 37 additions and 1 deletions

View File

@ -17,6 +17,10 @@ SilverStripe\UserForms\Model\UserDefinedForm:
can_be_root: false
extensions:
- A2nt\ElementalBasics\Extensions\UserDefinedFormExtension
SilverStripe\Core\Injector\Injector:
DNADesign\ElementalUserForms\Control\ElementFormController:
class: A2nt\ElementalBasics\Controllers\ElementFormController
##################
SilverStripe\CMS\Controllers\ContentController:

View File

@ -0,0 +1,33 @@
<?php
namespace A2nt\ElementalBasics\Controllers;
use DNADesign\Elemental\Models\BaseElement;
use DNADesign\ElementalUserForms\Control\ElementFormController as ControlElementFormController;
use SilverStripe\Control\Director;
use SilverStripe\Core\Injector\Injector;
use SilverStripe\ORM\ValidationResult;
class ElementFormController extends ControlElementFormController
{
private static $allowed_actions = [
'finished',
];
public function finished()
{
$user = $this->getUserFormController();
$user->finished();
$page = $this->getPage();
if (Director::is_ajax()) {
$el = $this->getElement();
return json_encode([
'message' => $el->OnCompleteMessage,
'status' => ValidationResult::TYPE_GOOD,
]);
}
return parent::finished();
}
}

View File

@ -1,6 +1,5 @@
<?php
namespace A2nt\ElementalBasics\Controllers;
use DNADesign\Elemental\Controllers\ElementController;