Bug 32030: Add links to vendors
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Mon, 30 May 2022 13:07:54 +0000 (15:07 +0200)
committerTomas Cohen Arazi <tomascohen@theke.io>
Tue, 8 Nov 2022 12:44:06 +0000 (09:44 -0300)
Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Koha/ERM/EHoldings/Package.pm
api/v1/swagger/definitions/erm_eholdings_package.yaml
koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsPackagesShow.vue
koha-tmpl/intranet-tmpl/prog/js/vue/fetch.js

index 2e2edd6..6ee7975 100644 (file)
@@ -21,6 +21,7 @@ use Koha::Database;
 
 use base qw(Koha::Object);
 
+use Koha::Acquisition::Booksellers;
 use Koha::ERM::EHoldings::Package::Agreements;
 use Koha::ERM::EHoldings::Resources;
 
@@ -70,6 +71,19 @@ sub resources {
     return Koha::ERM::EHoldings::Resources->_new_from_dbic($rs);
 }
 
+=head3 vendor
+
+Returns the vendor
+
+=cut
+
+sub vendor {
+    my ( $self ) = @_;
+    my $rs = $self->_result->vendor;
+    return unless $rs;
+    return Koha::Acquisition::Bookseller->_new_from_dbic($rs);
+}
+
 =head2 Internal methods
 
 =head3 _type
index dac0591..356de54 100644 (file)
@@ -43,6 +43,10 @@ properties:
     description: resources
     items:
       $ref: erm_eholdings_resource.yaml
+  vendor:
+    type:
+      - object
+      - "null"
 
 additionalProperties: false
 required:
index 4253be0..ac0c3c7 100644 (file)
                     </li>
                     <li>
                         <label>{{ $t("Vendor") }}:</label>
-                        <span v-if="erm_package.vendor_id">
-                            {{
-                                vendors.find(
-                                    (e) => e.id == erm_package.vendor_id
-                                ).name
-                            }}
+                        <span v-if="erm_package.vendor"
+                            ><a :href="`/cgi-bin/koha/acqui/booksellers.pl?booksellerid=${erm_package.vendor_id}`">{{ erm_package.vendor.name }}</a>
                         </span>
                     </li>
                     <li v-if="erm_package.external_id">
                         <label>{{ $t("External ID") }}:</label>
                         <span>
-                            {{ erm_package.external_id }}
+                            <!-- FIXME Create a syspref to store the URL -->
+                            <a
+                                :href="`https://ptfs-europe-demo.folio.ebsco.com/eholdings/packages/${erm_package.vendor.external_id}-${erm_package.external_id}`"
+                            >
+                                {{ erm_package.external_id }}
+                            </a>
                         </span>
                     </li>
                     <li>
 </template>
 
 <script>
-import { useVendorStore } from "../../stores/vendors"
 import { useAVStore } from "../../stores/authorised_values"
 import { fetchPackage } from "../../fetch"
-import { storeToRefs } from "pinia"
 
 export default {
     setup() {
         const format_date = $date
 
-        const vendorStore = useVendorStore()
-        const { vendors } = storeToRefs(vendorStore)
-
         const AVStore = useAVStore()
         const { get_lib_from_av } = AVStore
 
         return {
             format_date,
             get_lib_from_av,
-            vendors,
         }
     },
     data() {
index 3d33203..616c4db 100644 (file)
@@ -110,7 +110,7 @@ export const fetchPackage = async function (package_id) {
     let erm_package;
     await fetch(apiUrl, {
         headers: {
-            "x-koha-embed": "package_agreements,package_agreements.agreement,resources,resources.title",
+            "x-koha-embed": "package_agreements,package_agreements.agreement,resources,resources.title,vendor",
         },
     })
         .then(checkError)