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
|
can_be_root: false
|
||||||
extensions:
|
extensions:
|
||||||
- A2nt\ElementalBasics\Extensions\UserDefinedFormExtension
|
- A2nt\ElementalBasics\Extensions\UserDefinedFormExtension
|
||||||
|
|
||||||
|
SilverStripe\Core\Injector\Injector:
|
||||||
|
DNADesign\ElementalUserForms\Control\ElementFormController:
|
||||||
|
class: A2nt\ElementalBasics\Controllers\ElementFormController
|
||||||
##################
|
##################
|
||||||
|
|
||||||
SilverStripe\CMS\Controllers\ContentController:
|
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
|
<?php
|
||||||
|
|
||||||
|
|
||||||
namespace A2nt\ElementalBasics\Controllers;
|
namespace A2nt\ElementalBasics\Controllers;
|
||||||
|
|
||||||
use DNADesign\Elemental\Controllers\ElementController;
|
use DNADesign\Elemental\Controllers\ElementController;
|
||||||
|
Loading…
Reference in New Issue
Block a user