Bug 32030: ERM - I18N
[koha.git] / koha-tmpl / intranet-tmpl / prog / js / vue / components / ERM / LicensesShow.vue
1 <template>
2     <div v-if="!this.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("Description:") }}</label>
30                         <span>
31                             {{ license.description }}
32                         </span>
33                     </li>
34                     <li>
35                         <label>{{ $t("Type:") }}</label>
36                         <span>{{
37                             get_lib_from_av("av_license_types", license.type)
38                         }}</span>
39                     </li>
40                     <li>
41                         <label>{{ $t("Status:") }}</label>
42                         <span>{{
43                             get_lib_from_av(
44                                 "av_license_statuses",
45                                 license.status
46                             )
47                         }}</span>
48                     </li>
49
50                     <li>
51                         <label>{{ $t("Started on:") }}</label>
52                         <span>{{ format_date(license.started_on) }}</span>
53                     </li>
54
55                     <li>
56                         <label>{{ $t("Ended on:") }}</label>
57                         <span>{{ format_date(license.ended_on) }}</span>
58                     </li>
59                 </ol>
60             </fieldset>
61             <fieldset class="action">
62                 <router-link
63                     to="/cgi-bin/koha/erm/licenses"
64                     role="button"
65                     class="cancel"
66                     >{{ $t("Close") }}</router-link
67                 >
68             </fieldset>
69         </div>
70     </div>
71 </template>
72
73 <script>
74 import { useAVStore } from "../../stores/authorised_values"
75 import { storeToRefs } from "pinia"
76 import { fetchLicense } from "../../fetch"
77
78 export default {
79     setup() {
80         const format_date = $date
81
82         const AVStore = useAVStore()
83         const { get_lib_from_av } = AVStore
84
85         return {
86             format_date,
87             get_lib_from_av,
88         }
89     },
90     data() {
91         return {
92             license: {
93                 license_id: null,
94                 name: '',
95                 description: '',
96                 type: '',
97                 status: '',
98                 started_on: undefined,
99                 ended_on: undefined,
100             },
101             initialized: false,
102         }
103     },
104     beforeRouteEnter(to, from, next) {
105         next(vm => {
106             vm.license = vm.getLicense(to.params.license_id)
107             vm.initialized = true
108         })
109     },
110     methods: {
111         async getLicense(license_id) {
112             const license = await fetchLicense(license_id)
113             this.license = license
114             this.initialized = true
115         },
116     },
117     components: {
118     },
119     name: "LicensesShow",
120 }
121 </script>
122 <style scoped>
123 .action_links a {
124     padding-left: 0.2em;
125     font-size: 11px;
126 }
127 </style>