Commit c930208b authored by Patrick Barroca's avatar Patrick Barroca 🐧

Merge remote-tracking branch 'refs/remotes/origin/master' into…

Merge remote-tracking branch 'refs/remotes/origin/master' into origin-dev#79874_explo_contractuel_chambery_connecteur_france_connect

# Conflicts:
#	.gitmodules
#	cosmogramme/sql/patch/patch_381.php
#	public/opac/css/global.css
#	tests/application/modules/AbstractControllerTestCase.php
#	tests/db/UpgradeDBTest.php
parents ca6ab7b1 64edba37
Pipeline #9285 failed with stage
in 51 minutes and 37 seconds
[submodule "tests_js/lib/qunit-phantomjs-runner"]
path = tests_js/lib/qunit-phantomjs-runner
url = http://git.afi-sa.fr/afi/qunit-phantomjs-runner.git
url = https://git.afi-sa.net/afi/qunit-phantomjs-runner.git
[submodule "library/storm"]
path = library/storm
url = http://git.afi-sa.fr/afi/storm.git
url = https://git.afi-sa.net/afi/storm.git
[submodule "library/Redmine"]
path = library/Redmine
url = http://git.afi-sa.fr/afi/php-redmine-api.git
url = https://git.afi-sa.net/afi/php-redmine-api.git
[submodule "library/iCal"]
path = library/iCal
url = http://git.afi-sa.net/afi/iCal.git
url = https://git.afi-sa.net/afi/iCal.git
[submodule "library/PhpParser"]
path = library/PhpParser
url = http://git.afi-sa.net/afi/PHP-Parser.git
url = https://git.afi-sa.net/afi/PHP-Parser.git
[submodule "library/matomo-php-tracker"]
path = library/matomo-php-tracker
url = http://git.afi-sa.fr/afi/matomo-php-tracker.git
url = https://git.afi-sa.net/afi/matomo-php-tracker.git
[submodule "library/php-jwt"]
path = library/php-jwt
url = http://git.afi-sa.net/afi/php-jwt.git
url = https://git.afi-sa.net/afi/php-jwt.git
[submodule "library/phpseclib"]
path = library/phpseclib
url = https://git.afi-sa.net/afi/phpseclib.git
......
03/02/2020 - v8.0.40
- ticket #101015 : Articles / Formulaires : Amélioration de la détection des robots
- ticket #101645 : Compte abonné : correction des liens des articles envoyés dans les notifications de nouveaux résultats dans une recherche enregistrée
- ticket #103756 : Intégrations : Correction d'une erreur pouvant survenir lors de l'import des paniers
- ticket #101658 : Ressources numériques : Lekiosk devient Cafeyn
- ticket #92524 : SIGB PMB : Correction des requêtes de disponibilité et de réservation des exemplaires de périodiques
- ticket #101871 : SIGB Koha : les adhérents expirés recoivent un message d'erreur plus explicite lorsqu'une réservation est impossible
- ticket #104609 : Explorateur de fichiers : Ajout de la possibilité de définir d'autres répertoires à afficher dans l'explorateur
- ticket #102749 : Administration des groupes : Les groupes dynamiques utilisent désormais les mêmes critères que la recherche utilisateurs
- ticket #101702 : Administration : Ajout d'un message d'avertissement sur l'accueil si Bokeh n'est pas dans la dernière version
21/01/2020 - v8.0.39
- ticket #103837 : Affichage notices : correction de la détection de l'appartenance des exemplaires à un lot
20/01/2020 - v8.0.38
- ticket #100249 : Ressources numériques: Ajout d'un tableau de bord pour ArteVOD
- ticket #100141 : Ressources numériques : Correction de la détection de la désactivation de Planet Nemo
- ticket #98544 : Articles : correction de la publication des articles en fonction de leur statut.
- ticket #98102 : Notices d'album : le bouton "générer" la vignette force le re-téléchargement pour les ressources numériques externes
- ticket #102979 : Pages : Correction de la perte de boîte dans une page enfant avec boite deux colonnes lorsque la page parente contenait des boites dans la bannière
- ticket #102676 : Formulaires dans les articles : correction de la protection anti-spam
- ticket #93322 : SIGB Koha : Mise à jour de l'API Koha pour les suggestions d'achats
- ticket #98519 : SIGB Nanook : Amélioration du retour d'erreur en cas de mot de passe non sécurisé lors de la pré-inscription
07/01/2020 - v8.0.37
- ticket #102712 : SIGB PMB : correction d'une erreur après la connexion lorsque l'identification SIG
B échoue
06/01/2020 - v8.0.36
- ticket #99468 : Open Data : Ajout de la représentation des ouvertures au format OpenStreetMap opening_hours dans la liste des bibliothèques en JSON
- ticket #101798 : Amélioratiom du temps d'affichage de l'agenda
- ticket #98349 : Correction des chemins par défaut erronés en installation d'un bokeh vierge
- ticket #102321 : Inscription à la newsletter : amélioration de la conformité RGPD
- ticket #98626 : Articles, modification par lots : correction de la prise en compte des champs personnalisés
- ticket #101207 : Activités : correction de la suppression d'une inscription anonyme
- ticket #99313 : Page critique : Respect de la configuration "texte du fil d'ariane"
- ticket #98511 : Formulaire de contact : tri de la liste des bibliothèques par ordre alphabétique
16/12/2019 - v8.0.35
- ticket #98102 : Indexation : Ajout de la description des albums de la bibliothèque numérique Bokeh en tant que résumés de la notice Bokeh générée pour l'album
- ticket #101519 : Intégration : Bokeh ne supprime pas automatiquement les paniers devenus vides lorsqu'ils sont reliés à un domaine
10/12/2019 - v8.0.34
- ticket #100949 : Agendas Externes : ajout du moissonnage des événements publiés sur Open-Agenda (Financé par le Métropole Européenne de Lille)
- ticket #96803 : Description des notices en XSL : correction de la prise en charge des simples quotes
- ticket #96083 : Ajout d'un bouton "imprimer" pour les articles
- ticket #100763 : Compte lecteur : Détection et affichage des erreurs pouvant survenir lors de la récupération des prêts en retard auprès du SIGB
- ticket #99042 : ArteVOD SSO : ajout du referer dans l'url de redirection
- ticket #95311 : Augmentation de la taille maximale du contenu des lettres d'informations
25/11/2019 - v8.0.33
- ticket #99715 : Intégration : Prise en compte des sites des documents Numel
- ticket #100226 : Si la zone 856$u contient une URL ark Gallica, alors l'onglet ressource numérique affiche le document correspondant
- ticket #98553 : Correction de la prise en compte des Captchas sous Chrome (78)
- ticket #96803 : Indexation des articles : ajout du résumé en 330$a, de l'auteur en 701 et de l'année de création en 210$d
- ticket #99071 : Inscription à une activité : message de confirmation envoyé 20 fois
18/11/2019 - v8.0.32
- ticket #99172 : Compte lecteur : Correction du dysfonctionnement du filtre "réservé par d'autres" dans les prêts en cours
- ticket #98315 : Compte Lecteur : Correction du tri des prêts par date d'emprunt dans l'historique des prêts
- ticket #95887 : Version smartphone: affichage de la carte OSM et boutons de partage sur les événements agenda
- ticket #98553 : Correction de la prise en compte des Captchas sous Chrome
- ticket #98887 : Page notice : Correction du bouton "générer la vignette" sur la page notice lorsque l'identifiant notice est obsolète
- ticket #100508 : LeKiosk : adaptation au changement de SSO par CAS
12/11/2019 - v8.0.31
- ticket #99825 : Serveur OAI : Correction de l'échappement du contenu de l'élément Dublin Core rights (Financé par AFI)
- ticket #95190 : Bibliothèque numérique : Export des medias au format csv (Financé par AFI)
- ticket #98799 : Système de réservation des documents PNB (Financé par St Cloud)
- ticket #98691 : Notices : Ajout d'un script mettant à jour les albums liés aux notices avec les dernières informations de la notices (Financé par AFI)
04/11/2019 - v8.0.30
- ticket #99776 : Formulaires de recherche avancée : Correction de la prise en charge des formulaires contenant des champs sur facettes dynamiques et des champs sur autorités
......
......@@ -25,6 +25,7 @@ class Admin_BibnumController extends ZendAfi_Controller_Action {
$this->view->titre = $this->_('Liste des connecteurs disponibles');
}
public function collectionsAction() {
$categories = Class_AlbumCategorie::getCollections();
......@@ -42,4 +43,23 @@ class Admin_BibnumController extends ZendAfi_Controller_Action {
'categories' => $albums,
'items' => []]]);
}
public function artevodDashboardAction(){
$this->view->titre = $this->_('Accès ARTEVOD');
}
public function artevodTrySsoAction() {
$config = new Class_WebService_BibNumerique_ArteVOD_Config();
ZendAfi_Auth_Others::getInstance()
->swapUserWith(Class_Users::getIdentity(),
$user = $config->getTestUser());
$url = $config->urlFor($user, $this->_request->getParams());
return $url
? $this->_javascriptRedirectTo($url)
: $this->_redirectToIndex($this->_config->getNotAllowedMessage());
}
}
\ No newline at end of file
......@@ -201,11 +201,7 @@ class Admin_CatalogueController extends ZendAfi_Controller_Action {
return $this->_redirect("admin/catalogue/index");
if ($id_panier_to_remove = (int)$this->_getParam('remove')) {
$panier = Class_PanierNotice::find($id_panier_to_remove);
$catalogue->removePanierNotice($panier)->save();
$panier->removeCatalogue($catalogue)->save();
$this->_helper->notify($this->_('Panier "%s" retiré', $panier->getLibelle()));
$this->_removePanierFromCatalogue($id_panier_to_remove,$catalogue);
return $this->_redirect('admin/catalogue/paniers/id_catalogue/' . $catalogue->getId());
}
......@@ -229,6 +225,16 @@ class Admin_CatalogueController extends ZendAfi_Controller_Action {
}
protected function _removePanierFromCatalogue($panier_id,$catalogue){
$panier = Class_PanierNotice::find($panier_id);
if (!$panier)
return;
$catalogue->removePanierNotice($panier)->save();
$panier->removeCatalogue($catalogue)->save();
$this->_helper->notify($this->_('Panier "%s" retiré', $panier->getLibelle()));
}
protected function formAjoutPanier($catalogue) {
$options = ['' => $this->_('Veuiller sélectionner un panier')];
$paniers = Class_PanierNotice::findAllBelongsToAdmin();
......
......@@ -32,9 +32,12 @@ class Admin_ExternalAgendasController extends ZendAfi_Controller_Action {
return $this->_redirectToIndex();
$this->view->titre = $this->_('Moissonnage des évènements de l\'agenda "%s"', $agenda->getLibelle());
$results = $agenda->import();
$this->view->new_events = $results['new'];
$this->view->updated_events = $results['update'];
$agenda->import(function($created, $updated)
{
$this->view->new_events = $created;
$this->view->updated_events = $updated;
});
}
......
......@@ -20,12 +20,7 @@
*/
class Admin_IndexController extends ZendAfi_Controller_Action {
public function indexAction() {
$this->view->titre = $this->_('Accueil')
. $this->view->tag('span',
$this->_(' version %s',
$this->view->tag('a', BOKEH_RELEASE_NUMBER,
['href' => BOKEH_REMOTE_FILES . 'blob/master/VERSIONS'])),
['class' => 'version']);
$this->view->titre = $this->_('Accueil');
$this->view->user = Class_Users::getIdentity();
......
......@@ -27,24 +27,34 @@ class Admin_RecordsController extends ZendAfi_Controller_Action {
return $this->_redirectToReferer();
}
if ($album = $record->getAlbum()){
$album->createThumbnail();
$url_vignette = $album->getThumbnailUrl();
$this->_resetRecordThumbnail($record);
$record->setUrlVignette($url_vignette);
$record->setUrlImage(($poster = $album->getPoster()) ? $poster : $url_vignette);
$record->save();
$this->_helper->notify($this->_('Vignette réinitialisée pour "%s"', $record->getTitrePrincipal()));
$this->_redirectToReferer();
}
$this->_helper->notify($this->_('Vignette réinitialisée pour "%s"', $record->getTitrePrincipal()));
return $this->_redirectToReferer();
protected function _resetRecordThumbnail($record) {
if (!$album = $record->getAlbum()) {
$record
->setUrlImage('')
->setUrlVignette('')
->fetchUrlLocalVignette();
return $this;
}
$record
->setUrlImage('')
->setUrlVignette('')
->save();
$this->_helper->notify($this->_('Vignette réinitialisée pour "%s"', $record->getTitrePrincipal()));
$this->_redirectToReferer();
Class_WebService_BibNumerique_Vignette::getInstance()->updateAlbum($album);
foreach($album->getErrors() as $error)
$this->_helper->notify($error);
$album->createThumbnail();
$url_vignette = $album->getThumbnailUrl();
$record->setUrlVignette($url_vignette);
$record->setUrlImage(($poster = $album->getPoster()) ? $poster : $url_vignette);
$record->save();
return $this;
}