2 <div v-if="!this.initialized">Loading...</div>
3 <div v-else id="agreements_show">
5 Agreement #{{ agreement.agreement_id }}
6 <span class="action_links">
8 :to="`/cgi-bin/koha/erm/agreements/edit/${agreement.agreement_id}`"
10 ><i class="fa fa-pencil"></i
14 :to="`/cgi-bin/koha/erm/agreements/delete/${agreement.agreement_id}`"
16 ><i class="fa fa-trash"></i
21 <fieldset class="rows">
24 <label>Agreement name:</label>
30 <label>Vendor:</label>
31 <span v-if="agreement.vendor_id">
33 vendors.find((e) => e.id == agreement.vendor_id)
39 <label>Description: </label>
41 {{ agreement.description }}
45 <label>Status: </label>
48 av_agreement_statuses,
54 <label>Closure reason:</label>
57 av_agreement_closure_reasons,
58 agreement.closure_reason
63 <label>Is perpetual:</label>
64 <span v-if="agreement.is_perpetual">Yes</span>
65 <span v-else>No</span>
68 <label>Renewal priority:</label>
71 av_agreement_renewal_priorities,
72 agreement.renewal_priority
77 <label>License info: </label>
78 <span>{{ agreement.license_info }}</span>
82 <label>Periods</label>
87 <th>Cancellation deadline</th>
94 ) in agreement.periods"
98 {{ format_date(period.started_on) }}
100 <td>{{ format_date(period.ended_on) }}</td>
104 period.cancellation_deadline
108 <td>{{ period.notes }}</td>
125 ) in agreement.user_roles"
128 <td>{{ patron_to_html(role.patron) }}</td>
132 av_agreement_user_roles,
143 <label>Licenses</label>
148 <th>Physical location</th>
155 agreement_license, counter
156 ) in agreement.agreement_licenses"
161 :to="`/cgi-bin/koha/erm/licenses/${agreement_license.license_id}`"
163 {{ agreement_license.license.name }}
169 av_agreement_license_statuses,
170 agreement_license.status
177 av_agreement_license_location,
178 agreement_license.physical_location
182 <td>{{ agreement_license.notes }}</td>
183 <td>{{ agreement_license.uri }}</td>
190 <label>Related agreements</label>
192 v-for="relationship in agreement.agreement_relationships"
193 v-bind:key="relationship.related_agreement_id"
197 :to="`/cgi-bin/koha/erm/agreements/${relationship.related_agreement.agreement_id}`"
199 relationship.related_agreement.name
205 av_agreement_relationships,
206 relationship.relationship
214 <fieldset class="action">
216 to="/cgi-bin/koha/erm/agreements"
227 import AgreementPeriods from './AgreementPeriods.vue'
228 import AgreementUserRoles from './AgreementUserRoles.vue'
229 import { useVendorStore } from "../../stores/vendors"
230 import { useAVStore } from "../../stores/authorised_values"
231 import { fetchAgreement } from "../../fetch"
232 import { storeToRefs } from "pinia"
236 const format_date = $date
237 const patron_to_html = $patron_to_html
238 const get_lib_from_av = function (arr, av) {
240 (e) => e.authorised_value == av
242 return o ? o.lib : ""
244 const vendorStore = useVendorStore()
245 const { vendors } = storeToRefs(vendorStore)
247 const AVStore = useAVStore()
249 av_agreement_statuses,
250 av_agreement_closure_reasons,
251 av_agreement_renewal_priorities,
252 av_agreement_user_roles,
253 av_agreement_license_statuses,
254 av_agreement_license_location,
255 av_agreement_relationships,
256 } = storeToRefs(AVStore)
263 av_agreement_statuses,
264 av_agreement_closure_reasons,
265 av_agreement_renewal_priorities,
266 av_agreement_user_roles,
267 av_agreement_license_statuses,
268 av_agreement_license_location,
269 av_agreement_relationships,
283 renewal_priority: '',
291 beforeRouteEnter(to, from, next) {
293 vm.getAgreement(to.params.agreement_id)
296 beforeRouteUpdate(to, from) {
297 this.agreement = this.getAgreement(to.params.agreement_id)
300 async getAgreement(agreement_id) {
301 const agreement = await fetchAgreement(agreement_id)
302 this.agreement = agreement
303 this.initialized = true
310 name: "AgreementsShow",