Skip to content

Commit

Permalink
Merge pull request #17 from open-sausages/pulls/4.0/fix-namespace-sec…
Browse files Browse the repository at this point in the history
…urity

Fix to support security namespace
  • Loading branch information
clarkepaul committed Jul 21, 2016
2 parents f03b0ab + 647d1f3 commit db1909f
Show file tree
Hide file tree
Showing 7 changed files with 45 additions and 32 deletions.
2 changes: 2 additions & 0 deletions _config.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
<?php

use SilverStripe\Security\Member;

Member::add_extension('FrameworkTestRole');
Member::add_extension('FileUploadRole');
SiteTree::add_extension('FrameworkTestSiteTreeExtension');
Expand Down
2 changes: 2 additions & 0 deletions code/Employee.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ class Employee extends DataObject
'PastCompanies' => 'SilverStripe\\FrameworkTest\\Model\\Company'
);

private static $table_name = 'Employee';

public function getCMSFields()
{
$fields = parent::getCMSFields();
Expand Down
10 changes: 6 additions & 4 deletions code/FrameworkTestRole.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,27 @@
use SilverStripe\ORM\DataObject;
use SilverStripe\ORM\DB;
use SilverStripe\ORM\DataExtension;
use SilverStripe\Security\Member;


class FrameworkTestRole extends DataExtension
{

private static $has_one = array(
'FavouritePage' => 'SiteTree',
);

public function updateCMSFields(FieldList $fields)
{
$fields->addFieldToTab(
'Root.Main',
new TreeDropdownField("FavouritePageID", "Favourite page", "SiteTree")
);
}

public function requireDefaultRecords()
{
$hasTestMembers = DataObject::get('Member')->find('Email', 'hayley@test.com');
$hasTestMembers = Member::get()->find('Email', 'hayley@test.com');
if (!$hasTestMembers) {
foreach ($this->data() as $name) {
$member = new Member(array(
Expand Down
28 changes: 16 additions & 12 deletions code/FrameworktestRegressSessionAdmin.php
Original file line number Diff line number Diff line change
@@ -1,32 +1,36 @@
<?php

use SilverStripe\Security\Permission;
use SilverStripe\Security\Security;

/**
* Starts a test session with various configurations set in session.
* These configurations are assumed to be evaluated in mysite/_config.php,
* with custom switches for the different options.
*/
class FrameworktestRegressSessionAdmin extends Controller
{

protected $template = 'BlankPage';

public function init()
{
parent::init();

if (!Permission::check('ADMIN')) {
return Security::permissionFailure($this);
}
}

public function Link($action = null)
{
return Controller::join_links('dev', 'regress', $action);
}

public function Form()
{
$isRunning = (Session::get('db'));

if ($isRunning) {
$actions = new FieldList(
new FormAction('endsession', 'End Session')
Expand All @@ -36,7 +40,7 @@ public function Form()
new FormAction('startsession', 'Start Session')
);
}

$form = new Form(
$this,
'Form',
Expand Down Expand Up @@ -65,31 +69,31 @@ public function Form()
$actions
);
$dbField->setHasEmptyDefault(false);

if ($isRunning) {
foreach ($form->Fields() as $field) {
$form->Fields()->replaceField($field->Name(),
$field->performReadonlyTransformation()
);
}
}

return $form;
}

public function startsession($data, $form)
{
Session::set('enabletranslatable', (isset($data['enabletranslatable'])) ? $data['enabletranslatable'] : null);
Session::set('db', $data['db']);

return $this->redirect('dev/build/?BackURL=admin');
}

public function endsession()
{
Session::set('enabletranslatable', null);
Session::set('db', null);

return $this->redirectBack();
}
}
9 changes: 5 additions & 4 deletions code/TestFileUploadPage.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

use SilverStripe\FrameworkTest\Model\TestPage;
use SilverStripe\FrameworkTest\Model\TestPage_Controller;
use SilverStripe\Security\Member;

class TestFileUploadPage extends TestPage
{
Expand All @@ -13,23 +14,23 @@ class TestFileUploadPage_Controller extends TestPage_Controller
private static $allowed_actions = array(
'Form'
);

public function Form()
{
$fields = new FieldList(
new EmailField('Email', 'EmailField'),
new FileField('AFile', 'FileField'),
$aImage = new UploadField('AImage', 'SimpleImageField')
);

$aImage->allowedExtensions = array('jpg', 'gif', 'png');

$actions = new FieldList(
new FormAction('addMember', "Add a member with two Files uploaded")
);
return new Form($this, "Form", $fields, $actions);
}

public function addMember($data, $form)
{
$member = new Member();
Expand Down
11 changes: 6 additions & 5 deletions code/multiform/Page2MultiForm.php
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
<?php

use SilverStripe\ORM\DataObject;
use SilverStripe\Security\Member;

class Page2MultiForm extends MultiForm
{

public static $start_step = 'Page2PersonalDetailsFormStep';

public function finish($data, $form)
{
parent::finish($data, $form);
Expand Down Expand Up @@ -44,9 +45,9 @@ public function finish($data, $form)

class Page2PersonalDetailsFormStep extends MultiFormStep
{

public static $next_steps = 'Page2OrganisationDetailsFormStep';

public function getFields()
{
return new FieldList(
Expand All @@ -58,7 +59,7 @@ public function getFields()

class Page2OrganisationDetailsFormStep extends MultiFormStep
{

public static $is_final_step = true;

public function getFields()
Expand Down
15 changes: 8 additions & 7 deletions code/multiform/Page3MultiForm.php
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
<?php

use SilverStripe\ORM\DataObject;
use SilverStripe\Security\Member;

class Page3MultiForm extends MultiForm
{

public static $start_step = 'Page3StartFormStep';

public function finish($data, $form)
{
parent::finish($data, $form);
Expand Down Expand Up @@ -44,9 +45,9 @@ public function finish($data, $form)

class Page3StartFormStep extends MultiFormStep
{

public static $next_steps = 'Page3PersonalDetailsFormStep';

public function getFields()
{
return new FieldList(
Expand All @@ -63,9 +64,9 @@ public function getFields()

class Page3PersonalDetailsFormStep extends MultiFormStep
{

public static $next_steps = 'Page3OrganisationDetailsFormStep';

public function getFields()
{
return new FieldList(
Expand All @@ -77,7 +78,7 @@ public function getFields()

class Page3OrganisationDetailsFormStep extends MultiFormStep
{

public static $is_final_step = true;

public function getFields()
Expand Down

0 comments on commit db1909f

Please sign in to comment.