Bug 32030: ERM - link licenses to an agreement
[koha.git] / koha-tmpl / intranet-tmpl / prog / js / vue / components / ERM / LicensesShow.vue
1 <template>
2     <h2>License #{{ license.license_id }}</h2>
3     <div>
4         <fieldset class="rows">
5             <ol>
6                 <li>
7                     <label>License name:</label>
8                     <span>
9                         {{ license.name }}
10                     </span>
11                 </li>
12                 <li>
13                     <label>Description: </label>
14                     <span>
15                         {{ license.description }}
16                     </span>
17                 </li>
18                 <li>
19                     <label>Type: </label>
20                     <span>{{
21                         get_lib_from_av(av_license_types, license.type)
22                     }}</span>
23                 </li>
24                 <li>
25                     <label>Status: </label>
26                     <span>{{
27                         get_lib_from_av(av_license_statuses, license.status)
28                     }}</span>
29                 </li>
30
31                 <li>
32                     <label>Started on:</label>
33                     <span>{{ format_date(license.started_on) }}</span>
34                 </li>
35
36                 <li>
37                     <label>Ended on:</label>
38                     <span>{{ format_date(license.ended_on) }}</span>
39                 </li>
40
41             </ol>
42         </fieldset>
43         <fieldset class="action">
44             <a
45                 role="button"
46                 class="cancel"
47                 @click="$emit('switch-view', 'list')"
48                 >Close</a
49             >
50         </fieldset>
51     </div>
52 </template>
53
54 <script>
55
56 export default {
57     setup() {
58         const format_date = $date
59         const get_lib_from_av = function (arr, av) {
60             let o = arr.find(
61                 (e) => e.authorised_value == av
62             )
63             return o ? o.lib : ""
64         }
65         return {
66             format_date,
67             get_lib_from_av
68         }
69     },
70     data() {
71         return {
72             license: {
73                 license_id: null,
74                 name: '',
75                 description: '',
76                 type: '',
77                 status: '',
78                 started_on: undefined,
79                 ended_on: undefined,
80             }
81         }
82     },
83     created() {
84         if (!this.license_id) return
85         const apiUrl = '/api/v1/erm/licenses/' + this.license_id
86
87         fetch(apiUrl, {
88             //headers: {
89             //    'x-koha-embed': 'periods,user_roles,user_roles.patron'
90             //}
91         })
92             .then(res => res.json())
93             .then(
94                 (result) => {
95                     this.license = result
96                 },
97                 (error) => {
98                     this.$emit('set-error', error)
99                 }
100             )
101     },
102     methods: {
103     },
104     emits: ['set-error', 'switch-view'],
105     props: {
106         license_id: Number,
107         av_license_types: Array,
108         av_license_statuses: Array,
109     },
110     components: {
111     },
112     name: "LicensesShow",
113 }
114 </script>