[ticket/624] Display modules on all pages if column disabled in portal

B3P-624
This commit is contained in:
Marc Alexander
2015-06-21 20:31:03 +02:00
parent 6a5c79787d
commit dc5638ef55
2 changed files with 23 additions and 2 deletions

View File

@@ -244,7 +244,7 @@ class main
return false;
}
if (in_array($column, array('left', 'right')) && $this->config['board3_' . $column . '_column'])
if ($this->is_enabled_side_column($column))
{
++$this->module_count[$column];
$template_module = $module->get_template_side($row['module_id']);
@@ -258,6 +258,18 @@ class main
return $template_module;
}
/**
* Check if column is enabled side column
*
* @param string $column Column string
*
* @return bool True if column is side column and enabled, false if not
*/
protected function is_enabled_side_column($column)
{
return in_array($column, array('left', 'right')) && ($this->config['board3_' . $column . '_column'] || $this->allowed_columns);
}
/**
* Check if portal needs to redirect to index page
*/
@@ -302,7 +314,7 @@ class main
*/
protected function check_module_count($column, $config = true)
{
return $this->module_count[$column] > 0 && $config;
return $this->module_count[$column] > 0 && ($config || $this->allowed_columns);
}
/**

View File

@@ -100,4 +100,13 @@ class main_test extends \board3\portal\tests\testframework\database_test_case
$this->assertNull($this->controller_main->handle(array('left' => 1)));
$this->template->assert_same(null, 'S_PORTAL_ALL');
}
public function test_is_enabled_side_column()
{
$this->assertFalse($this->controller_main->get_module_template(array(), new \board3\portal\modules\clock($this->config, $this->template)));
$this->assertNull($this->controller_main->handle(array('left' => 1)));
$this->template->assert_same(true, 'S_PORTAL_ALL');
$this->config['board3_left_column'] = false;
$this->assertSame('clock_side.html', $this->controller_main->get_module_template(array('module_column' => 1), new \board3\portal\modules\clock($this->config, $this->template)));
}
}