Commit 0ddd20f0 authored by Ghislain Loas's avatar Ghislain Loas

Merge branch 'master' into 'dev#85748_activation_des_features_80'

Master

See merge request !2985
parents 66d96249 13bd2bf2
Pipeline #6177 passed with stage
in 32 minutes and 25 seconds
28/01/2019 - v7.12.56
- ticket #85532 : Administration : Les tickets d'assistance au statut "Réaliser à tester" sont comptabilisés dans le menu haut "Assistance"
- ticket #84896 : SIGB Nanook : activation de la réinitialisation des mots de passe par courriel
21/01/2019 - v7.12.55 21/01/2019 - v7.12.55
- ticket #83545 : Administration, contrôle des URLS : corrections de la prise en charge des URLs contenant des caractères spéciaux - ticket #83545 : Administration, contrôle des URLS : corrections de la prise en charge des URLs contenant des caractères spéciaux
......
- ticket #85822 : Maintenance : Retrait d'un lien obsolète vers les composants Flash non supportés
\ No newline at end of file
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
class Class_WebService_Redmine_Workflow_Afibre extends Class_WebService_Redmine_Workflow_Abstract { class Class_WebService_Redmine_Workflow_Afibre extends Class_WebService_Redmine_Workflow_Abstract {
const const
A_QUALIFIER = 1, A_QUALIFIER = 1,
AFFECTE_HEBERGEMENT = 13, AFFECTE_HEBERGEMENT = 13,
...@@ -34,24 +34,31 @@ class Class_WebService_Redmine_Workflow_Afibre extends Class_WebService_Redmine ...@@ -34,24 +34,31 @@ class Class_WebService_Redmine_Workflow_Afibre extends Class_WebService_Redmine
A_INTEGRER = 17, A_INTEGRER = 17,
RETOUR_DEV = 22; RETOUR_DEV = 22;
protected $_transitions = [self::A_QUALIFIER => [self::FERME], /** @var array of [ from_status => [to_status, to_status...]] */
14 => [self::A_QUALIFIER], protected $_transitions = [];
15 => [],
self::AFFECTE_HOTLINE => [self::AFFECTE_DEV, self::FERME],
self::AFFECTE_SYSTEME => [], public function __construct() {
self::AFFECTE_DEV => [self::A_QUALIFIER, self::FERME], $this->_transitions = [static::A_QUALIFIER => [static::FERME],
self::AFFECTE_HEBERGEMENT => [], 14 => [static::A_QUALIFIER],
self::RETOUR_DEV => [], 15 => [],
self::EN_DEVELOPPEMENT => [self::FERME], static::AFFECTE_HOTLINE => [static::AFFECTE_DEV, static::FERME],
18 => [], static::AFFECTE_SYSTEME => [],
16 => [], static::AFFECTE_DEV => [static::A_QUALIFIER, static::FERME],
self::A_TESTER => [self::FERME], static::AFFECTE_HEBERGEMENT => [],
self::A_INTEGRER => [], static::RETOUR_DEV => [],
self::QUESTION_CLIENT => [self::AFFECTE_HOTLINE, self::FERME], static::EN_DEVELOPPEMENT => [static::FERME],
8 => [self::FERME], 18 => [],
self::TRANSFERT_DEV => [], 16 => [],
self::FERME => [self::A_QUALIFIER], static::A_TESTER => [static::FERME],
6 => [self::A_QUALIFIER, self::FERME]]; static::A_INTEGRER => [],
static::QUESTION_CLIENT => [static::AFFECTE_HOTLINE, static::FERME],
8 => [static::FERME],
static::TRANSFERT_DEV => [],
static::FERME => [static::A_QUALIFIER],
6 => [static::A_QUALIFIER, static::FERME]];
}
public function getTransitions() { public function getTransitions() {
return $this->_transitions; return $this->_transitions;
...@@ -59,7 +66,7 @@ class Class_WebService_Redmine_Workflow_Afibre extends Class_WebService_Redmine ...@@ -59,7 +66,7 @@ class Class_WebService_Redmine_Workflow_Afibre extends Class_WebService_Redmine
public function getFormSelectedStatusIdForCurrent($status_id) { public function getFormSelectedStatusIdForCurrent($status_id) {
return $status_id == self::QUESTION_CLIENT ? self::AFFECTE_HOTLINE : $status_id; return $status_id == static::QUESTION_CLIENT ? static::AFFECTE_HOTLINE : $status_id;
} }
...@@ -68,8 +75,9 @@ class Class_WebService_Redmine_Workflow_Afibre extends Class_WebService_Redmine ...@@ -68,8 +75,9 @@ class Class_WebService_Redmine_Workflow_Afibre extends Class_WebService_Redmine
return count($issues return count($issues
->select(function($issue) ->select(function($issue)
{ {
return $issue->getStatusId() == self::QUESTION_CLIENT; return in_array($issue->getStatusId(), [static::QUESTION_CLIENT,
})); static::A_TESTER]);
}));
} }
} }
\ No newline at end of file
...@@ -125,6 +125,11 @@ class Class_Webservice_SIGB_Nanook_Service extends Class_WebService_SIGB_Abstrac ...@@ -125,6 +125,11 @@ class Class_Webservice_SIGB_Nanook_Service extends Class_WebService_SIGB_Abstrac
} }
public function providesChangePasswordService() {
return true;
}
public function saveEmprunteur($emprunteur) { public function saveEmprunteur($emprunteur) {
$xml = $this->getWebClient() $xml = $this->getWebClient()
->postData($this->buildQueryURL(['service'=>'UpdatePatronInfo', ->postData($this->buildQueryURL(['service'=>'UpdatePatronInfo',
......
...@@ -81,7 +81,7 @@ class Bokeh_Engine { ...@@ -81,7 +81,7 @@ class Bokeh_Engine {
function setupConstants() { function setupConstants() {
defineConstant('BOKEH_MAJOR_VERSION','7.12'); defineConstant('BOKEH_MAJOR_VERSION','7.12');
defineConstant('BOKEH_RELEASE_NUMBER', BOKEH_MAJOR_VERSION . '.55'); defineConstant('BOKEH_RELEASE_NUMBER', BOKEH_MAJOR_VERSION . '.56');
defineConstant('BOKEH_REMOTE_FILES', 'http://git.afi-sa.fr/afi/opacce/'); defineConstant('BOKEH_REMOTE_FILES', 'http://git.afi-sa.fr/afi/opacce/');
...@@ -312,7 +312,6 @@ class Bokeh_Engine { ...@@ -312,7 +312,6 @@ class Bokeh_Engine {
function setupFrontController() { function setupFrontController() {
$this->_front_controller = $this $this->_front_controller = $this
->newFrontController() ->newFrontController()
->addControllerDirectory(ROOT_PATH.'afi/application/modules/opacpriv/controllers','opacpriv')
->setBaseURL(BASE_URL); ->setBaseURL(BASE_URL);
$this->setupRoutes($this->_front_controller, $this->_config); $this->setupRoutes($this->_front_controller, $this->_config);
......
...@@ -305,8 +305,8 @@ class Admin_RedmineControllerIndexTest extends Admin_RedmineControllerWithApiTes ...@@ -305,8 +305,8 @@ class Admin_RedmineControllerIndexTest extends Admin_RedmineControllerWithApiTes
/** @test */ /** @test */
public function menuHorizontalShouldContainsOneIssueQuestionClient() { public function menuHorizontalShouldContainsTwoIssues() {
$this->assertXPathContentContains('//div[contains(@class, "barre_nav")]//a[@title="Assistance"]//span[@class="menu_info"]', '1', $this->_response->getBody()); $this->assertXPathContentContains('//div[contains(@class, "barre_nav")]//a[@title="Assistance"]//span[@class="menu_info"]', '2', $this->_response->getBody());
} }
} }
...@@ -331,7 +331,7 @@ class Admin_RedmineControllerCacheTest extends Admin_RedmineControllerWithApiTes ...@@ -331,7 +331,7 @@ class Admin_RedmineControllerCacheTest extends Admin_RedmineControllerWithApiTes
public function onAdminIndexMenuHorizontalShouldGetResultFromCache() { public function onAdminIndexMenuHorizontalShouldGetResultFromCache() {
$this->dispatch('/admin/index/index'); $this->dispatch('/admin/index/index');
$this->assertXPathContentContains('//div[contains(@class, "barre_nav")]//a[@title="Assistance"]//span[@class="menu_info"]', '1'); $this->assertXPathContentContains('//div[contains(@class, "barre_nav")]//a[@title="Assistance"]//span[@class="menu_info"]', '2');
} }
......
...@@ -87,7 +87,8 @@ class RedmineFixtures { ...@@ -87,7 +87,8 @@ class RedmineFixtures {
'story_points' => ''], 'story_points' => ''],
static::issue34247(), static::issue34247(),
static::issue34248()], static::issue34248(),
static::issue34249()],
'total_count' => 2, 'total_count' => 2,
'offset' => 0 , 'offset' => 0 ,
'limit' => 25]; 'limit' => 25];
...@@ -158,6 +159,38 @@ class RedmineFixtures { ...@@ -158,6 +159,38 @@ class RedmineFixtures {
} }
public static function issue34249() {
return ['id' => 34249,
'project' => ['id' => 56,
'name' => 'Développement Bokeh AFI-OPAC 2.0'],
'tracker' => ['id' => 2,
'name' => 'Développement'],
'status' => ['id' => 3,
'name' => 'Réaliser à tester'],
'priority' => ['id' => 4,
'name' => 'Normal'],
'author' => ['id' => 207,
'name' => 'gloas'],
'assigned_to' => ['id' => 207,
'name' => 'gloas'],
'subject' => 'Un problème à tester',
'description' => 'important',
'done_ratio' => 80,
'custom_fields' => [ ['id' => 37,
'name' => 'Module Portail',
'value' => ''],
['id' => 5 ,
'name' => 'Priorité client',
'value' => 'Normale'],
['id' => 11,
'name' => 'Phase',
'value' => '']],
'created_on' => '2015-12-04T09:19:11Z',
'updated_on' => '2015-12-04T09:25:42Z',
'story_points' => ''];
}
public static function projectHotline() { public static function projectHotline() {
return ['project' => ['name' => 'Hotline']]; return ['project' => ['name' => 'Hotline']];
} }
......
...@@ -92,6 +92,15 @@ class Class_User_LostPassSendTest extends ModelTestCase { ...@@ -92,6 +92,15 @@ class Class_User_LostPassSendTest extends ModelTestCase {
} }
/** @test */
public function withNanookMailShouldContainsResetLink() {
$this->_sigb->setCommSigb(Class_IntBib::COM_NANOOK)->save();
(new Class_User_LostPass($this->_user))->send();
$mail = $this->_mail_transport->getSentMails()[0]->getBodyText()->getContent();
$this->assertContains('/auth/reset-password', $mail);
}
/** @test */ /** @test */
public function withPergameShouldNotsendMail() { public function withPergameShouldNotsendMail() {
$this->_sigb->setCommSigb(Class_IntBib::COM_PERGAME)->save(); $this->_sigb->setCommSigb(Class_IntBib::COM_PERGAME)->save();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment