diff --git a/cosmogramme/php/classes/classe_abonne.php b/cosmogramme/php/classes/classe_abonne.php index e1d43ce9482751e54a24b63aeec9a385233ff698..b35672679ac95ee728fbe9eb375acd79ccb4be65 100644 --- a/cosmogramme/php/classes/classe_abonne.php +++ b/cosmogramme/php/classes/classe_abonne.php @@ -101,7 +101,7 @@ class abonne if (isset($enreg['MAIL'])) $enreg['MAIL'] = $this->clean_email($enreg['MAIL']); - $this->saveorUpdateInDB($enreg); + $this->saveOrUpdateInDB($enreg); } @@ -146,10 +146,10 @@ class abonne protected function saveOrUpdateInDB($data){ $new_user = Class_Users::newInstance($data); - $bib = Class_IntBib::find($data['ID_SITE']); + $bib = Class_IntBib::find($this->id_bib); - if(!$user = Class_Users::findMatchingPatron($user,$bib)) - $user = $new_user; + if(!$user = Class_Users::findMatchingPatron($new_user,$bib)) + $user = $new_user; $user ->updateAttributes($data) @@ -164,12 +164,12 @@ class abonne if(!trim($chaine)) return $chaine; switch($this->type_accents) { - case 2: // Windows - return utf8_encode($chaine); - case 3: // Dos - for($i=0; $i < strlen($chaine); $i++) $new.=$this->dosDecode($chaine[$i]); - return utf8_encode($new); - default: return $chaine; + case 2: // Windows + return utf8_encode($chaine); + case 3: // Dos + for($i=0; $i < strlen($chaine); $i++) $new.=$this->dosDecode($chaine[$i]); + return utf8_encode($new); + default: return $chaine; } } @@ -178,24 +178,24 @@ class abonne { switch($char) { - case 0xe9: $result = 'é'; break ; - case 0xe8: $result = 'è'; break ; - case 0xeb: $result = 'ë'; break ; - case 0xe4: $result = 'ä'; break ; - case 0xe2: $result = 'â'; break ; - case 0xef: $result = 'ï'; break ; - case 0xcf: $result = 'Ã'; break ; - case 0xee: $result = 'î'; break ; - case 0xce: $result = 'ÃŽ'; break ; - case 0xf4: $result = 'ô'; break ; - case 0xf6: $result = 'ö'; break ; - case 0xd6: $result = 'Ö'; break ; - case 0xfc: $result = 'ü'; break ; - case 0xdc: $result = 'Ãœ'; break ; - case 0xfb: $result = 'û'; break ; - case 0xe7: $result = 'ç'; break ; - case 0xc7: $result = 'Ç'; break ; - default: $result = $char; break; + case 0xe9: $result = 'é'; break ; + case 0xe8: $result = 'è'; break ; + case 0xeb: $result = 'ë'; break ; + case 0xe4: $result = 'ä'; break ; + case 0xe2: $result = 'â'; break ; + case 0xef: $result = 'ï'; break ; + case 0xcf: $result = 'Ã'; break ; + case 0xee: $result = 'î'; break ; + case 0xce: $result = 'ÃŽ'; break ; + case 0xf4: $result = 'ô'; break ; + case 0xf6: $result = 'ö'; break ; + case 0xd6: $result = 'Ö'; break ; + case 0xfc: $result = 'ü'; break ; + case 0xdc: $result = 'Ãœ'; break ; + case 0xfb: $result = 'û'; break ; + case 0xe7: $result = 'ç'; break ; + case 0xc7: $result = 'Ç'; break ; + default: $result = $char; break; } return $result; } diff --git a/cosmogramme/tests/php/classes/AbonneIntegrationTest.php b/cosmogramme/tests/php/classes/AbonneIntegrationTest.php index 4e75bbe0df6483827ed5a92a3adf5c103b4fec6f..a87233b74fc0579bb75715c573fe2d1a0889457f 100644 --- a/cosmogramme/tests/php/classes/AbonneIntegrationTest.php +++ b/cosmogramme/tests/php/classes/AbonneIntegrationTest.php @@ -25,11 +25,16 @@ require_once 'ModelTestCase.php'; abstract class AbonneIntegrationTestCase extends ModelTestCase { - protected $abon_config; + protected $abon_config, + $_storm_default_to_volatile = true; public function setup(){ parent::setup(); - Storm_Model_Loader::defaultToVolatile(); + + $this->fixture('Class_IntBib', + ['id' => 2, + 'id_bib' => 2]); + $this->abon_config = new abonne(); $this->abon_config->setIdBib(2); } @@ -221,6 +226,8 @@ class AbonneIntegrationASCIIWithRoutoInDbTest extends AbonneIntegrationTestCase ['id' => 5, 'nom'=>'Routo', 'prenom'=>'Pierre', + 'role_level' => ZendAfi_Acl_AdminControllerRoles::ABONNE_SIGB, + 'idabon' => '123456', 'login'=>'5 5', 'id_site' => 2, 'pseudo' => 'riri', diff --git a/tests/application/modules/opac/controllers/AuthControllerTest.php b/tests/application/modules/opac/controllers/AuthControllerTest.php index 5cad398b109fb1fde3c2c3a44befecb9e3aa2096..d633addafb52d3283fe5ce1bb778d2d1ab6e78f2 100644 --- a/tests/application/modules/opac/controllers/AuthControllerTest.php +++ b/tests/application/modules/opac/controllers/AuthControllerTest.php @@ -2265,6 +2265,8 @@ class AuthControllerPostWithSameIdSigbTest extends AbstractControllerTestCase { public function setUp() { parent::setUp(); + ZendAfi_Auth::getInstance()->clearIdentity(); + $emprunteur = Class_WebService_SIGB_Emprunteur::newInstance(789, 'koha'); $emprunteur->setPassword('bar'); $emprunteur->beValid(); @@ -2283,16 +2285,20 @@ class AuthControllerPostWithSameIdSigbTest extends AbstractControllerTestCase { Class_WebService_SIGB_Koha::setService($params, $service); - ZendAfi_Auth::getInstance()->clearIdentity(); - - $this->fixture('Class_Bib', - ['id' => 13, - 'libelle' => 'First library']); - $this->fixture('Class_Bib', ['id' => 56, 'libelle' => 'Library']); + $this->fixture('Class_IntBib', + ['id' => 56, + 'id_bib' => 56, + 'comm_sigb' => 5, + 'comm_params' => serialize($params)]); + + $this->fixture('Class_Bib', + ['id' => 13, + 'libelle' => 'First library']); + $this->fixture('Class_Users', ['id' => 123456, 'login' => 'different', @@ -2311,12 +2317,6 @@ class AuthControllerPostWithSameIdSigbTest extends AbstractControllerTestCase { 'id_site' => 56, 'id_sigb' => null]); - $this->fixture('Class_IntBib', - ['id' => 56, - 'id_bib' => 56, - 'comm_sigb' => 5, - 'comm_params' => serialize($params)]); - $this->postDispatch('/opac/auth/login', ['username' => 'foo', 'password' => 'bar']);