Bug 35714: Prevent items not linked with processing with a letter code a to be printed
Items linked with a processing which does not have a letter code are not
supposed to be printed.
Currently the code is allowing to "print slip" for items when using the
link on top of the table. It results in an error "No letter_code at
/kohadevbox/koha/preservation/print_slip.pl line 45."
Test plan:
Create a processing without a letter code
Add 2 items to the waiting list then add them to a train
Go to the "show train" view
=> notice that you cannot print slip for those items
Create another processing with a letter code
Edit one of the item and set it the new processing
=> A slip for this item can be printed
Edit the other item and the train to make them use the new processing
=> A slip for those items can be printed
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 335b5b7ad5
)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
parent
204b5c76ce
commit
29aa0eab32
1 changed files with 21 additions and 5 deletions
|
@ -183,10 +183,18 @@
|
|||
v-bind:key="counter"
|
||||
>
|
||||
<input
|
||||
:disabled="!item.processing.letter_code"
|
||||
v-model="selected_items"
|
||||
type="checkbox"
|
||||
name="user_train_item_id"
|
||||
:value="item.train_item_id"
|
||||
:title="
|
||||
!item.processing.letter_code
|
||||
? $__(
|
||||
'Cannot print slip, this item does not have a processing with a letter template defined.'
|
||||
)
|
||||
: ''
|
||||
"
|
||||
/>
|
||||
<label
|
||||
>{{ item.user_train_item_id }}
|
||||
|
@ -527,15 +535,17 @@ export default {
|
|||
selectAll() {
|
||||
if (this.item_table.display) {
|
||||
$("#" + this.table_id)
|
||||
.find("input[name='user_train_item_id'][type='checkbox']")
|
||||
.find(
|
||||
"input[name='user_train_item_id'][type='checkbox']:not(:disabled)"
|
||||
)
|
||||
.each((i, input) => {
|
||||
this.selected_items.push($(input).val())
|
||||
$(input).prop("checked", true)
|
||||
})
|
||||
} else {
|
||||
this.selected_items = this.train.items.map(
|
||||
item => item.train_item_id
|
||||
)
|
||||
this.selected_items = this.train.items
|
||||
.filter(i => i.processing.letter_code)
|
||||
.map(item => item.train_item_id)
|
||||
}
|
||||
},
|
||||
printSelected() {
|
||||
|
@ -579,6 +589,12 @@ export default {
|
|||
let train_item_id = train_item.train_item_id
|
||||
|
||||
let checkbox = createVNode("input", {
|
||||
...(!train_item.processing.letter_code && {
|
||||
disabled: "disabled",
|
||||
title: __(
|
||||
"Cannot print slip, this item does not have a processing with a letter template defined."
|
||||
),
|
||||
}),
|
||||
type: "checkbox",
|
||||
name: "user_train_item_id",
|
||||
value: train_item_id,
|
||||
|
@ -660,7 +676,7 @@ export default {
|
|||
)
|
||||
}
|
||||
|
||||
if (train_item.processing.letter_code !== null) {
|
||||
if (train_item.processing.letter_code) {
|
||||
let printButton = createVNode(
|
||||
"a",
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue