Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
No results found
Show changes
Commits on Source (12)
Showing
with 176 additions and 71 deletions
'149953' =>
['Label' => $this->_('Cosmogramme : Intégration des autorités Personnes pour enrichissement des fiches auteur'),
'Desc' => 'Lorsque le SIGB exporte les fichiers d'autorités "Nom de Personnes", ceux-ci peuvent être utilisé par Cosmogramme pour créer automatiquement dans Bokeh les fiches auteurs correspondantes. Cela permet d\'enrichir le catalogue avec des données lorsque les personnes réferencées ne sont pas connues des systèmes habituellement interrogés pour l\'enrichissement (Wikipédia).',
'Image' => '',
'Video' => '',
'Category' => '',
'Right' => function($feature_description, $user) {return true;},
'Wiki' => 'https://wiki.bokeh-library-portal.org/index.php?title=Fiche_auteur',
'Test' => '',
'Date' => '2022-10-13'],
\ No newline at end of file
04/01/2023 - v8.0.174
- fonctionnalité #163558 : Administration : Ajout de la gestion des abonnés portail.
- fonctionnalité #166686 : Authentification : Pour faciliter le processus d'authentification via OAUTH, la popup de gestion des cookies est maintenant désactivée à l'adresse /auth/oauth.
- fonctionnalité #149953 : Cosmogramme : intégration des autorités personnes pour l'enrichissement des fiches Auteur
- correctif #167566 : Administration : Correction des formulaires personnalisés pour les domaines. Les éléments de formulaire basés sur des codifications personnalisées sont maintenant correctement sauvegardés.
- correctif #168918 : Administration : Augmentation de la quantité d'articles qui peuvent être créé
- correctif #167562 : Compte lecteur : Bokeh récupère maintenant les informations d'autorisation parental et d'accès multimédia pour les comptes Nanook. Ces données sont utiles pour les postes multimédia internes.
- correctif #160846 : Page bibliothèque : Le filtre des nouveautés se fait au niveau des exemplaires spécifiques à la bibliothèque et non plus sur les nouveauté au niveau notice
- correctif #165216 : Résultat de recherche : Lors d'une recherche par ISBN, le surlignage des mots recherchés pouvait casser l'affichage.
- correctif #153965 : Affichage Notice : L'icône de réservation s'affiche même en cas de caractère spéciaux dans le code barre
- correctif #159771 : Admin : Modération, l'onglet formulaires n'avait pas d'icon
- correctif #165707 : Magasin de thèmes: L'onglet "Tout" des pages notices, auteurs et bibliothèques est maintenant correctement désactivable.
- correctif #163784 : SIGB Koha : Prêts non visibles à la connexion
- correctif #164008 : SIGB Koha : un document non-disponible au prêt est tout de même réservable si son status dans Koha a une valeur négative (fonctionnement identique à l'OPAC Koha).
- correctif #165447 : SIGB Koha : Correction de l'affichage des sites de retrait des réservations. Correction de la mise à jour de la bibliothèque de l'abonné lors de la connexion.
13/12/2022 - v8.0.173
- fonctionnalité #156344 : Compte lecteur : Bokeh récupère maintenant les informations d'autorisation parental et d'accès multimédia pour les comptes Nanook. Ces données sont utiles pour les postes multimédia internes.
......
- correctif #153965 : Affichage Notice : L'icône de réservation s'affiche même en cas de caractère spéciaux dans le code barre
\ No newline at end of file
- correctif #160846 : Page bibliothèque : Le filtre des nouveautés se fait au niveau des exemplaires spécifiques à la bibliothèque et non plus sur les nouveauté au niveau notice
\ No newline at end of file
- correctif #163784 : Koha : Prêts non visibles à la connexion
\ No newline at end of file
- correctif #164008 : SIGB Koha : un document non-disponible au prêt est tout de même réservable si son status dans Koha a une valeur négative (fonctionnement identique à l'OPAC Koha).
\ No newline at end of file
- correctif #165447 : SIGB Koha : Correction de l'affichage des sites de retrait des réservations. Correction de la mise à jour de la bibliothèque de l'abonné lors de la connexion.
\ No newline at end of file
- correctif #165707 : Magasin de thèmes: L'onglet "Tout" des pages notices, auteurs et bibliothèques est maintenant correctement désactivable.
\ No newline at end of file
- fonctionnalité #149953 : Cosmogramme : intégration des autorités personnes pour l'enrichissement des fiches Auteur
\ No newline at end of file
- fonctionnalité #166686 : Authentification : Pour faciliter le processus d'authentification via OAUTH, la popup de gestion des cookies est maintenant désactivée à l'adresse /auth/oauth.
\ No newline at end of file
- correctif #167566 : Administration : Correction des formulaires personnalisés pour les domaines. Les éléments de formulaire basés sur des codifications personnalisées sont maintenant correctement sauvegardés.
\ No newline at end of file
......@@ -66,7 +66,7 @@ class Admin_BatchController extends ZendAfi_Controller_Action {
return $this->_redirectToIndex();
$this->view->titre = $this->_('Planifier la tâche "%s"', $batch->getLibelle());
$form = (new ZendAfi_Form_Admin_Batch())
$form = (new ZendAfi_Form_Admin_Batch)
->setAction($this->view->url(['module' => 'admin',
'controller' => 'batch',
'action' => 'plan',
......@@ -79,8 +79,10 @@ class Admin_BatchController extends ZendAfi_Controller_Action {
|| !$form->isValid($this->_request->getPost()))
return;
$batch->setPickDay($form->getValue('pick_day'))
->save();
$batch
->setPickDay($form->getValue('pick_day'))
->setPickWeek($form->getValue('pick_week'))
->save();
$this->_helper->notify($this->_('Planification de la tâche modifiée'));
$this->_redirectClose('/admin/batch');
......@@ -95,7 +97,7 @@ class Admin_BatchController extends ZendAfi_Controller_Action {
$batch->run();
$this->_helper->notify($this->_('Tâche executée'));
$this->_redirectToIndex();
$this->_redirectToReferer();
}
......
......@@ -105,7 +105,7 @@ class Admin_DriveCheckoutController extends ZendAfi_Controller_Action {
->_helper
->csv($filename,
$this->view->renderCsv(new Class_TableDescription_DriveCheckout_List('checkouts'),
$this->view->checkouts));
$this->view->checkouts->getArrayCopy()));
}
......
......@@ -417,12 +417,6 @@ class Admin_FileManagerController extends ZendAfi_Controller_Action {
}
protected function _redirectWithMessage($message) {
$this->_helper->notify($message);
return $this->_redirectClose($this->_getReferer());
}
protected function _redirectToPathWithMessage($path, $message) {
$this->_helper->notify($message);
......
......@@ -180,7 +180,7 @@ class Admin_ModulesController extends ZendAfi_Controller_Action {
public function authRegisterAction() {
$form = ZendAfi_Form_Configuration_AuthRegister::newConfigurationWith($this->preferences);
$form = ZendAfi_Form_Configuration_AuthRegister::newWith($this->preferences);
$form->setAction($this->view->url(['controller' => 'modules',
'action' => 'auth-register',
'render' => 'popup']));
......
<?php
/**
* Copyright (c) 2012-2022, Agence Française Informatique (AFI). All rights reserved.
*
* BOKEH is free software; you can redistribute it and/or modify
* it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by
* the Free Software Foundation.
*
* There are special exceptions to the terms and conditions of the AGPL as it
* is applied to this software (see README file).
*
* BOKEH is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
*
* You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
* along with BOKEH; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
class Admin_PortalBorrowersController extends ZendAfi_Controller_Action {
protected Class_Bib_PortalBorrowers $_portal_borrowers;
public function preDispatch() {
parent::preDispatch();
if (in_array($this->_request->getActionName(),
['index', 'config']))
return;
$library_id = $this->_getParam('library_id', 0);
$admin_var = new Class_AdminVar_PortalBorrowers;
if (!$admin_var->isSelectedLibraryId($library_id)
|| (!$library = Class_Bib::find($library_id))) {
$this->_helper->notify($this->_('Bibliothèque non sélectionnée ou introuvable'));
$this->_redirectToIndex();
return;
}
$this->_portal_borrowers = new Class_Bib_PortalBorrowers($library);
}
public function indexAction() {
$this->view->titre = $this->_('Gestion des abonnés portail');
}
public function exportAction() {
$this->view->titre = $this->_('Exporter les abonnés en attentes de validation de la bibliothèque %s',
$this->_portal_borrowers->getLibelle());
$this->view->filename = $this->_portal_borrowers->exportFileName();
$this->view->csv = $this->_portal_borrowers->renderCsvOn($this->view);
$this->view->portal_borrowers = $this->_portal_borrowers;
}
public function exportDownloadAction() {
$this->_helper->getHelper('ViewRenderer')->setNoRender();
if (1 > $this->_portal_borrowers->countUsersToValidate()) {
$this->_helper->notify($this->_('Aucun abonné à valider actuellement'));
$this->_redirectToIndex();
return;
}
$this->_helper->csv($this->_portal_borrowers->exportFileName(),
$this->_portal_borrowers->renderCsvOn($this->view));
}
public function sendByMailAction() {
$this->view->titre = $this->_('Envoyer les abonnés en attentes de validation de la bibliothèque %s par email',
$this->_portal_borrowers->getLibelle());
$this->view->definitions =
[[$this->_('Expéditeur'), $this->_portal_borrowers->emailFrom()],
[$this->_('Destinataire'), $this->_portal_borrowers->recipientEmail()],
[$this->_('Sujet'), $this->_portal_borrowers->emailSubject()],
[$this->_('Corps du message'), $this->_portal_borrowers->emailBody()],
[$this->_('Pièce jointe'), $this->_portal_borrowers->exportFileName()]];
}
public function sendByMailRunAction() {
$this->_helper->getHelper('ViewRenderer')->setNoRender();
$result = $this->_portal_borrowers->sendManualEmail($this->view);
$this->_redirectWithMessage($result);
}
public function importAction() {
$this->view->titre = $this->_('Importer les abonnés validés pour la bibliothèque %s',
$this->_portal_borrowers->getLibelle());
$this->view->form = new ZendAfi_Form_Admin_PortalBorrowersImport;
if (!$this->_request->isPost() || ! $this->view->form->isValid($this->_request->getPost()))
return;
$message = $this->view->form->import($this->_portal_borrowers);
$this->_redirectWithMessage($message);
}
public function journalAction() {
$this->view->titre = $this->_('Journaux de la bibliothèque %s',
$this->_portal_borrowers->getLibelle());
$this->view->mailings = $this->_portal_borrowers->mailingEvents();
$this->view->imports = $this->_portal_borrowers->importEvents();
}
}
......@@ -243,7 +243,7 @@ class Admin_WidgetController extends ZendAfi_Controller_Action {
$form->setAction($this->view->url(['styles_reload' => null]));
if ($this->_request->isPost() && $form->isValid($this->_getParams($widget))) {
$this->_update($widget->setNewDatas($this->_getPosts($form)));
$this->_update($widget->setNewDatas($form->getDatas($this->_request->getPost())));
return $this->_redirectCloseWithReload();
}
......@@ -251,29 +251,6 @@ class Admin_WidgetController extends ZendAfi_Controller_Action {
}
protected function _getPosts($form) {
$defaults = [];
foreach ($form->getMulticheckboxNames() as $checkbox_name)
$defaults[$checkbox_name] = [];
$post = array_merge($defaults, $this->_request->getPost());
$this->custom_values = [];
foreach ($post as $k => $v) {
if (preg_match('/field_[0-9]+/', $k)) {
$this->custom_values[$k] = $v;
unset($post[$k]);
}
}
foreach($form->getMultiInputs() as $multi_input)
$post = $multi_input->packPostValues($post);
return $post;
}
protected function _getParams($widget=null) {
if('add' == $this->_request->getActionName())
return $widget->forForm();
......
<?php
$description = (new Class_TableDescription('batchs'))
->addColumn($this->_('Libellé'), function($model) { return $model->getLabel(); })
->addColumn($this->_('Planification'),
function($model)
{
return (new Class_Repeat_WeekDays())->humanReadable($model->getPickDay());
})
->addColumn($this->_('Dernière exécution'), function($model) { return $model->getLastRun(); })
->addRowAction(function($batch)
{
return $this->renderPluginsActions($batch);
})
;
echo $this->renderTable($description, $this->definitions);
echo $this->renderTable(new Class_TableDescription_Batches('batchs'),
$this->definitions);
......@@ -25,7 +25,7 @@ $menus = [["icon" => "articles",
];
if (isset($modstats['formulaires'])) {
$menus[] = ["icon" => "formulaires_16.png",
$menus[] = ["icon" => "formulaires",
"label" => $this->_('Formulaires'),
'title' => $this->_('Réponses aux formulaires dans les articles'),
"url" => $this->url(['action' => 'formulaires', 'id_article' => null, 'status' => null, 'active_tab' => null, 'page' => null]),
......
<?php
$download_button = (new Class_Button)
->setUrl($this->url(['action' => 'export-download']))
->setText($this->_('Télécharger le CSV'))
->setImage($this->renderIcon('class fa fa-download'))
->setDisablePopup(true);
if ( 1 > $this->portal_borrowers->countUsersToValidate())
$download_button->setAttribs(['disabled' => 'disabled']);
echo
$this->tag('h2', $this->_('Contenu du fichier %s', $this->filename))
. $this->tag('pre', $this->csv)
. $this->button($download_button)
. $this->button_Back();