Bug 33408: Fetch sysprefs from svc/config/systempreferences
It will be easier to mock/set them from cypress tests. Sponsored-by: BULAC - http://www.bulac.fr/ Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
parent
e102daaf31
commit
9be7dab4a1
3 changed files with 116 additions and 50 deletions
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<div v-if="ERMModule">
|
||||
<div v-if="initialized">
|
||||
<div id="sub-header">
|
||||
<Breadcrumb />
|
||||
<Help />
|
||||
|
@ -140,8 +140,6 @@ export default {
|
|||
vendorStore,
|
||||
AVStore,
|
||||
setError,
|
||||
erm_providers,
|
||||
ERMModule,
|
||||
loading,
|
||||
loaded,
|
||||
}
|
||||
|
@ -149,33 +147,33 @@ export default {
|
|||
data() {
|
||||
return {
|
||||
component: "agreement",
|
||||
initialized: false,
|
||||
ERMModule: null,
|
||||
erm_providers: [],
|
||||
}
|
||||
},
|
||||
beforeCreate() {
|
||||
if (!this.ERMModule) {
|
||||
return this.setError(
|
||||
this.$__(
|
||||
'The e-resource management module is disabled, turn on <a href="/cgi-bin/koha/admin/preferences.pl?tab=&op=search&searchfield=ERMModule">ERMModule</a> to use it'
|
||||
),
|
||||
false
|
||||
)
|
||||
}
|
||||
this.loading()
|
||||
|
||||
const fetch_config = () => {
|
||||
let promises = []
|
||||
|
||||
const acq_client = APIClient.acquisition
|
||||
promises.push(
|
||||
acq_client.vendors.getAll().then(
|
||||
vendors => {
|
||||
this.vendorStore.vendors = vendors
|
||||
this.initialized = true
|
||||
},
|
||||
error => {}
|
||||
)
|
||||
)
|
||||
|
||||
const av_client = APIClient.authorised_values
|
||||
const authorised_values = {
|
||||
av_agreement_statuses: "ERM_AGREEMENT_STATUS",
|
||||
av_agreement_closure_reasons: "ERM_AGREEMENT_CLOSURE_REASON",
|
||||
av_agreement_renewal_priorities: "ERM_AGREEMENT_RENEWAL_PRIORITY",
|
||||
av_agreement_renewal_priorities:
|
||||
"ERM_AGREEMENT_RENEWAL_PRIORITY",
|
||||
av_user_roles: "ERM_USER_ROLES",
|
||||
av_license_types: "ERM_LICENSE_TYPE",
|
||||
av_license_statuses: "ERM_LICENSE_STATUS",
|
||||
|
@ -192,6 +190,7 @@ export default {
|
|||
return '"' + authorised_values[av_cat] + '"'
|
||||
})
|
||||
|
||||
promises.push(
|
||||
av_client.values
|
||||
.getCategoriesWithValues(av_cat_array)
|
||||
.then(av_categories => {
|
||||
|
@ -200,11 +199,44 @@ export default {
|
|||
const av_match = av_categories.find(
|
||||
element => element.category_name == av_cat
|
||||
)
|
||||
this.AVStore[av_var] = av_match.authorised_values
|
||||
this.AVStore[av_var] =
|
||||
av_match.authorised_values
|
||||
}
|
||||
)
|
||||
})
|
||||
.then(() => this.loaded())
|
||||
)
|
||||
|
||||
promises.push(
|
||||
sysprefs_client.sysprefs.get("ERMProviders").then(
|
||||
providers => {
|
||||
this.erm_providers = providers.value.split(",")
|
||||
},
|
||||
error => {}
|
||||
)
|
||||
)
|
||||
return Promise.all(promises)
|
||||
}
|
||||
|
||||
const sysprefs_client = APIClient.sysprefs
|
||||
sysprefs_client.sysprefs
|
||||
.get("ERMModule")
|
||||
.then(value => {
|
||||
this.ERMModule = value
|
||||
if (!this.ERMModule) {
|
||||
this.loaded()
|
||||
return this.setError(
|
||||
this.$__(
|
||||
'The e-resource management module is disabled, turn on <a href="/cgi-bin/koha/admin/preferences.pl?tab=&op=search&searchfield=ERMModule">ERMModule</a> to use it'
|
||||
),
|
||||
false
|
||||
)
|
||||
}
|
||||
return fetch_config()
|
||||
})
|
||||
.then(() => {
|
||||
this.loaded()
|
||||
this.initialized = true
|
||||
})
|
||||
},
|
||||
components: {
|
||||
Breadcrumb,
|
||||
|
|
|
@ -9,6 +9,10 @@ export class SysprefAPIClient extends HttpClient {
|
|||
|
||||
get sysprefs() {
|
||||
return {
|
||||
get: (variable) =>
|
||||
this.get({
|
||||
endpoint: `/?pref=${variable}`,
|
||||
}),
|
||||
update: (variable, value) =>
|
||||
this.post({
|
||||
endpoint: "",
|
||||
|
|
|
@ -70,6 +70,35 @@ sub set_preference {
|
|||
C4::Service->return_success( $response );
|
||||
}
|
||||
|
||||
=head2 get_preference
|
||||
|
||||
=over 4
|
||||
|
||||
=item url path
|
||||
|
||||
GET /svc/config/systempreferences/$preference
|
||||
|
||||
=item url query
|
||||
|
||||
preference=$pref_name
|
||||
|
||||
=back
|
||||
|
||||
Used to get a single system preference.
|
||||
|
||||
=cut
|
||||
|
||||
sub get_preference {
|
||||
my $preference = scalar $query->param('pref');
|
||||
|
||||
my $value = C4::Context->preference( $preference );
|
||||
$response->param( value => $value );
|
||||
|
||||
C4::Service->return_success( $response );
|
||||
}
|
||||
|
||||
|
||||
|
||||
=head2 set_preferences
|
||||
|
||||
=over 4
|
||||
|
@ -109,4 +138,5 @@ sub set_preferences {
|
|||
C4::Service->dispatch(
|
||||
[ 'POST /([A-Za-z0-9_-]+)', [ 'value' ], \&set_preference ],
|
||||
[ 'POST /', [], \&set_preferences ],
|
||||
[ 'GET /', [ 'pref' ], \&get_preference],
|
||||
);
|
||||
|
|
Loading…
Reference in a new issue