mirror of
https://github.com/a2nt/silverstripe-elemental-basics.git
synced 2024-10-22 17:05:54 +02:00
Compare commits
2 Commits
817b20f5c3
...
370b2c0764
Author | SHA1 | Date | |
---|---|---|---|
370b2c0764 | |||
af29804172 |
@ -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:
|
||||
|
61
src/Controllers/ElementFormController.php
Normal file
61
src/Controllers/ElementFormController.php
Normal file
@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
namespace A2nt\ElementalBasics\Controllers;
|
||||
|
||||
use DNADesign\ElementalUserForms\Control\ElementFormController as ControlElementFormController;
|
||||
use SilverStripe\Control\Controller;
|
||||
use SilverStripe\Control\Director;
|
||||
use SilverStripe\ORM\ValidationResult;
|
||||
|
||||
class ElementFormController extends ControlElementFormController
|
||||
{
|
||||
private static $allowed_actions = [
|
||||
'Form',
|
||||
'finished',
|
||||
];
|
||||
|
||||
public function Form()
|
||||
{
|
||||
$form = parent::Form();
|
||||
|
||||
// Elements actions
|
||||
$current = Controller::curr();
|
||||
$link = $current->Link();
|
||||
|
||||
if (is_a($current, self::class)) {
|
||||
$link = $current->getElement()->getPage()->Link();
|
||||
}
|
||||
|
||||
$link = Director::makeRelative($link);
|
||||
$link = !$link || $link === '/' ? '/home' : $link;
|
||||
|
||||
$form->setFormAction(
|
||||
Controller::join_links(
|
||||
'/',
|
||||
$link,
|
||||
'element',
|
||||
$this->owner->ID,
|
||||
__FUNCTION__
|
||||
)
|
||||
);
|
||||
|
||||
return $form;
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
@ -1,6 +1,5 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace A2nt\ElementalBasics\Controllers;
|
||||
|
||||
use DNADesign\Elemental\Controllers\ElementController;
|
||||
|
Loading…
Reference in New Issue
Block a user