diff --git a/module/fid/config/fid-acquisition-subito-partial-copy-form.php b/module/fid/config/fid-acquisition-subito-partial-copy-form.php index bcd36f3f7158f1cd56391a62251de5bda8b8c2d4..6cf000c82d7cd8dbdf4ff3ebea0c9e5982bec49f 100644 --- a/module/fid/config/fid-acquisition-subito-partial-copy-form.php +++ b/module/fid/config/fid-acquisition-subito-partial-copy-form.php @@ -46,6 +46,18 @@ return [ ], ], ], + 'comment' => [ + 'spec' => [ + 'name' => 'comment', + 'type' => Text::class, + 'options' => [ + 'label' => 'acquisition_label_comment', + ], + 'attributes' => [ + 'required' => false, + ], + ], + ], 'submit' => [ 'spec' => [ 'name' => 'submit', @@ -103,6 +115,23 @@ return [ ], ], ], + 'comment' => [ + 'name' => 'comment', + 'required' => false, + 'filters' => [ + StringTrim::class => [ + 'name' => StringTrim::class, + ], + ], + 'validators' => [ + StringLength::class => [ + 'name' => StringLength::class, + 'options' => [ + 'max' => 5000 + ] + ], + ], + ], 'submit' => [ 'name' => 'submit', 'required' => true, diff --git a/module/fid/src/Controller/CustomTraits/FidAcquisitionTrait.php b/module/fid/src/Controller/CustomTraits/FidAcquisitionTrait.php index 4999b59b5b531db619be86660f0f4fd422183935..fb7a8d4237bb3dac4a4b47411ae7faffad641ed1 100644 --- a/module/fid/src/Controller/CustomTraits/FidAcquisitionTrait.php +++ b/module/fid/src/Controller/CustomTraits/FidAcquisitionTrait.php @@ -175,7 +175,8 @@ trait FidAcquisitionTrait $url = $this->getRecordUrl($recordId); $label = $this->getOrderLabel($driver); $subitoPartialCopy = [ - 'selection' => $form->getData()['pages'] + 'selection' => $form->getData()['pages'], + 'comment' => $form->getData()['comment'] ]; $form->getHydrator()->hydrate(compact('driver','user', 'type', 'url', 'label', 'subitoPartialCopy'), $order = new Order()); $this->client->requestOrderCreation($order); diff --git a/module/finc/src/finc/RecordDriver/SolrAI.php b/module/finc/src/finc/RecordDriver/SolrAI.php index 4a9ccbb9ed2ad37dd80e3110d45d37377f6d46c3..4af5fa770e8e796a0ca20893e4d3f5234777df9c 100644 --- a/module/finc/src/finc/RecordDriver/SolrAI.php +++ b/module/finc/src/finc/RecordDriver/SolrAI.php @@ -266,6 +266,16 @@ class SolrAI extends SolrDefault implements return isset($this->fields['issn']) ? $this->fields['issn'] : []; } + /** + * Get an array of all ISSNs associated with the record (may be empty). + * + * @return array of issns + */ + public function getCleanISSN() + { + return $this->getAIRecord('rft.issn'); + } + /** * Get the eISSN from a record. * diff --git a/themes/fid/languages/fid/de.ini b/themes/fid/languages/fid/de.ini index df6b0f1566347729e8ed9ceb4281da87effa0786..385ab05edcef55fa7169a559866eef6fdc16cc95 100644 --- a/themes/fid/languages/fid/de.ini +++ b/themes/fid/languages/fid/de.ini @@ -143,6 +143,7 @@ acquisition_order_delivery_name = "Name" acquisition_delivery_to = "Lieferung an" acquisition_info_requested_item = "Bestellung" acquisition_label_pages = "Seitenzahlen (von-bis)" +acquisition_label_comment = "Bemerkungen" acquisition_label_submit = "Bestellen" acquisition_error_pages_too_short = "Ihre Eingabe hat zu wenige Zeichen. Bitte geben Sie mind. 3 Zeichen ein." acquisition_error_pages_too_long = "Ihre Eingabe hat zu viele Zeichen. Bitte geben Sie max. 13 Zeichen ein." diff --git a/themes/fid/languages/fid/en.ini b/themes/fid/languages/fid/en.ini index ecb16166624d90b50fbe217971a35b10f8fc16e1..37ef3257a470bba5ff543645ee010058e096d82f 100644 --- a/themes/fid/languages/fid/en.ini +++ b/themes/fid/languages/fid/en.ini @@ -141,6 +141,7 @@ acquisition_order_delivery_name = "Name" acquisition_delivery_to = "Delivery to" acquisition_info_requested_item = "Order item" acquisition_label_pages = "Pages (from-to)" +acquisition_label_comment = "Remarks" acquisition_label_submit = "Order" acquisition_error_pages_too_short = "Your request has too few characters. Please enter at least 3 characters." acquisition_error_pages_too_long = "Your request has too many characters. Please enter a maximum of 13 characters." diff --git a/themes/fid/templates/fid/record/acquisition-subito-partial-copy.phtml b/themes/fid/templates/fid/record/acquisition-subito-partial-copy.phtml index 5405b306203ebd3ff91628fdf5b1c939df11fe12..de3bad84d9b5f0650e1d24adafcfc07d463a7534 100644 --- a/themes/fid/templates/fid/record/acquisition-subito-partial-copy.phtml +++ b/themes/fid/templates/fid/record/acquisition-subito-partial-copy.phtml @@ -59,21 +59,43 @@ $form->setAttribute('class','fid-acquisition-form'); </div> </div> +<? /* pages */ ?> +<?php +/** @var Element\Text $elemPages */ +$elemPages = $form->get('pages'); +$elemPages->setLabelAttributes(['class' => 'control-label']); +$elemPages->setAttributes(['class' => 'form-control']); +?> + +<? /* comments */ ?> +<?php +/** @var Element\Text $elemComment */ +$elemComment = $form->get('comment'); +$elemComment->setLabelAttributes(['class' => 'control-label']); +$elemComment->setAttributes(['class' => 'form-control']); +?> + <div class="row pages"> - <div class="col col-xs-12"> - <? /* pages */ ?> - <?php - /** @var Element\Text $elemPages */ - $elemPages = $form->get('pages'); - $elemPages->setLabelAttributes(['class' => 'control-label']); - $elemPages->setAttributes(['class' => 'form-control']); - ?> + <?php if ( ! ( $this->formElementErrors($elemComment) == "" && $this->formElementErrors($elemPages) == "" ) ): ?> + <div class="col col-xs-12"> + <div class="form-group"> + <?= $this->formElementErrors($elemPages) ?> + <?= $this->formElementErrors($elemComment) ?> + </div> + </div> + <?php endif; ?> + <div class="col col-xs-12 col-md-6"> <div class="form-group"> - <?= $this->formElementErrors($elemPages) ?> <?= $this->formLabel($elemPages) ?> <?= $this->formElement($elemPages) ?> </div> </div> + <div class="col col-xs-12 col-md-6"> + <div class="form-group"> + <?= $this->formLabel($elemComment) ?> + <?= $this->formElement($elemComment) ?> + </div> + </div> </div> <div class="row information">