Update Admin/Dashboard controller

This commit is contained in:
Romain Neutron
2012-09-13 13:03:34 +02:00
parent f28f216380
commit 00026fd26d
2 changed files with 19 additions and 29 deletions

View File

@@ -29,7 +29,7 @@ class Dashboard implements ControllerProviderInterface
$controllers = $app['controllers_factory']; $controllers = $app['controllers_factory'];
$controllers->before(function(Request $request) use ($app) { $controllers->before(function(Request $request) use ($app) {
return $app['phraseanet.core']['Firewall']->requireAdmin($app); return $app['firewall']->requireAdmin($app);
}); });
/** /**
@@ -134,7 +134,7 @@ class Dashboard implements ControllerProviderInterface
} }
try { try {
$engine = new \searchEngine_adapter($app['phraseanet.core']['Registry']); $engine = new \searchEngine_adapter($app);
$searchEngineStatus = $engine->get_status(); $searchEngineStatus = $engine->get_status();
} catch (\Exception $e) { } catch (\Exception $e) {
$searchEngineStatus = null; $searchEngineStatus = null;
@@ -146,8 +146,8 @@ class Dashboard implements ControllerProviderInterface
'email_status' => $emailStatus, 'email_status' => $emailStatus,
'search_engine_status' => $searchEngineStatus, 'search_engine_status' => $searchEngineStatus,
'php_version_constraints' => \setup::check_php_version(), 'php_version_constraints' => \setup::check_php_version(),
'writability_constraints' => \setup::check_writability($app['phraseanet.core']['Registry']), 'writability_constraints' => \setup::check_writability($app['phraseanet.registry']),
'binaries_constraints' => \setup::check_binaries($app['phraseanet.core']['Registry']), 'binaries_constraints' => \setup::check_binaries($app['phraseanet.registry']),
'php_extension_constraints' => \setup::check_php_extension(), 'php_extension_constraints' => \setup::check_php_extension(),
'cache_constraints' => \setup::check_cache_server(), 'cache_constraints' => \setup::check_cache_server(),
'phrasea_constraints' => \setup::check_phrasea(), 'phrasea_constraints' => \setup::check_phrasea(),
@@ -155,7 +155,7 @@ class Dashboard implements ControllerProviderInterface
'php_configuration_constraints' => \setup::check_php_configuration(), 'php_configuration_constraints' => \setup::check_php_configuration(),
); );
return new Response($app['phraseanet.core']['Twig']->render('admin/dashboard.html.twig', $parameters)); return new Response($app['twig']->render('admin/dashboard.html.twig', $parameters));
} }
/** /**
@@ -167,7 +167,7 @@ class Dashboard implements ControllerProviderInterface
*/ */
public function flush(Application $app, Request $request) public function flush(Application $app, Request $request)
{ {
if ($app['phraseanet.core']['CacheService']->flushAll()) { if ($app['phraseanet.cache-service']->flushAll()) {
return $app->redirect('/admin/dashboard/?flush_cache=ok'); return $app->redirect('/admin/dashboard/?flush_cache=ok');
} }
@@ -188,7 +188,7 @@ class Dashboard implements ControllerProviderInterface
$app->abort(400, 'Bad request missing email parameter'); $app->abort(400, 'Bad request missing email parameter');
}; };
if (\mail::mail_test($mail)) { if (\mail::mail_test($app, $mail)) {
return $app->redirect('/admin/dashboard/?email=sent'); return $app->redirect('/admin/dashboard/?email=sent');
} }
@@ -205,7 +205,7 @@ class Dashboard implements ControllerProviderInterface
*/ */
public function resetAdminRights(Application $app, Request $request) public function resetAdminRights(Application $app, Request $request)
{ {
\User_Adapter::reset_sys_admins_rights(); \User_Adapter::reset_sys_admins_rights($app);
return $app->redirect('/admin/dashboard/'); return $app->redirect('/admin/dashboard/');
} }
@@ -219,7 +219,7 @@ class Dashboard implements ControllerProviderInterface
*/ */
public function addAdmins(Application $app, Request $request) public function addAdmins(Application $app, Request $request)
{ {
$user = $app['phraseanet.core']->getAuthenticatedUser(); $user = $app['phraseanet.user'];
if (count($admins = $request->request->get('admins', array())) > 0) { if (count($admins = $request->request->get('admins', array())) > 0) {
@@ -228,8 +228,8 @@ class Dashboard implements ControllerProviderInterface
} }
if ($admins > 0) { if ($admins > 0) {
\User_Adapter::set_sys_admins(array_filter($admins)); \User_Adapter::set_sys_admins($app, array_filter($admins));
\User_Adapter::reset_sys_admins_rights(); \User_Adapter::reset_sys_admins_rights($app);
} }
} }

View File

@@ -6,16 +6,6 @@ class AdminDashboardTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
{ {
protected $client; protected $client;
public function createApplication()
{
$app = require __DIR__ . '/../../../../../lib/Alchemy/Phrasea/Application/Admin.php';
$app['debug'] = true;
unset($app['exception_handler']);
return $app;
}
/** /**
* @expectedException Symfony\Component\HttpKernel\Exception\HttpException * @expectedException Symfony\Component\HttpKernel\Exception\HttpException
* @covers \Alchemy\Phrasea\Controller\Admin\Dashboard::slash * @covers \Alchemy\Phrasea\Controller\Admin\Dashboard::slash
@@ -25,7 +15,7 @@ class AdminDashboardTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
public function testRouteDashboardUnauthorized() public function testRouteDashboardUnauthorized()
{ {
$this->setAdmin(false); $this->setAdmin(false);
$this->client->request('GET', '/dashboard/'); $this->client->request('GET', '/admin/dashboard/');
} }
/** /**
@@ -35,7 +25,7 @@ class AdminDashboardTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
{ {
$this->setAdmin(true); $this->setAdmin(true);
$this->client->request('GET', '/dashboard/', array( $this->client->request('GET', '/admin/dashboard/', array(
'flush_cache' => 'ok', 'flush_cache' => 'ok',
'email' => 'sent' 'email' => 'sent'
)); ));
@@ -50,7 +40,7 @@ class AdminDashboardTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
{ {
$this->setAdmin(true); $this->setAdmin(true);
$this->client->request('POST', '/dashboard/flush-cache/'); $this->client->request('POST', '/admin/dashboard/flush-cache/');
$this->assertTrue($this->client->getResponse()->isRedirect()); $this->assertTrue($this->client->getResponse()->isRedirect());
$this->assertRegexp('/flush_cache=ok/', $this->client->getResponse()->headers->get('location')); $this->assertRegexp('/flush_cache=ok/', $this->client->getResponse()->headers->get('location'));
@@ -63,7 +53,7 @@ class AdminDashboardTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
{ {
$this->setAdmin(true); $this->setAdmin(true);
$this->client->request('POST', '/dashboard/send-mail-test/', array( $this->client->request('POST', '/admin/dashboard/send-mail-test/', array(
'email' => self::$user->get_email() 'email' => self::$user->get_email()
)); ));
@@ -79,7 +69,7 @@ class AdminDashboardTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
{ {
$this->setAdmin(true); $this->setAdmin(true);
$this->client->request('POST', '/dashboard/send-mail-test/'); $this->client->request('POST', '/admin/dashboard/send-mail-test/');
} }
/** /**
* @covers \Alchemy\Phrasea\Controller\Admin\Dashboard::resetAdminRights * @covers \Alchemy\Phrasea\Controller\Admin\Dashboard::resetAdminRights
@@ -88,7 +78,7 @@ class AdminDashboardTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
{ {
$this->setAdmin(true); $this->setAdmin(true);
$this->client->request('POST', '/dashboard/reset-admin-rights/'); $this->client->request('POST', '/admin/dashboard/reset-admin-rights/');
$this->assertTrue($this->client->getResponse()->isRedirect()); $this->assertTrue($this->client->getResponse()->isRedirect());
} }
@@ -102,11 +92,11 @@ class AdminDashboardTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
$admins = array_keys(\User_Adapter::get_sys_admins()); $admins = array_keys(\User_Adapter::get_sys_admins());
$user = \User_Adapter::create($this->app['phraseanet.appbox'], uniqid('unit_test_user'), uniqid('unit_test_user'), uniqid('unit_test_user') ."@email.com", false); $user = \User_Adapter::create($this->app, uniqid('unit_test_user'), uniqid('unit_test_user'), uniqid('unit_test_user') ."@email.com", false);
$admins[] = $user->get_id(); $admins[] = $user->get_id();
$this->client->request('POST', '/dashboard/add-admins/', array( $this->client->request('POST', '/admin/dashboard/add-admins/', array(
'admins' => $admins 'admins' => $admins
)); ));