Skip to content

Commit

Permalink
MINOR Unified permission control for i18nTextCollectorTask, TaskRunne…
Browse files Browse the repository at this point in the history
…r, TestRunner, ModelViewer, DevelopmentAdmin, TestViewer, MigrateTranslatableTask

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@86005 467b73ca-7a2a-4603-9d3b-597d59a354a9
  • Loading branch information
chillu committed Sep 10, 2009
1 parent fc03a86 commit 0cf75cf
Show file tree
Hide file tree
Showing 7 changed files with 29 additions and 13 deletions.
4 changes: 3 additions & 1 deletion core/i18nTextCollectorTask.php
Expand Up @@ -13,8 +13,10 @@ class i18nTextCollectorTask extends BuildTask {
";

function init() {
if(!Director::is_cli() && !Director::isDev() && !Permission::check("ADMIN")) Security::permissionFailure();
parent::init();

$canAccess = (Director::isDev() || Director::is_cli() || Permission::check("ADMIN"));
if(!$canAccess) return Security::permissionFailure($this);
}

/**
Expand Down
12 changes: 2 additions & 10 deletions dev/DevelopmentAdmin.php
Expand Up @@ -21,16 +21,8 @@ function init() {

// We allow access to this controller regardless of live-status or ADMIN permission only
// if on CLI. Access to this controller is always allowed in "dev-mode", or of the user is ADMIN.
$canAccess = (
Director::isDev()
|| Director::is_cli()
|| Permission::check("ADMIN")
);
if(!$canAccess) {
return Security::permissionFailure($this,
"This page is secured and you need administrator rights to access it. " .
"Enter your credentials below and we will send you right along.");
}
$canAccess = (Director::isDev() || Director::is_cli() || Permission::check("ADMIN"));
if(!$canAccess) return Security::permissionFailure($this);

// check for valid url mapping
// lacking this information can cause really nasty bugs,
Expand Down
4 changes: 3 additions & 1 deletion dev/ModelViewer.php
Expand Up @@ -21,7 +21,9 @@ function handleModule($request) {

function init() {
parent::init();
if(!Permission::check("ADMIN")) Security::permissionFailure();

$canAccess = (Director::isDev() || Director::is_cli() || Permission::check("ADMIN"));
if(!$canAccess) return Security::permissionFailure($this);

// check for graphviz dependencies
$returnCode = 0;
Expand Down
7 changes: 7 additions & 0 deletions dev/TaskRunner.php
Expand Up @@ -10,6 +10,13 @@ class TaskRunner extends Controller {
'$TaskName' => 'runTask'
);

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

$canAccess = (Director::isDev() || Director::is_cli() || Permission::check("ADMIN"));
if(!$canAccess) return Security::permissionFailure($this);
}

function index() {
$tasks = $this->getTasks();

Expand Down
4 changes: 4 additions & 0 deletions dev/TestRunner.php
Expand Up @@ -59,6 +59,10 @@ static function set_reporter($reporter) {

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

$canAccess = (Director::isDev() || Director::is_cli() || Permission::check("ADMIN"));
if(!$canAccess) return Security::permissionFailure($this);

ManifestBuilder::load_test_manifest();
if (!self::$default_reporter) self::set_reporter(Director::is_cli() ? 'CliDebugView' : 'DebugView');

Expand Down
7 changes: 7 additions & 0 deletions dev/TestViewer.php
Expand Up @@ -66,6 +66,13 @@ class TestViewer extends Controller {
'*' => array('', 'potentialMethodCall'),
),
);

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

$canAccess = (Director::isDev() || Director::is_cli() || Permission::check("ADMIN"));
if(!$canAccess) return Security::permissionFailure($this);
}

function createClass($token) {
$this->currentClass = array();
Expand Down
4 changes: 3 additions & 1 deletion tasks/MigrateTranslatableTask.php
Expand Up @@ -42,8 +42,10 @@ class MigrateTranslatableTask extends BuildTask {
protected $description = "Migrates site translations from SilverStripe 2.1/2.2 to new database structure.";

function init() {
if(!Director::is_cli() && !Director::isDev() && !Permission::check("ADMIN")) Security::permissionFailure();
parent::init();

$canAccess = (Director::isDev() || Director::is_cli() || Permission::check("ADMIN"));
if(!$canAccess) return Security::permissionFailure($this);
}

function run($request) {
Expand Down

0 comments on commit 0cf75cf

Please sign in to comment.