Bug 32030: Fix pinia init
[koha.git] / koha-tmpl / intranet-tmpl / prog / js / vue / components / ERM / LicensesShow.vue
1 <template>
2     <div v-if="!initialized">{{ $t("Loading") }}</div>
3     <div v-else id="licenses_show">
4         <h2>
5             {{ $t("License .id", { id: license.license_id }) }}
6             <span class="action_links">
7                 <router-link
8                     :to="`/cgi-bin/koha/erm/licenses/edit/${license.license_id}`"
9                     :title="$t('Edit')"
10                     ><i class="fa fa-pencil"></i
11                 ></router-link>
12                 <router-link
13                     :to="`/cgi-bin/koha/erm/licenses/delete/${license.license_id}`"
14                     :title="$t('Delete')"
15                     ><i class="fa fa-trash"></i
16                 ></router-link>
17             </span>
18         </h2>
19         <div>
20             <fieldset class="rows">
21                 <ol>
22                     <li>
23                         <label>{{ $t("License name") }}:</label>
24                         <span>
25                             {{ license.name }}
26                         </span>
27                     </li>
28                     <li>
29                         <label>{{ $t("Vendor") }}:</label>
30                         <span v-if="license.vendor_id">
31                             <a
32                                 :href="`/cgi-bin/koha/acqui/booksellers.pl?booksellerid=${license.vendor_id}`"
33                             >
34                                 {{ license.vendor.name }}
35                             </a>
36                         </span>
37                     </li>
38                     <li>
39                         <label>{{ $t("Description") }}:</label>
40                         <span>
41                             {{ license.description }}
42                         </span>
43                     </li>
44                     <li>
45                         <label>{{ $t("Type") }}:</label>
46                         <span>{{
47                             get_lib_from_av("av_license_types", license.type)
48                         }}</span>
49                     </li>
50                     <li>
51                         <label>{{ $t("Status") }}:</label>
52                         <span>{{
53                             get_lib_from_av(
54                                 "av_license_statuses",
55                                 license.status
56                             )
57                         }}</span>
58                     </li>
59
60                     <li>
61                         <label>{{ $t("Started on") }}:</label>
62                         <span>{{ format_date(license.started_on) }}</span>
63                     </li>
64
65                     <li>
66                         <label>{{ $t("Ended on") }}:</label>
67                         <span>{{ format_date(license.ended_on) }}</span>
68                     </li>
69                 </ol>
70             </fieldset>
71             <fieldset class="action">
72                 <router-link
73                     to="/cgi-bin/koha/erm/licenses"
74                     role="button"
75                     class="cancel"
76                     >{{ $t("Close") }}</router-link
77                 >
78             </fieldset>
79         </div>
80     </div>
81 </template>
82
83 <script>
84 import { inject } from 'vue'
85 import { fetchLicense } from "../../fetch"
86
87 export default {
88     setup() {
89         const format_date = $date
90
91         const AVStore = inject('AVStore')
92         const { get_lib_from_av } = AVStore
93
94         return {
95             format_date,
96             get_lib_from_av,
97         }
98     },
99     data() {
100         return {
101             license: {
102                 license_id: null,
103                 name: '',
104                 vendor_id: null,
105                 vendor: null,
106                 description: '',
107                 type: '',
108                 status: '',
109                 started_on: undefined,
110                 ended_on: undefined,
111             },
112             initialized: false,
113         }
114     },
115     beforeRouteEnter(to, from, next) {
116         next(vm => {
117             vm.license = vm.getLicense(to.params.license_id)
118         })
119     },
120     methods: {
121         async getLicense(license_id) {
122             const license = await fetchLicense(license_id)
123             this.license = license
124             this.initialized = true
125         },
126     },
127     components: {
128     },
129     name: "LicensesShow",
130 }
131 </script>
132 <style scoped>
133 .action_links a {
134     padding-left: 0.2em;
135     font-size: 11px;
136 }
137 </style>