FIX removed static:: and self:: calls

This commit is contained in:
Franco Springveldt 2017-09-08 14:24:28 +12:00
parent a633f81b96
commit bc05f327d3
10 changed files with 36 additions and 33 deletions

View File

@ -122,7 +122,7 @@ is the first step.
```php ```php
class SurveyForm extends MultiForm { class SurveyForm extends MultiForm {
public static $start_step = 'SurveyFormPersonalDetailsStep'; private static $start_step = 'SurveyFormPersonalDetailsStep';
} }
``` ```
@ -141,7 +141,7 @@ the `$start_step` variable *SurveyForm*, but we call it `$next_steps`.
```php ```php
class SurveyFormPersonalDetailsStep extends MultiFormStep { class SurveyFormPersonalDetailsStep extends MultiFormStep {
public static $next_steps = 'SurveyFormOrganisationDetailsStep'; private static $next_steps = 'SurveyFormOrganisationDetailsStep';
public function getFields() { public function getFields() {
return new FieldList( return new FieldList(
@ -167,7 +167,7 @@ SurveyFormOrganisationDetailsStep, then we can do something like this:
```php ```php
class SurveyFormOrganisationDetailsStep extends MultiFormStep { class SurveyFormOrganisationDetailsStep extends MultiFormStep {
public static $is_final_step = true; private static $is_final_step = true;
} }
``` ```
@ -334,7 +334,7 @@ Here is an example of how to populate the email address from step 1 in step2 :
```php ```php
class Step1 extends MultiFormStep class Step1 extends MultiFormStep
{ {
public static $next_steps = 'Step2'; private static $next_steps = 'Step2';
public function getFields() { public function getFields() {
return new FieldList( return new FieldList(
@ -345,7 +345,7 @@ class Step1 extends MultiFormStep
class Step2 extends MultiFormStep class Step2 extends MultiFormStep
{ {
public static $next_steps = 'Step3'; private static $next_steps = 'Step3';
public function getFields() { public function getFields() {
$fields = new FieldList( $fields = new FieldList(
@ -378,7 +378,7 @@ Here is an example of what we could do here:
```php ```php
class SurveyForm extends MultiForm { class SurveyForm extends MultiForm {
public static $start_step = 'SurveyFormPersonalDetailsStep'; private static $start_step = 'SurveyFormPersonalDetailsStep';
public function finish($data, $form) { public function finish($data, $form) {
parent::finish($data, $form); parent::finish($data, $form);
@ -557,7 +557,7 @@ For example:
```php ```php
class SurveyForm extends MultiForm { class SurveyForm extends MultiForm {
public static $start_step = 'SurveyFormPersonalDetailsStep'; private static $start_step = 'SurveyFormPersonalDetailsStep';
public function finish($data, $form) { public function finish($data, $form) {
parent::finish($data, $form); parent::finish($data, $form);

View File

@ -53,7 +53,7 @@ abstract class MultiForm extends Form
* *
* @var string Classname of a {@link MultiFormStep} subclass * @var string Classname of a {@link MultiFormStep} subclass
*/ */
public static $start_step; private static $start_step;
/** /**
* Set the casting for these fields. * Set the casting for these fields.
@ -78,7 +78,7 @@ abstract class MultiForm extends Form
* *
* @var array * @var array
*/ */
public static $ignored_fields = [ private static $ignored_fields = [
'url', 'url',
'executeForm', 'executeForm',
'SecurityID' 'SecurityID'
@ -94,7 +94,7 @@ abstract class MultiForm extends Form
* *
* @var array * @var array
*/ */
public static $actions_exempt_from_validation = [ private static $actions_exempt_from_validation = [
'action_prev' 'action_prev'
]; ];
@ -146,7 +146,7 @@ abstract class MultiForm extends Form
$validator = null; $validator = null;
$applyValidation = true; $applyValidation = true;
$actionNames = static::$actions_exempt_from_validation; $actionNames = $this->config()->get('actions_exempt_from_validation');
if ($actionNames) { if ($actionNames) {
foreach ($actionNames as $exemptAction) { foreach ($actionNames as $exemptAction) {
@ -181,7 +181,7 @@ abstract class MultiForm extends Form
// Disable security token - we tie a form to a session ID instead // Disable security token - we tie a form to a session ID instead
$this->disableSecurityToken(); $this->disableSecurityToken();
self::$ignored_fields[] = $getVar; $this->config()->merge('ignored_fields', $getVar);
} }
/** /**
@ -216,7 +216,7 @@ abstract class MultiForm extends Form
*/ */
public function getCurrentStep() public function getCurrentStep()
{ {
$startStepClass = static::$start_step; $startStepClass = $this->config()->get('start_step');
// Check if there was a start step defined on the subclass of MultiForm // Check if there was a start step defined on the subclass of MultiForm
if (!isset($startStepClass)) { if (!isset($startStepClass)) {
@ -584,7 +584,7 @@ abstract class MultiForm extends Form
$currentStep = $this->getCurrentStep(); $currentStep = $this->getCurrentStep();
if (is_array($data)) { if (is_array($data)) {
foreach ($data as $field => $value) { foreach ($data as $field => $value) {
if (in_array($field, static::$ignored_fields)) { if (in_array($field, $this->config()->get('ignored_fields'))) {
unset($data[$field]); unset($data[$field]);
} }
} }
@ -647,7 +647,7 @@ abstract class MultiForm extends Form
{ {
$stepsFound = ArrayList::create(); $stepsFound = ArrayList::create();
$firstStep = DataObject::get_one(static::$start_step, "\"SessionID\" = {$this->session->ID}"); $firstStep = DataObject::get_one($this->config()->get('start_step'), "\"SessionID\" = {$this->session->ID}");
$firstStep->LinkingMode = ($firstStep->ID == $this->getCurrentStep()->ID) ? 'current' : 'link'; $firstStep->LinkingMode = ($firstStep->ID == $this->getCurrentStep()->ID) ? 'current' : 'link';
$firstStep->setForm($this); $firstStep->setForm($this);
$stepsFound->push($firstStep); $stepsFound->push($firstStep);

View File

@ -40,7 +40,7 @@ class MultiFormStep extends DataObject
* *
* @var array|string * @var array|string
*/ */
public static $next_steps; private static $next_steps;
/** /**
* Each {@link MultiForm} subclass needs at least * Each {@link MultiForm} subclass needs at least
@ -50,7 +50,7 @@ class MultiFormStep extends DataObject
* *
* @var boolean * @var boolean
*/ */
public static $is_final_step = false; private static $is_final_step = false;
/** /**
* This variable determines whether a user can use * This variable determines whether a user can use
@ -243,7 +243,7 @@ class MultiFormStep extends DataObject
*/ */
public function getNextStep() public function getNextStep()
{ {
$nextSteps = static::$next_steps; $nextSteps = $this->config()->get('next_steps');
// Check if next_steps have been implemented properly if not the final step // Check if next_steps have been implemented properly if not the final step
if (!$this->isFinalStep()) { if (!$this->isFinalStep()) {
@ -277,7 +277,7 @@ class MultiFormStep extends DataObject
public function getNextStepFromDatabase() public function getNextStepFromDatabase()
{ {
if ($this->SessionID && is_numeric($this->SessionID)) { if ($this->SessionID && is_numeric($this->SessionID)) {
$nextSteps = static::$next_steps; $nextSteps = $this->config()->get('next_steps');
if (is_string($nextSteps)) { if (is_string($nextSteps)) {
return DataObject::get_one($nextSteps, "\"SessionID\" = {$this->SessionID}"); return DataObject::get_one($nextSteps, "\"SessionID\" = {$this->SessionID}");
@ -296,7 +296,7 @@ class MultiFormStep extends DataObject
*/ */
public function getNextSteps() public function getNextSteps()
{ {
return static::$next_steps; return $this->config()->get('next_steps');
} }
/** /**
@ -394,7 +394,7 @@ class MultiFormStep extends DataObject
*/ */
public function canGoBack() public function canGoBack()
{ {
return static::$can_go_back; return $this->config()->get('can_go_back');
} }
/** /**
@ -405,7 +405,7 @@ class MultiFormStep extends DataObject
*/ */
public function isFinalStep() public function isFinalStep()
{ {
return static::$is_final_step; return $this->config()->get('is_final_step');
} }
/** /**

View File

@ -27,7 +27,7 @@ class MultiFormPurgeTask extends BuildTask
* *
* @var int * @var int
*/ */
public static $session_expiry_days = 7; private static $session_expiry_days = 7;
/** /**
* Run this cron task. * Run this cron task.
@ -46,7 +46,7 @@ class MultiFormPurgeTask extends BuildTask
$delCount++; $delCount++;
} }
} }
echo $delCount . ' session records deleted that were older than ' . self::$session_expiry_days . ' days.'; echo $delCount . ' session records deleted that were older than ' . $this->config()->get('session_expiry_days') . ' days.';
} }
/** /**
@ -59,7 +59,7 @@ class MultiFormPurgeTask extends BuildTask
{ {
return DataObject::get( return DataObject::get(
MultiFormSession::class, MultiFormSession::class,
"DATEDIFF(NOW(), \"MultiFormSession\".\"Created\") > " . self::$session_expiry_days "DATEDIFF(NOW(), \"MultiFormSession\".\"Created\") > " . $this->config()->get('session_expiry_days')
); );
} }
} }

View File

@ -34,7 +34,6 @@ class MultiFormObjectDecoratorTest extends SapphireTest
->filter(['MultiFormIsTemporary' => 1]) ->filter(['MultiFormIsTemporary' => 1])
->map('Name') ->map('Name')
->toArray(); ->toArray();
$this->assertNotContains('Test 1', $records); $this->assertNotContains('Test 1', $records);
$this->assertNotContains('Test 2', $records); $this->assertNotContains('Test 2', $records);
$this->assertContains('Test 3', $records); $this->assertContains('Test 3', $records);

View File

@ -30,7 +30,7 @@ use SilverStripe\MultiForm\Models\MultiFormSession;
*/ */
class MultiFormTest extends FunctionalTest class MultiFormTest extends FunctionalTest
{ {
public static $fixture_file = 'MultiFormTest.yml'; protected static $fixture_file = 'MultiFormTest.yml';
/** /**
* @var MultiFormTestController * @var MultiFormTestController
@ -120,7 +120,11 @@ class MultiFormTest extends FunctionalTest
Config::modify()->set(MultiForm::class, 'get_var', 'SuperSessionID'); Config::modify()->set(MultiForm::class, 'get_var', 'SuperSessionID');
$form = $this->controller->Form(); $form = $this->controller->Form();
$this->assertContains('SuperSessionID', $form::$ignored_fields, "GET var wasn't added to ignored fields"); $this->assertContains(
'SuperSessionID',
$form->config()->get('ignored_fields'),
'GET var wasn\'t added to ignored fields'
);
$this->assertContains( $this->assertContains(
'SuperSessionID', 'SuperSessionID',
$form->FormAction(), $form->FormAction(),

View File

@ -14,7 +14,7 @@ use SilverStripe\MultiForm\Models\MultiFormStep;
*/ */
class MultiFormTestStepOne extends MultiFormStep implements TestOnly class MultiFormTestStepOne extends MultiFormStep implements TestOnly
{ {
public static $next_steps = MultiFormTestStepTwo::class; private static $next_steps = MultiFormTestStepTwo::class;
public function getFields() public function getFields()
{ {

View File

@ -11,10 +11,10 @@ use SilverStripe\MultiForm\Models\MultiForm;
*/ */
class MultiFormTestForm extends MultiForm implements TestOnly class MultiFormTestForm extends MultiForm implements TestOnly
{ {
public static $start_step = MultiFormTestStepOne::class; private static $start_step = MultiFormTestStepOne::class;
public function getStartStep() public function getStartStep()
{ {
return self::$start_step; return $this->config()->get('start_step');
} }
} }

View File

@ -13,7 +13,7 @@ use SilverStripe\MultiForm\Models\MultiFormStep;
*/ */
class MultiFormTestStepThree extends MultiFormStep implements TestOnly class MultiFormTestStepThree extends MultiFormStep implements TestOnly
{ {
public static $is_final_step = true; private static $is_final_step = true;
public function getFields() public function getFields()
{ {

View File

@ -12,7 +12,7 @@ use SilverStripe\MultiForm\Models\MultiFormStep;
*/ */
class MultiFormTestStepTwo extends MultiFormStep implements TestOnly class MultiFormTestStepTwo extends MultiFormStep implements TestOnly
{ {
public static $next_steps = MultiFormTestStepThree::class; private static $next_steps = MultiFormTestStepThree::class;
public function getFields() public function getFields()
{ {