Bug 38010: Only allow one primary contact

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
Matt Blenkinsop 2024-12-05 15:08:27 +00:00 committed by Katrin Fischer
parent 0b032c2585
commit 6015c1c52c
No known key found for this signature in database
GPG Key ID: 0EF6E2C03357A834
1 changed files with 22 additions and 45 deletions

View File

@ -154,19 +154,16 @@
<li>
<label>
<input
v-if="contact.acqprimary"
type="checkbox"
:id="`contact_acqprimary_${i}`"
class="contact_acqprimary"
checked="checked"
v-model="contact.acqprimary"
/>
<input
v-else
type="checkbox"
:id="`contact_acqprimary_${i}`"
class="contact_acqprimary"
v-model="contact.acqprimary"
@change="
handlePrimaryContact(
'acqprimary',
i
)
"
/>
{{ $__("Primary acquisitions contact") }}
</label>
@ -174,15 +171,6 @@
<li>
<label>
<input
v-if="contact.orderacquisition"
type="checkbox"
:id="`contact_orderacquisition_${i}`"
class="contact_orderacquisition"
checked="checked"
v-model="contact.orderacquisition"
/>
<input
v-else
type="checkbox"
:id="`contact_orderacquisition_${i}`"
class="contact_orderacquisition"
@ -194,18 +182,9 @@
<li>
<label>
<input
v-if="contact.claimacquisition"
type="checkbox"
:id="`contact_claimacquisition_${i}`"
class="contact_claimacquisition"
checked="checked"
v-model="contact.claimacquisition"
/>
<input
v-else
type="checkbox"
:id="`contact_claimacqu isition_${i}`"
class="contact_claimacqu isition"
v-model="contact.claimacquisition"
/>
{{ $__("Contact about late orders") }}
@ -221,19 +200,16 @@
<li>
<label>
<input
v-if="contact.serialsprimary"
type="checkbox"
:id="`contact_serialsprimary_${i}`"
class="contact_serialsprimary"
checked="checked"
v-model="contact.serialsprimary"
/>
<input
v-else
type="checkbox"
:id="`contact_serialsprimary_${i}`"
class="contact_serialsprimary"
v-model="contact.serialsprimary"
@change="
handlePrimaryContact(
'serialsprimary',
i
)
"
/>
{{ $__("Primary serials contact") }}
</label>
@ -241,15 +217,6 @@
<li>
<label>
<input
v-if="contact.claimissues"
type="checkbox"
:id="`contact_claimissues_${i}`"
class="contact_claimissues"
checked="checked"
v-model="contact.claimissues"
/>
<input
v-else
type="checkbox"
:id="`contact_claimissues_${i}`"
class="contact_claimissues"
@ -297,6 +264,16 @@ export default {
claimissues: false,
});
},
handlePrimaryContact(type, i) {
const contact = this.vendor.contacts[i];
if (contact[type]) {
this.vendor.contacts.forEach((contact, j) => {
if (j !== i) {
contact[type] = false;
}
});
}
},
deleteContact(i) {
this.vendor.contacts.splice(i, 1);
},