Skip to content
Snippets Groups Projects
Commit f813aa51 authored by Patrick Barroca's avatar Patrick Barroca :grin:
Browse files

rel #16730: fix RT

parent 29a0dae4
Branches
Tags
5 merge requests!529Hotline 6.56,!512Master,!484Master,!483Hotline 6.54,!462Hotline #16730 bib selector validator
......@@ -35,11 +35,15 @@ class ZendAfi_Form_ContactForm extends ZendAfi_Form {
if (empty($multiOptions))
return $this;
$multiOptions =
['0' => $this->_('Veuillez sélectionner une bibliothèque')]
+ $multiOptions; // use "+" as array_merge wipe existing numeric keys
$this
->addElement('select',
'bib_selector',
['label' => $this->_('Choisissez votre bibliothèque'),
'multiOptions' => ['0' => $this->_('Veuillez sélectionner une bibliothèque')] + $multiOptions,
'multiOptions' => $multiOptions,
'validators' => ['name' => 'BibSelector']])
->removeDisplayGroup('form_message');
return $this->addMessageDisplayGroup(['bib_selector']);
......
......@@ -45,22 +45,17 @@ class ZendAfi_Form_SuggestionAchat extends ZendAfi_Form {
'placeholder' => 'ex: 2-07-054127-4',
'size' => 17]);
$user_friendly_bibs = Class_Bib::getUserFriendlyBibs();
$nb_bibs = count($user_friendly_bibs);
if ($nb_bibs > 0) {
$this->addElement('select',
'bib_id',
['label' => $this->_('Bibliothèque').' *',
'multiOptions' => ['0' => $this->_('Veuillez sélectionner une bibliothèque')] + $user_friendly_bibs,
'value' => ($nb_bibs == 1 ? array_keys($user_friendly_bibs)[0] : 0),
'validators' => ['bibSelector']]);
}
$common_fields = ['titre', 'auteur', 'type_doc_id',
'description_url', 'isbn', 'bib_id'];
if ($this->addBibSelector())
$common_fields[] = 'bib_id';
$this->addElement('textarea', 'commentaire', ['label' => '',
'cols' => 80,
'rows' => 10])
->addDisplayGroup(['titre', 'auteur', 'type_doc_id', 'description_url', 'isbn', 'bib_id'],
->addDisplayGroup($common_fields,
'suggestion',
['legend' => $this->_('Informations sur le document')])
......@@ -72,6 +67,27 @@ class ZendAfi_Form_SuggestionAchat extends ZendAfi_Form {
}
/** @return boolean whether selector is added */
protected function addBibSelector() {
$user_friendly_bibs = Class_Bib::getUserFriendlyBibs();
if (empty($user_friendly_bibs))
return false;
$multiOptions =
['0' => $this->_('Veuillez sélectionner une bibliothèque')]
+ $user_friendly_bibs; // use "+" as array_merge wipe existing numeric keys
$this->addElement('select', 'bib_id',
['label' => $this->_('Bibliothèque') . ' *',
'multiOptions' => $multiOptions,
'value' => (count($user_friendly_bibs) == 1
? array_keys($user_friendly_bibs)[0]
: 0),
'validators' => ['bibSelector']]);
return true;
}
public function removeSubmitButton() {
$this->removeElement('submit');
return $this;
......
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