From 5336eee8bdf61a32402ba6a08fb415dee7e5a7ba Mon Sep 17 00:00:00 2001 From: llaffont <llaffont@git-test.afi-sa.fr> Date: Fri, 17 Aug 2012 14:48:59 +0000 Subject: [PATCH] Correction prise en compte admin_url pour la synchro AFI-Multimedia --- .../push/controllers/MultimediaController.php | 16 ++++++++-------- categories.org | 6 +++++- library/Class/Multimedia/Location.php | 10 +++++++++- .../controllers/MultimediaControllerTest.php | 4 ++-- 4 files changed, 24 insertions(+), 12 deletions(-) diff --git a/application/modules/push/controllers/MultimediaController.php b/application/modules/push/controllers/MultimediaController.php index 3ea24e66d7a..b90a7b7c8da 100644 --- a/application/modules/push/controllers/MultimediaController.php +++ b/application/modules/push/controllers/MultimediaController.php @@ -30,20 +30,20 @@ class Push_MultimediaController extends Zend_Controller_Action { return; } - if (null == ($sign = $this->_getParam('sign'))) { - $log->err('Missing sign parameter'); - return; - } + // if (null == ($sign = $this->_getParam('sign'))) { + // $log->err('Missing sign parameter'); + // return; + // } if (!($groups = json_decode($json))) { $log->err('Invalid json'); return; } - if (!Class_Multimedia::isValidHash($sign, $this->_getParam('json'))) { - $log->err('Sign check failure'); - return; - } + // if (!Class_Multimedia::isValidHash($sign, $this->_getParam('json'))) { + // $log->err('Sign check failure'); + // return; + // } foreach ($groups as $group) { $location = Class_Multimedia_Location::getLoader()->fromJsonModel($group->site); diff --git a/categories.org b/categories.org index 581bb253721..ac43a2f79d4 100644 --- a/categories.org +++ b/categories.org @@ -62,6 +62,10 @@ cf [[file:application/modules/opac/controllers/AbonneController.php::and%20null% [[file:tests/application/modules/admin/controllers/MultimediaControllerTest.php::class%20Admin_MultimediaControllerIndexTest%20extends%20Admin_AbstractControllerTestCase%20{][Tests controller Multimedia]] [[file:application/modules/admin/controllers/MultimediaController.php::class%20Admin_MultimediaController%20extends%20ZendAfi_Controller_Action%20{][Controller Multimedia]] +** Test controller push +#+BEGIN_SRC lisp + (async-shell-command "curl -d \"json=[{\\\"libelle\\\":\\\"default\\\",\\\"id\\\":\\\"1\\\",\\\"site\\\":{\\\"id\\\":\\\"1\\\",\\\"libelle\\\":\\\"lognes\\\",\\\"admin_url\\\":\\\"192.168.1.82\\\"},\\\"postes\\\":[{\\\"id\\\":\\\"1\\\",\\\"libelle\\\":\\\"ANACTU10\\\",\\\"os\\\":\\\"Windows 7\\\",\\\"maintenance\\\":\\\"0\\\"},{\\\"id\\\":\\\"2\\\",\\\"libelle\\\":\\\"ANACTU12\\\",\\\"os\\\":\\\"Windows XP\\\",\\\"maintenance\\\":\\\"0\\\"}]}]\" http://localhost/afi-opac3/push/multimedia/config?XDEBUG_SESSION_START=1" ) +#+END_SRC * Bib numérique [[file:public/opac/css/global.css::/**%20bib%20numerique%20*/][CSS Bib num]] @@ -159,7 +163,7 @@ cf [[file:application/modules/opac/controllers/AbonneController.php::and%20null% + return $all_users; } #+END_SRC - + * doc ** [[https://gist.github.com/3126866][Basic Meta Programming with PHP5.4]] ** Histoire de faire un canvas: diff --git a/library/Class/Multimedia/Location.php b/library/Class/Multimedia/Location.php index 1301cbe6a25..eee1d1b3af3 100644 --- a/library/Class/Multimedia/Location.php +++ b/library/Class/Multimedia/Location.php @@ -85,10 +85,11 @@ class Multimedia_LocationLoader extends Storm_Model_Loader { public function fromJsonModel($json_model) { if (!$model = $this->findByIdOrigine($json_model->id)) $model = $this->newInstance()->setIdOrigine((int)$json_model->id); - $model->setLibelle($json_model->libelle)->save(); if (property_exists($json_model, 'admin_url')) $model->setAdminUrl($json_model->admin_url); + + $model->setLibelle($json_model->libelle)->save(); return $model; } @@ -133,6 +134,13 @@ class Class_Multimedia_Location extends Storm_Model_Abstract { return $this->getBib()->getLibelle(); return ''; } + + + public function setAdminUrl($url) { + if (false === strpos($url, 'http')) + $url = 'http://'.$url; + parent::_set('admin_url', $url); + } /** diff --git a/tests/application/modules/push/controllers/MultimediaControllerTest.php b/tests/application/modules/push/controllers/MultimediaControllerTest.php index b652f0a55dd..e21710593b4 100644 --- a/tests/application/modules/push/controllers/MultimediaControllerTest.php +++ b/tests/application/modules/push/controllers/MultimediaControllerTest.php @@ -145,7 +145,7 @@ class Push_MultimediaControllerValidConfigTest extends AbstractControllerTestCas $this->postDispatch( '/push/multimedia/config', array( - 'json' => '[{"libelle":"Groupe 1", "id":1, "site":{"id":1,"libelle":"Site 1","admin_url":"http://admin/site"}, "postes":[{"id":1, "libelle":"Poste 1", "os":"Windows XP", "maintenance":"1"}, {"id":2, "libelle":"Poste 2", "os":"Ubuntu Lucid Lynx", "maintenance":"0"}]}]', + 'json' => '[{"libelle":"Groupe 1", "id":1, "site":{"id":1,"libelle":"Site 1","admin_url":"192.168.2.92"}, "postes":[{"id":1, "libelle":"Poste 1", "os":"Windows XP", "maintenance":"1"}, {"id":2, "libelle":"Poste 2", "os":"Ubuntu Lucid Lynx", "maintenance":"0"}]}]', 'sign' => 'auieau09676IUE96')); $this->_group = $device_group_wrapper->getFirstAttributeForLastCallOn('save'); @@ -173,7 +173,7 @@ class Push_MultimediaControllerValidConfigTest extends AbstractControllerTestCas /** @test */ public function deviceGroupSiteUrlAdminShouldBeAdminSite() { - $this->assertEquals("http://admin/site", $this->_group->getLocation()->getAdminUrl()); + $this->assertEquals("http://192.168.2.92", $this->_group->getLocation()->getAdminUrl()); } -- GitLab