Bug 32030: Add users to licenses - Preparation

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>
This commit is contained in:
Pedro Amorim 2022-10-28 22:14:16 +00:00 committed by Tomas Cohen Arazi
parent 5fbdfa08cc
commit 03d23be15d
No known key found for this signature in database
GPG Key ID: 0A272EA1B2F3C15F
12 changed files with 34 additions and 31 deletions

View File

@ -28,9 +28,9 @@ use Koha::Acquisition::Bookseller;
use base qw(Koha::Object);
use Koha::ERM::Agreement::Periods;
use Koha::ERM::Agreement::UserRoles;
use Koha::ERM::Agreement::Licenses;
use Koha::ERM::Agreement::Relationships;
use Koha::ERM::UserRoles;
use Koha::ERM::Documents;
use Koha::ERM::EHoldings::Package::Agreements;
@ -86,13 +86,13 @@ sub user_roles {
$self->user_roles->delete;
for my $user_role (@$user_roles) {
$self->_result->add_to_erm_agreement_user_roles($user_role);
$self->_result->add_to_erm_user_roles($user_role);
}
}
);
}
my $user_roles_rs = $self->_result->erm_agreement_user_roles;
return Koha::ERM::Agreement::UserRoles->_new_from_dbic($user_roles_rs);
my $user_roles_rs = $self->_result->erm_user_roles;
return Koha::ERM::UserRoles->_new_from_dbic($user_roles_rs);
}
=head3 agreement_licenses

View File

@ -1,4 +1,4 @@
package Koha::ERM::Agreement::UserRole;
package Koha::ERM::UserRole;
# This file is part of Koha.
#
@ -25,7 +25,7 @@ use base qw(Koha::Object);
=head1 NAME
Koha::ERM::Agreement::UserRole - Koha Agreement UserRole Object class
Koha::ERM::UserRole - Koha ERM UserRole Object class
=head1 API
@ -52,7 +52,7 @@ sub patron {
=cut
sub _type {
return 'ErmAgreementUserRole';
return 'ErmUserRole';
}
1;

View File

@ -1,4 +1,4 @@
package Koha::ERM::Agreement::UserRoles;
package Koha::ERM::UserRoles;
# This file is part of Koha.
#
@ -20,13 +20,13 @@ use Modern::Perl;
use Koha::Database;
use Koha::ERM::Agreement::UserRole;
use Koha::ERM::UserRole;
use base qw(Koha::Objects);
=head1 NAME
Koha::ERM::Agreement::UserRoles- Koha Agreement UserRole Object set class
Koha::ERM::UserRoles- Koha ERM UserRole Object set class
=head1 API
@ -39,7 +39,7 @@ Koha::ERM::Agreement::UserRoles- Koha Agreement UserRole Object set class
=cut
sub _type {
return 'ErmAgreementUserRole';
return 'ErmUserRole';
}
=head3 object_class
@ -47,7 +47,7 @@ sub _type {
=cut
sub object_class {
return 'Koha::ERM::Agreement::UserRole';
return 'Koha::ERM::UserRole';
}
1;

View File

@ -511,7 +511,7 @@
<p>Renewal priorities of agreements (E-Resource management module)</p>
[% CASE 'ERM_AGREEMENT_STATUS' %]
<p>Statuses of agreements (E-Resource management module)</p>
[% CASE 'ERM_AGREEMENT_USER_ROLES' %]
[% CASE 'ERM_USER_ROLES' %]
<p>Roles for users (E-Resource management module)</p>
[% CASE 'ERM_LICENSE_STATUS' %]
<p>Statuses of the licenses (E-Resource management module)</p>

View File

@ -33,7 +33,7 @@
const agreement_closure_reasons = [% To.json(AuthorisedValues.Get('ERM_AGREEMENT_CLOSURE_REASON')) | $raw %];
const agreement_renewal_priorities = [% To.json(AuthorisedValues.Get('ERM_AGREEMENT_RENEWAL_PRIORITY')) | $raw %];
const agreement_user_roles = [% To.json(AuthorisedValues.Get('ERM_AGREEMENT_USER_ROLES')) | $raw %];
const user_roles = [% To.json(AuthorisedValues.Get('ERM_USER_ROLES')) | $raw %];
const license_types = [% To.json(AuthorisedValues.Get('ERM_LICENSE_TYPE')) | $raw %];
const license_statuses = [% To.json(AuthorisedValues.Get('ERM_LICENSE_STATUS')) | $raw %];

View File

@ -148,9 +148,10 @@
</fieldset>
</div>
<AgreementPeriods :periods="agreement.periods" />
<AgreementUserRoles
<UserRoles
:user_type="$__('Agreement user')"
:user_roles="agreement.user_roles"
:av_agreement_user_roles="av_agreement_user_roles"
:av_user_roles="av_user_roles"
/>
<AgreementLicenses
:agreement_licenses="agreement.agreement_licenses"
@ -184,7 +185,7 @@
<script>
import { inject } from "vue"
import AgreementPeriods from "./AgreementPeriods.vue"
import AgreementUserRoles from "./AgreementUserRoles.vue"
import UserRoles from "./UserRoles.vue"
import AgreementLicenses from "./AgreementLicenses.vue"
import AgreementRelationships from "./AgreementRelationships.vue"
import Documents from "./Documents.vue"
@ -202,7 +203,7 @@ export default {
av_agreement_statuses,
av_agreement_closure_reasons,
av_agreement_renewal_priorities,
av_agreement_user_roles,
av_user_roles,
av_agreement_license_statuses,
av_agreement_license_location,
av_agreement_relationships,
@ -213,7 +214,7 @@ export default {
av_agreement_statuses,
av_agreement_closure_reasons,
av_agreement_renewal_priorities,
av_agreement_user_roles,
av_user_roles,
av_agreement_license_statuses,
av_agreement_license_location,
av_agreement_relationships,
@ -406,7 +407,7 @@ export default {
},
components: {
AgreementPeriods,
AgreementUserRoles,
UserRoles,
AgreementLicenses,
AgreementRelationships,
Documents,

View File

@ -130,7 +130,7 @@
<td>
{{
get_lib_from_av(
"av_agreement_user_roles",
"av_user_roles",
role.role
)
}}

View File

@ -131,7 +131,7 @@ export default {
AVStore.av_agreement_statuses = agreement_statuses
AVStore.av_agreement_closure_reasons = agreement_closure_reasons
AVStore.av_agreement_renewal_priorities = agreement_renewal_priorities
AVStore.av_agreement_user_roles = agreement_user_roles
AVStore.av_user_roles = user_roles
AVStore.av_license_types = license_types
AVStore.av_license_statuses = license_statuses
AVStore.av_agreement_license_statuses = agreement_license_statuses

View File

@ -1,5 +1,5 @@
<template>
<div class="page-section" id="agreement_user_roles">
<div class="page-section" id="user_roles">
<legend>{{ $__("Users") }}</legend>
<fieldset
class="rows"
@ -7,7 +7,7 @@
v-bind:key="counter"
>
<legend>
{{ $__("Agreement user %s").format(counter + 1) }}
{{ user_type.format(counter + 1) }}
<a href="#" @click.prevent="deleteUser(counter)"
><i class="fa fa-trash"></i>
{{ $__("Remove this user") }}</a
@ -37,7 +37,7 @@
v-model="user_role.role"
label="lib"
:reduce="av => av.authorised_value"
:options="av_agreement_user_roles"
:options="av_user_roles"
>
<template #search="{ attributes, events }">
<input
@ -67,9 +67,10 @@
import { fetchPatron } from "../../fetch"
export default {
name: "AgreementUserRoles",
name: "UserRoles",
props: {
av_agreement_user_roles: Array,
user_type: String,
av_user_roles: Array,
user_roles: Array,
},
beforeCreate() {

View File

@ -44,7 +44,7 @@ export const fetchLicense = async function (license_id) {
let license;
await fetch(apiUrl, {
headers: {
"x-koha-embed": "vendor,documents",
"x-koha-embed": "user_roles,user_roles.patron,vendor,documents",
},
})
.then(checkError)

View File

@ -5,7 +5,7 @@ export const useAVStore = defineStore("authorised_values", {
av_agreement_statuses: [],
av_agreement_closure_reasons: [],
av_agreement_renewal_priorities: [],
av_agreement_user_roles: [],
av_user_roles: [],
av_license_types: [],
av_license_statuses: [],
av_agreement_license_statuses: [],

View File

@ -85,7 +85,7 @@ subtest 'user_role' => sub {
{
class => 'Koha::AuthorisedValues',
value => {
category => 'ERM_AGREEMENT_USER_ROLES',
category => 'ERM_USER_ROLES',
authorised_value => 'TEST_ROLE',
lib => 'a role for testing'
}
@ -95,13 +95,14 @@ subtest 'user_role' => sub {
my $user_roles = [
{
user_id => $patron->borrowernumber,
license_id => undef,
role => $role
}
];
$agreement->user_roles($user_roles);
my $retrieved_user_roles = $agreement->user_roles;
is( ref($retrieved_user_roles), 'Koha::ERM::Agreement::UserRoles' );
is( ref($retrieved_user_roles), 'Koha::ERM::UserRoles' );
$retrieved_user_roles =
[ map { delete $_->{agreement_id}; $_ }
@{ $retrieved_user_roles->unblessed } ];