diff --git a/composer.json b/composer.json index 6ac76508a6..4df120ba25 100644 --- a/composer.json +++ b/composer.json @@ -63,7 +63,7 @@ "doctrine/data-fixtures" : "1.0.x@dev", "phpunit/phpunit" : "~3.7", "behat/behat" : "~2.4", - "behat/mink" : "~1.4", + "behat/mink" : "~1.4", "behat/mink-extension" : "~1.0", "behat/mink-goutte-driver" : "~1.0", "behat/mink-selenium2-driver" : "~1.0", diff --git a/lib/Alchemy/Phrasea/Controller/Client/Root.php b/lib/Alchemy/Phrasea/Controller/Client/Root.php index 7bf641770e..2ef659f89e 100644 --- a/lib/Alchemy/Phrasea/Controller/Client/Root.php +++ b/lib/Alchemy/Phrasea/Controller/Client/Root.php @@ -27,6 +27,17 @@ class Root implements ControllerProviderInterface $controllers = $app['controllers_factory']; $controllers->before(function (Request $request) use ($app) { + /** + * /!\/!\/!\/!\/!\/!\/!\/!\/!\ + * + * Client is not longer used + * + * Redirect to production with a nice message + */ + $app['session']->getFlashBag()->add('client_deprecated'); + + return $app->redirectPath('prod'); + if (!$app['authentication']->isAuthenticated() && null !== $request->query->get('nolog')) { return $app->redirectPath('login_authenticate_as_guest', array('redirect' => 'client')); } diff --git a/templates/web/common/menubar.html.twig b/templates/web/common/menubar.html.twig index 68bd021006..a9b2255dd4 100644 --- a/templates/web/common/menubar.html.twig +++ b/templates/web/common/menubar.html.twig @@ -8,29 +8,11 @@ {% if module != "lightbox" and app['authentication'].isAuthenticated() %}
  • - {% if module == "prod" %} - + - {% trans 'admin::monitor: Ancienne version (client)' %} + {% trans 'admin::monitor: production' %} - {% else %} - {% if app['browser'].isNewGeneration %} - {% if module == "client" %} - - - {% trans 'admin::monitor: Nouvelle version (prod)' %} - - - {% else %} - - - {% trans 'admin::monitor: production' %} - - - {% endif %} - {% endif %} - {% endif %}
  • {% if app['browser'].isNewGeneration and app['phraseanet.registry'].get('GV_thesaurus') == true and app['authentication'].getUser().ACL.has_access_to_module('thesaurus') %} @@ -95,7 +77,7 @@ {% endif %} {# MODULE #} - {% if module == "prod" or module == "client" %} + {% if module == "prod" %}
  • @@ -122,7 +104,7 @@
      - {% if app['authentication'].isAuthenticated() and (module == "client" or module == "prod") %} + {% if app['authentication'].isAuthenticated() and module == "prod" %}
    1. @@ -192,7 +174,7 @@
    - {% if app['authentication'].isAuthenticated() and (module == "client" or module == "prod") %} + {% if app['authentication'].isAuthenticated() and module == "prod" %}
    + {% if app.flash('client_deprecated') %} + + + {% endif %} {% set ratio = app['authentication'].getUser().getPrefs('search_window') %} {% if ratio == 0 %} {% set ratio = '0.333' %} diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Client/RootTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Client/RootTest.php index 0ee6efcd7c..c343938067 100644 --- a/tests/Alchemy/Tests/Phrasea/Controller/Client/RootTest.php +++ b/tests/Alchemy/Tests/Phrasea/Controller/Client/RootTest.php @@ -2,8 +2,6 @@ namespace Alchemy\Tests\Phrasea\Controller\Client; -use Alchemy\Phrasea\SearchEngine\SearchEngineOptions; - class RootTest extends \PhraseanetWebTestCaseAuthenticatedAbstract { protected $client; @@ -25,57 +23,6 @@ class RootTest extends \PhraseanetWebTestCaseAuthenticatedAbstract { $this->authenticate(self::$DI['app']); self::$DI['client']->request("GET", "/client/"); - $this->assertTrue(self::$DI['client']->getResponse()->isOk()); - } - - /** - * @covers Alchemy\Phrasea\Controller\Client\Root::getClientLanguage - */ - public function testGetLanguage() - { - self::$DI['client']->request("GET", "/client/language/"); - $this->assertTrue(self::$DI['client']->getResponse()->isOk()); - } - - /** - * @covers Alchemy\Phrasea\Controller\Client\Root::getClientPublications - */ - public function testGetPublications() - { - self::$DI['client']->request("GET", "/client/publications/"); - $this->assertTrue(self::$DI['client']->getResponse()->isOk()); - } - - /** - * @covers Alchemy\Phrasea\Controller\Client\Root::getClientHelp - */ - public function testGetClientHelp() - { - self::$DI['client']->request("GET", "/client/help/"); - $this->assertTrue(self::$DI['client']->getResponse()->isOk()); - } - - /** - * @covers Alchemy\Phrasea\Controller\Client\Root::query - * @covers Alchemy\Phrasea\Controller\Client\Root::buildQueryFromRequest - */ - public function testExecuteQuery() - { - $queryParameters = array(); - $queryParameters["mod"] = self::$DI['user']->getPrefs('client_view') ? : '3X6'; - $queryParameters["bas"] = array_keys(self::$DI['user']->ACL()->get_granted_base()); - $queryParameters["qry"] = self::$DI['user']->getPrefs('start_page_query') ? : 'all'; - $queryParameters["pag"] = 0; - $queryParameters["search_type"] = SearchEngineOptions::RECORD_RECORD; - $queryParameters["qryAdv"] = ''; - $queryParameters["opAdv"] = array(); - $queryParameters["status"] = array(); - $queryParameters["recordtype"] = SearchEngineOptions::TYPE_ALL; - $queryParameters["sort"] = self::$DI['app']['phraseanet.registry']->get('GV_phrasea_sort', ''); - $queryParameters["infield"] = array(); - $queryParameters["ord"] = SearchEngineOptions::SORT_MODE_DESC; - - self::$DI['client']->request("POST", "/client/query/", $queryParameters); - $this->assertTrue(self::$DI['client']->getResponse()->isOk()); + $this->assertTrue(self::$DI['client']->getResponse()->isRedirect()); } } diff --git a/www/skins/prod/000000/prodcolor.css b/www/skins/prod/000000/prodcolor.css index f54b6b8eb8..4141df63de 100644 --- a/www/skins/prod/000000/prodcolor.css +++ b/www/skins/prod/000000/prodcolor.css @@ -4253,3 +4253,11 @@ ui-dialog-titlebar { position: relative; float: left; } + +#clientModal, #clientModal .modal-footer { + background-color: #404040; +} + +#clientModal .close { + color: #fff; +} diff --git a/www/skins/prod/959595/prodcolor.css b/www/skins/prod/959595/prodcolor.css index 94aa87bb55..7b3eab5a5a 100644 --- a/www/skins/prod/959595/prodcolor.css +++ b/www/skins/prod/959595/prodcolor.css @@ -4376,3 +4376,12 @@ ui-dialog-titlebar { position: relative; float: left; } + +#clientModal, #clientModal .modal-footer { + background-color: #999999; + color: #fff; +} + +#clientModal .close { + color: #404040; +}