Commit 6123cf13 authored by Patrick Barroca's avatar Patrick Barroca 😁
Browse files

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

Merge remote-tracking branch 'refs/remotes/origin/master' into dev#94469_minsoc_autorites_recherche_dediee_aux_autorites
parents 48e3b5a9 51f96e7c
Pipeline #8191 failed with stage
in 32 minutes and 37 seconds
'55588' =>
['Label' => $this->_('Indexation en texte intégral des documents liés (pdf, html)'),
'Desc' => $this->_('Bokeh permet d\'indexer les fichiers décrits dans une zone des notices et présents dans sur le serveur d\'hébergement'),
'Image' => '',
'Video' => '',
'Category' => '',
'Right' => function($feature_description, $user) {return true;},
'Wiki' => 'http://wiki.bokeh-library-portal.org/index.php?title=Indexation_de_fichiers_li%C3%A9s_aux_notices',
'Test' => '',
'Date' => '2019-07-19'],
\ No newline at end of file
......@@ -271,7 +271,10 @@ Edit /etc/mysql/my.cnf and add to the [mysqld] section the following line (in or
```
ft_min_word_len = 1
ft_stopword_list = /dev/null
```
The stopword list can be set to a file in which you can define any word to be ignored.
Restart mysql.
......
20/08/2019 - v8.0.23
- ticket #94332 : WebService : amélioration de l'affichage des sites de retraits des reservations.
- ticket #95190 : Administration : Export CSV des médias
- ticket #68507 : WebService Koha : Correction du format de la date de naissance dans le formulaire de pré-inscription.
- ticket #93504 : Bibliothèque numérique : pouvoir ouvrir/télécharger des images avec l'extension JPG
- ticket #94528 : Arte VOD : Maintenance du connecteur
- ticket #93542 : Affichage des vignettes : prise en compte des champs unimarc spécifiés dans la configuration du profil
- ticket #95885 : Version Mobile : Affichage des horaires d'ouvertures dans la fiche bibliothèque.
29/07/2019 - v8.0.22
- ticket #80976 : Page notice : connecté en tant qu'administrateur, l'outil "Inspector Gadget" permet de supprimer un exemplaire
- ticket #95535 : Boite auteurs : meilleure prise en compte du nombre d'auteurs à afficher
- ticket #95486 : Articles, Albums et Fiches bibliothèque: les vignettes générées sont maintenant en 500px
- ticket #94048 : Administration : élargissement de la plage horaire dans le module rendez-vous
- ticket #95499 : Administration : correction d'une erreur SQL en absence de champs personnalisés dans le module rendez-vous
- ticket #90556 : Administration : correction de la mise à jour du chemin des vignettes des domaines lors du déplacement d'un fichier par l'explorateur de fichiers
- ticket #82630 : Intégrations : Ajout du dédoublonnage des notices sur le champ 001 par site
- ticket #94887 : SIGB Waterbear: correction du fonctionnement des réservations
- ticket #94527 : Liens Notices / Albums : ajout d'un script de maintenance des liens lorsque les types de documents des notices changent
23/07/2019 - v8.0.21
- ticket #89462 : Serveur OAI : Ajout d'un metadataPrefix oai_dc_bokeh plus riche que l'oai_dc pour les notices d'albums de la bibliothèque numérique Bokeh
- ticket #95222 : Ajout de la boite Auteurs
- ticket #93032 : Administration des rendez-vous : Recherche sur les champs personalisés
16/07/2019 - v8.0.20
- ticket #94707 : Bibliothèque numérique : correction de l'export EAD
- ticket #90745 : Les mails sont toujours encodés en UTF8. Possibilité de personnaliser le sujet des mails de notification d'un enregistrement utilisateur.
- ticket #94066 : Filtres de l'agenda : ajout de l'élément "Tous" sur le filtre "Mois" pour déselectionner le critère lorsque la configuration d'affichage est mise à "Afficher le calendrier" = "non"
- ticket #91532 : SIGB Koha : mise à jour des messages d'erreur affichés en cas d'echec sur une réservation via les webservices.
- ticket #89072 : SIGB Carthame : prise en compte du statut de prolongation des prêts
- ticket #93615 : Connecteur Jamendo : désactivation du moissonage Jamendo car trop long et instable
- ticket #94159 : Connecteur Skilleos : mise à jour de l'API
- ticket #94842 : Connecteur Cité de la musique : maintenance SSO
01/07/2019 - v8.0.19
- ticket #93469 : Indexation : Ajout d'un script de nettoyage des facettes dynamiques obsolètes
......
- ticket #55588 : Intégration : Indexation en texte intégral des documents liés aux notices (pdf, html)
\ No newline at end of file
- ticket #93032 : Administration des rendez-vous : Recherche sur les champs personalisés
\ No newline at end of file
......@@ -53,7 +53,8 @@ class Admin_AjaxController extends ZendAfi_Controller_Action {
protected function getAuthorityFor($code) {
$authorities = ['auteur' => new Class_Auteur(),
$authorities = ['auteur' => new Class_CodifAuteur(),
'responsibility' => new Class_CodifAuteurFonction(),
'matiere' => new Class_Matiere(),
'interet' => new Class_CodifCentreInteret(),
'dewey' => new Class_CodifDewey(),
......
......@@ -119,7 +119,8 @@ class Admin_AlbumController extends ZendAfi_Controller_Action {
$form = $this->_formImportEAD();
$this->view->form_import_ead = $form;
$this->view->form_export_ead = $this->_formExportEad();
$this->view->form_export_ead = $this->_formExport();
$this->view->form_export_csv = $this->_formExport('csv');
if (!$this->_request->isPost())
return;
......@@ -159,12 +160,12 @@ class Admin_AlbumController extends ZendAfi_Controller_Action {
}
protected function _formExportEAD() {
protected function _formExport($type='ead') {
return $this->view
->newForm(['id' => 'export_ead', 'class' => 'form'])
->setMethod('post')
->setAttrib('enctype', 'multipart/form-data')
->setAction($this->view->url(['action' => 'export-ead']))
->setAction($this->view->url(['action' => 'export-'.$type]))
->addElement('select',
'cat_id',
['style' => 'max-width:445px;',
......@@ -172,12 +173,34 @@ class Admin_AlbumController extends ZendAfi_Controller_Action {
'required' => true,
'multiOptions' => ['' => $this->_('Choisissez une catégorie')]
+ Class_AlbumCategorie::getAllLibelles()])
->addElement('submit', 'submit', ['label' => 'Exporter en EAD']);
->addElement('submit', 'submit', ['label' => 'Exporter en ' . strtoupper($type)]);
}
public function exportCsvAction() {
$description = (new Class_TableDescription('ressources'))
->addColumn($this->_('Categorie'), 'album_category_absolute_path')
->addColumn($this->_('Titre Album'), 'titre_album')
->addColumn($this->_('Description Album'), 'description_album')
->addColumn($this->_('Date'), 'annee')
->addColumn($this->_('Créateur'), 'auteur')
->addColumn($this->_('Editeur'), 'editeur')
->addColumn($this->_('Titre'), 'titre')
->addColumn($this->_('Description'), 'description')
->addColumn($this->_('Ressource'), 'play_ressource_url');
$categories = [Class_AlbumCategorie::find($this->_getParam('cat_id',1))];
$datas = [];
foreach(Class_AlbumCategorie::getAlbumsFromCategories([$this->_getParam('cat_id',1)]) as $album)
$datas = array_merge($album->getRessources(),$datas);
return $this->_helper->csv('export.csv',
$this->view->renderCsv($description, $datas));
}
public function exportEadAction() {
$form = $this->_formExportEAD();
$form = $this->_formExport();
if ($form->isValid($this->_request->getPost())) {
$this->getHelper('ViewRenderer')->setNoRender();
$response = $this->_response;
......
......@@ -111,4 +111,17 @@ class Admin_RecordsController extends ZendAfi_Controller_Action {
$this->_helper->notify($this->_('La bande-annonce a bien été mise à jour'));
$this->_redirectClose($this->_getReferer());
}
public function deleteItemAction() {
if ($item = Class_Exemplaire::find($this->_getParam('id')))
$item->delete();
$this->_helper->notify($item
? $this->_('Exemplaire "%s" supprimé',
$item->getCodeBarres())
: $this->_('Exemplaire non trouvé'));
$this->_redirectToReferer();
}
}
......@@ -305,4 +305,21 @@ class Admin_WidgetController extends ZendAfi_Controller_Action {
public function formProvider($widget) {
return call_user_func_array([$widget->getForm(), 'newWith'], [$widget->forForm()]);
}
public function widgetActionAction() {
$id_module = $this->_getParam('id_module');
if (Class_Profil::getCurrentProfil()->getId() !== (int)$this->_getParam('id_profil'))
throw new Zend_Controller_Action_Exception($this->view->_('Profil inexistant'), 404);
if (!$config = Class_Profil::getCurrentProfil()->getLocalModuleAccueilConfig($id_module))
throw new Zend_Controller_Action_Exception($this->view->_('Boite inexistante'), 404);
$helper = ZendAfi_View_Helper_Accueil_Base::getModuleHelperFromParams($id_module,
$config,
$this->view);
$helper->performAction($this->_getParam('named'));
$this->_redirectToReferer();
}
}
\ No newline at end of file
......@@ -3,4 +3,5 @@ echo $this->tag('h2', $this->_('Import'));
echo $this->renderForm($this->form_import_ead);
echo $this->tag('h2', $this->_('Export'));
echo $this->renderForm($this->form_export_ead);
echo $this->renderForm($this->form_export_csv);
?>
<?php echo $this->partial('harvest/_harvest_progress.phtml',
['harvest_url' => $this->harvest_url]); ?>
<h2><?php echo $this->_('Importer un album depuis la page Jamendo'); ?></h2>
<?php echo $this->renderForm($this->import_form); ?>
......@@ -402,9 +402,8 @@ class AuthController extends ZendAfi_Controller_Action {
$data = ZendAfi_Filters_Post::filterStatic($this->_request->getPost());
$class_user = new Class_Users();
$data['cle'] = md5($data['mail']);
$ret = $class_user->registerUser($data);
$ret = (new Class_User_Registration())->registerUser($data);
// Affichage des erreurs
if(isset($ret["error"])) {
......@@ -558,11 +557,8 @@ class AuthController extends ZendAfi_Controller_Action {
if ('' != $this->_getParam('emailCheck'))
return $this->_redirect('/');
$form = $pre_registration
->getForm()
->populate(ZendAfi_Filters_Post::filterStatic($this->_request->getParams()));
$this->view->form = $form;
$this->view->form =
$form->populate(ZendAfi_Filters_Post::filterStatic($this->_request->getParams()));
$data = ZendAfi_Filters_Post::filterStatic($this->_request->getPost());
unset($data['emailCheck']);
......
......@@ -248,4 +248,74 @@ class BibController extends ZendAfi_Controller_Action {
$this->view->titre = $this->_('Carte des bibliothèques');
$this->view->libraries = Class_Bib::findAllWithCoordinates();
}
public function enLirePlusAction() {
$this->_initLibrary();
}
public function ouverturesAction() {
$this->_initLibrary();
}
public function informationsAction() {
$this->_initLibrary();
}
public function carteAction() {
$this->_initLibrary();
}
public function equipeAction() {
$this->_initLibrary();
}
public function agendaAction() {
$this->_initLibrary();
}
public function avisProAction() {
$this->_initProUser();
}
public function articlesProAction() {
$this->_initProUser();
}
public function selectionsProAction() {
$this->_initProUser();
}
protected function _initProUser() {
$this->_initLibrary();
if (!$pro = Class_Users::find($this->_getParam('pro_id'))) {
$this->_helper->notify($this->_('Une erreur c\'est produite.'), ['status' => 'error']);
return $this->_redirectClose($this->_getReferer());
}
if (!$pro->canAccessBackend()) {
$this->_helper->notify($this->_('Une erreur c\'est produite.'), ['status' => 'error']);
return $this->_redirectClose($this->_getReferer());
}
$this->view->pro = $pro;
}
protected function _initLibrary() {
if (!$this->view->library = Class_Bib::find($this->_getParam('id'))) {
$this->_helper->notify($this->_('Une erreur c\'est produite.'), ['status' => 'error']);
return $this->_redirectClose($this->_getReferer());
}
}
}
\ No newline at end of file
......@@ -226,15 +226,34 @@ class CmsController extends ZendAfi_Controller_Action {
public function calendarAction() {
$viewRenderer = $this->getHelper('ViewRenderer');
if ($this->_getParam('render') === 'ajax')
$viewRenderer->setLayoutScript('empty.phtml');
$this->_initCalendarAndPreferences();
$id_module = $this->_getParam("id_module");
if ($this->_getParam('render') === 'ajax') {
$content = $this->view->calendarContent($this->view->calendar,
$this->view->preferences);
$script_loader = Class_ScriptLoader::getInstance();
$scripts = $script_loader
->addAdminScript('onload_utils')
->addJQueryReady('setupAnchorsTarget();')
->html();
$this->_helper->HTMLAjaxResponse($scripts . $content);
}
}
protected function _initCalendarAndPreferences() {
$id_module = $this->_getParam('id_module');
if (false !== strpos($id_module, 'library'))
return $this->_loadLibraryAgenda((int) filter_var($id_module, FILTER_SANITIZE_NUMBER_INT));
$module = Class_Profil::getCurrentProfil()->getModuleAccueilPreferences($id_module, 'CALENDAR');
$module_calendrier = new Class_Systeme_ModulesAccueil_Calendrier();
$preferences = array_merge($module_calendrier->getDefaultValues(),
Class_Profil::getCurrentProfil()->getModuleAccueilPreferences($id_module, 'CALENDAR'));
$module);
$preferences['ID_MODULE'] = $id_module;
$preferences['SELECT_ID_CAT'] = $preferences['display_cat_select']
? $this->_getParam('select_id_categorie')
......@@ -249,6 +268,16 @@ class CmsController extends ZendAfi_Controller_Action {
}
protected function _loadLibraryAgenda($id) {
$wrapper = new Intonation_Library_View_Wrapper_Library_RichContent_Agenda;
$wrapper
->setModel(Class_Bib::find($id))
->setView($this->view);
$this->view->preferences = $wrapper->getPreferences();
$this->view->calendar = $wrapper->getCalendar($this->_request->getParams());
}
/**
* @param int $id_module
......
......@@ -18,17 +18,24 @@
* along with BOKEH; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
class OaiController extends Zend_Controller_Action {
public function init() {
$this->_helper->getHelper('contextSwitch')
->addActionContext('list-identifiers', 'xml')
->addActionContext('identify', 'xml')
->addActionContext('list-metadata-formats', 'xml')
->addActionContext('list-records', 'xml')
->addActionContext('list-sets', 'xml')
->addActionContext('get-record', 'xml')
->addActionContext('bad-verb', 'xml')
->initContext();
->addActionContext('list-identifiers', 'xml')
->addActionContext('identify', 'xml')
->addActionContext('list-metadata-formats', 'xml')
->addActionContext('list-records', 'xml')
->addActionContext('list-sets', 'xml')
->addActionContext('get-record', 'xml')
->addActionContext('bad-verb', 'xml')
->initContext();
}
public function preDispatch() {
parent::preDispatch();
$this->getHelper('ViewRenderer')->setLayoutScript('empty.phtml');
}
......@@ -62,7 +69,6 @@ class OaiController extends Zend_Controller_Action {
public function listIdentifiersAction() {
$this->getHelper('ViewRenderer')->setLayoutScript('empty.phtml');
$request = new Class_WebService_OAI_Request_ListIdentifiers($this->_request->getParams(),
$this->buildBaseUrl());
$builder = new Class_Xml_Builder();
......@@ -70,7 +76,7 @@ class OaiController extends Zend_Controller_Action {
$this->view->error = $request->getErrorOn($builder);
if ($notices = $request->getNotices()) {
$visitor = new Class_Notice_DublinCoreVisitor();
$visitor = $request->getRecordVisitor();
$visitor->setGlobalSetSpec($request->getSet());
$recordBuilder = new Class_WebService_OAI_Response_RecordHeadersBuilder();
$headers = '';
......@@ -80,13 +86,13 @@ class OaiController extends Zend_Controller_Action {
}
$this->view->headers = $headers;
}
$this->view->builder = $builder;
$this->view->token = $request->getToken();
}
public function listRecordsAction() {
$this->getHelper('ViewRenderer')->setLayoutScript('empty.phtml');
$request = new Class_WebService_OAI_Request_ListRecords($this->_request->getParams(),
$this->buildBaseUrl());
$builder = new Class_Xml_Builder();
......@@ -94,7 +100,7 @@ class OaiController extends Zend_Controller_Action {
$this->view->error = $request->getErrorOn($builder);
if ($notices = $request->getNotices()) {
$visitor = new Class_Notice_DublinCoreVisitor();
$visitor = $request->getRecordVisitor();
$visitor->setGlobalSetSpec($request->getSet());
$recordBuilder = new Class_WebService_OAI_Response_RecordBuilder();
$records = '';
......@@ -104,13 +110,13 @@ class OaiController extends Zend_Controller_Action {
}
$this->view->records = $records;
}
$this->view->builder = $builder;
$this->view->token = $request->getToken();
}
public function identifyAction() {
$this->getHelper('ViewRenderer')->setLayoutScript('empty.phtml');
$this->view->baseUrl = $baseUrl = $this->buildBaseUrl();
$request = new Class_WebService_OAI_Request_Identify($this->_request->getParams(),
......@@ -134,19 +140,16 @@ class OaiController extends Zend_Controller_Action {
public function listMetadataFormatsAction() {
$this->getHelper('ViewRenderer')->setLayoutScript('empty.phtml');
$baseUrl = $this->buildBaseUrl();
$request = new Class_WebService_OAI_Request_ListMetadataFormats($this->_request->getParams(),
$baseUrl);
$this->view->request = $request;
$this->view->builder = $builder = new Class_Xml_Builder();
$this->view->error = $request->getErrorOn($builder);
$builder = new Class_Xml_Builder();
$this->view->request = $request->renderOn($builder);
$this->view->response = $request->getResponseOn($builder);
}
public function listSetsAction() {
$this->getHelper('ViewRenderer')->setLayoutScript('empty.phtml');
$baseUrl = $this->buildBaseUrl();
$request = new Class_WebService_OAI_Request_ListSets($this->_request->getParams(),
$baseUrl);
......@@ -167,7 +170,6 @@ class OaiController extends Zend_Controller_Action {
public function getRecordAction() {
$this->getHelper('ViewRenderer')->setLayoutScript('empty.phtml');
$baseUrl = $this->buildBaseUrl();
$request = new Class_WebService_OAI_Request_GetRecord($this->_request->getParams(),
$baseUrl);
......@@ -177,7 +179,7 @@ class OaiController extends Zend_Controller_Action {
$this->view->error = $request->getErrorOn($builder);
if ($notice = $request->getNotice()) {
$visitor = new Class_Notice_DublinCoreVisitor();
$visitor = $request->getRecordVisitor();
$visitor->visit($notice);
$recordBuilder = new Class_WebService_OAI_Response_RecordBuilder();
$this->view->record = $recordBuilder->xml($builder, $visitor);
......@@ -187,9 +189,6 @@ class OaiController extends Zend_Controller_Action {
public function badVerbAction() {
$this->getHelper('ViewRenderer')->setLayoutScript('empty.phtml');
$this->view->baseUrl = $this->buildBaseUrl();
}
}
?>
\ No newline at end of file
......@@ -741,8 +741,11 @@ class RechercheController extends ZendAfi_Controller_Action {
'class' => 'zend_form reservation_pickup',
'action' => $this->view->url(['controller' => 'recherche',
'action' => $action])])
->addElement('Radio', 'code_annexe', ['required' => true,
'allowEmpty' => false])
->addElement('Radio',
'code_annexe',
['required' => true,
'allowEmpty' => false,
'escape' => false])
->addDisplayGroup(['code_annexe'], 'group', ['legend' => 'Site de retrait']);
}
......
<?php
echo $this->library_Agenda($this->library);
<?php
echo $this->library_ProArticles($this->library, $this->pro);
<?php
echo $this->library_ProReviews($this->library, $this->pro);
<?php
echo $this->library_Map($this->library);
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