Bug 32030: Add links to vendors
[koha.git] / koha-tmpl / intranet-tmpl / prog / js / vue / components / ERM / EHoldingsPackagesShow.vue
1 <template>
2     <div v-if="!this.initialized">{{ $t("Loading") }}</div>
3     <div v-else id="packages_show">
4         <h2>
5             {{ $t("Package .id", { id: erm_package.package_id }) }}
6             <span class="action_links">
7                 <router-link
8                     :to="`/cgi-bin/koha/erm/eholdings/packages/edit/${erm_package.package_id}`"
9                     :title="$t('Edit')"
10                     ><i class="fa fa-pencil"></i
11                 ></router-link>
12
13                 <router-link
14                     :to="`/cgi-bin/koha/erm/eholdings/packages/delete/${erm_package.package_id}`"
15                     :title="$t('Delete')"
16                     ><i class="fa fa-trash"></i
17                 ></router-link>
18             </span>
19         </h2>
20         <div>
21             <fieldset class="rows">
22                 <ol>
23                     <li>
24                         <label>{{ $t("Package name") }}:</label>
25                         <span>
26                             {{ erm_package.name }}
27                         </span>
28                     </li>
29                     <li>
30                         <label>{{ $t("Vendor") }}:</label>
31                         <span v-if="erm_package.vendor"
32                             ><a :href="`/cgi-bin/koha/acqui/booksellers.pl?booksellerid=${erm_package.vendor_id}`">{{ erm_package.vendor.name }}</a>
33                         </span>
34                     </li>
35                     <li v-if="erm_package.external_id">
36                         <label>{{ $t("External ID") }}:</label>
37                         <span>
38                             <!-- FIXME Create a syspref to store the URL -->
39                             <a
40                                 :href="`https://ptfs-europe-demo.folio.ebsco.com/eholdings/packages/${erm_package.vendor.external_id}-${erm_package.external_id}`"
41                             >
42                                 {{ erm_package.external_id }}
43                             </a>
44                         </span>
45                     </li>
46                     <li>
47                         <label>{{ $t("Package type") }}:</label>
48                         <span>{{
49                             get_lib_from_av(
50                                 "av_package_types",
51                                 erm_package.package_type
52                             )
53                         }}</span>
54                     </li>
55                     <li>
56                         <label>{{ $t("Content type") }}:</label>
57                         <span>{{
58                             get_lib_from_av(
59                                 "av_package_content_types",
60                                 erm_package.content_type
61                             )
62                         }}</span>
63                     </li>
64                     <li>
65                         <label>{{ $t("Created on") }}:</label>
66                         <span>{{ format_date(erm_package.created_on) }}</span>
67                     </li>
68
69                     <li v-if="erm_package.resources.length">
70                         <label>{{ $t("Titles") }}</label>
71                         <table>
72                             <thead>
73                                 <tr>
74                                     <th>Name</th>
75                                 </tr>
76                             </thead>
77                             <tbody>
78                                 <tr
79                                     v-for="(
80                                         r, counter
81                                     ) in erm_package.resources"
82                                     v-bind:key="counter"
83                                 >
84                                     <td>
85                                         <router-link
86                                             :to="`/cgi-bin/koha/erm/eholdings/resources/${r.resource_id}`"
87                                             :title="$t('Show resource')"
88                                         >
89                                             {{ r.title.publication_title }}
90                                         </router-link>
91                                     </td>
92                                 </tr>
93                             </tbody>
94                         </table>
95                     </li>
96                 </ol>
97             </fieldset>
98             <fieldset class="action">
99                 <router-link
100                     to="/cgi-bin/koha/erm/eholdings/packages"
101                     role="button"
102                     class="cancel"
103                     >{{ $t("Close") }}</router-link
104                 >
105             </fieldset>
106         </div>
107     </div>
108 </template>
109
110 <script>
111 import { useAVStore } from "../../stores/authorised_values"
112 import { fetchPackage } from "../../fetch"
113
114 export default {
115     setup() {
116         const format_date = $date
117
118         const AVStore = useAVStore()
119         const { get_lib_from_av } = AVStore
120
121         return {
122             format_date,
123             get_lib_from_av,
124         }
125     },
126     data() {
127         return {
128             erm_package: {
129                 package_id: null,
130                 vendor_id: null,
131                 name: '',
132                 external_id: '',
133                 package_type: '',
134                 content_type: '',
135                 created_on: null,
136             },
137             initialized: false,
138         }
139     },
140     beforeRouteEnter(to, from, next) {
141         next(vm => {
142             vm.getPackage(to.params.package_id)
143         })
144     },
145     beforeRouteUpdate(to, from) {
146         this.erm_package = this.getPackage(to.params.package_id)
147     },
148     methods: {
149         async getPackage(package_id) {
150             const erm_package = await fetchPackage(package_id)
151             this.erm_package = erm_package
152             this.initialized = true
153         },
154     },
155     name: "EHoldingsPackagesShow",
156 }
157 </script>
158 <style scoped>
159 .action_links a {
160     padding-left: 0.2em;
161     font-size: 11px;
162 }
163 </style>