2 <fieldset class="rows" id="agreement_licenses">
3 <legend>{{ $t("Licenses") }}</legend>
5 :id="`agreement_license_${counter}`"
7 v-for="(agreement_license, counter) in agreement_licenses"
11 {{ $t("Agreement license .counter", { counter: counter + 1 }) }}
12 <a href="#" @click.prevent="deleteLicense(counter)"
13 ><i class="fa fa-trash"></i>
14 {{ $t("Remove this license") }}</a
19 <label :for="`license_id_${counter}`"
20 >{{ $t("License") }}:</label
23 :id="`license_id_${counter}`"
24 v-model="agreement_license.license_id"
26 :reduce="(l) => l.license_id"
29 <template #search="{ attributes, events }">
31 :required="!agreement_license.license_id"
38 <span class="required">{{ $t("Required") }}</span>
41 <label :for="`license_status_${counter}`"
42 >{{ $t("Status") }}:</label
45 :id="`license_status_${counter}`"
46 v-model="agreement_license.status"
48 :reduce="(av) => av.authorised_value"
49 :options="av_agreement_license_statuses"
51 <template #search="{ attributes, events }">
53 :required="!agreement_license.status"
60 <span class="required">{{ $t("Required") }}</span>
63 <label :for="`license_location_${counter}`"
64 >{{ $t("Physical location") }}:
67 :id="`license_location_${counter}`"
68 v-model="agreement_license.physical_location"
70 :reduce="(av) => av.authorised_value"
71 :options="av_agreement_license_location"
75 <label :for="`license_notes_${counter}`"
76 >{{ $t("Notes") }}:</label
79 :id="`license_notes_${counter}`"
80 v-model="agreement_license.notes"
81 :placeholder="$t('Notes')"
85 <label :for="`license_uri_${counter}`"
86 >{{ $t("URI") }}:</label
89 :id="`license_uri_${counter}`"
90 v-model="agreement_license.uri"
91 :placeholder="$t('URI')"
96 <a v-if="licenses.length" class="btn btn-default" @click="addLicense"
97 ><font-awesome-icon icon="plus" /> {{ $t("Add new license") }}</a
99 <span v-else>{{ $t("There are no licenses created yet") }}</span>
104 import { fetchLicenses } from '../../fetch'
106 name: 'AgreementLicenses',
113 av_agreement_license_statuses: Array,
114 av_agreement_license_location: Array,
115 agreement_licenses: Array,
118 fetchLicenses().then((licenses) => this.licenses = licenses)
122 this.agreement_licenses.push({
125 physical_location: null,
130 deleteLicense(counter) {
131 this.agreement_licenses.splice(counter, 1)