<template>
<fieldset class="rows" id="agreement_documents">
- <legend>Documents</legend>
+ <legend>{{ $t("Documents") }}</legend>
<fieldset
:id="`agreement_period_${counter}`"
class="rows"
v-bind:key="counter"
>
<legend>
- Document {{ counter + 1 }}
+ {{ $t("Document.counter", { counter: counter + 1 }) }}
<a href="#" @click.prevent="deleteDocument(counter)"
- ><i class="fa fa-trash"></i> Remove this document</a
+ ><i class="fa fa-trash"></i>
+ {{ $t("Remove this document") }}</a
>
</legend>
<ol>
<li>
- <label>File:</label>
+ <label>{{ $t("File:") }}</label>
<div class="file_information">
<span v-if="!document.file_name">
- Select a file
+ {{ $t("Select a file") }}
<input
type="file"
@change="selectFile($event, counter)"
/>
</span>
<span v-else>
- Update file
+ {{ $t("Update file") }}
<input
type="file"
@change="selectFile($event, counter)"
</span>
<ol>
<li v-show="document.file_name">
- File name: <span>{{ document.file_name }}</span>
+ {{ $t("File name:") }}
+ <span>{{ document.file_name }}</span>
</li>
<li v-show="document.file_type">
- File type: <span>{{ document.file_type }}</span>
+ {{ $t("File type:") }}
+ <span>{{ document.file_type }}</span>
</li>
<li v-show="document.file_name">
- File description:
+ {{ $t("File description:") }}
<input
:id="`file_description_${counter}`"
type="text"
class="file_description"
:name="`file_description_${counter}`"
v-model="document.file_description"
- placeholder="File description"
+ :placeholder="$t('File description')"
/>
</li>
<li v-show="document.uploaded_on">
- Uploaded on:
+ {{ $t("Uploaded on:") }}
<span>{{
format_date(document.uploaded_on)
}}</span>
</li>
<li>
<label :for="`physical_location_${counter}`"
- >Physical location:
+ >{{ $t("Physical location:") }}
</label>
<input
:id="`physical_location_${counter}`"
class="physical_location"
:name="`physical_location_${counter}`"
v-model="document.physical_location"
- placeholder="Physical location"
+ :placeholder="$t('Physical location')"
/>
</li>
<li>
- <label :for="`uri_${counter}`">URI:</label>
+ <label :for="`uri_${counter}`">{{ $t("URI:") }}</label>
<input
:id="`uri_${counter}`"
v-model="document.uri"
- placeholder="URI"
+ :placeholder="$t('URI')"
/>
</li>
<li>
- <label :for="`notes_${counter}`">Notes: </label>
+ <label :for="`notes_${counter}`">{{ $t("Notes:") }} </label>
<input
:id="`notes_${counter}`"
type="text"
class="notes"
:name="`notes_${counter}`"
v-model="document.notes"
- placeholder="Notes"
+ :placeholder="$t('Notes')"
/>
</li>
</ol>
</fieldset>
<a class="btn btn-default" @click="addDocument"
- ><font-awesome-icon icon="plus" /> Add new document</a
+ ><font-awesome-icon icon="plus" /> {{ $t("Add new document") }}</a
>
</fieldset>
</template>
<template>
<fieldset class="rows" id="agreement_licenses">
- <legend>Licenses</legend>
+ <legend>{{ $t("Licenses") }}</legend>
<fieldset
:id="`agreement_license_${counter}`"
class="rows"
v-bind:key="counter"
>
<legend>
- Agreement license {{ counter + 1 }}
+ {{ $t("Agreement license.counter", { counter: counter + 1 }) }}
<a href="#" @click.prevent="deleteLicense(counter)"
- ><i class="fa fa-trash"></i> Remove this license</a
+ ><i class="fa fa-trash"></i>
+ {{ $t("Remove this license") }}</a
>
</legend>
<ol>
<li>
- <label :for="`license_id_${counter}`">License: </label>
+ <label :for="`license_id_${counter}`">{{
+ $t("License: ")
+ }}</label>
<select
:id="`license_id_${counter}`"
v-model="agreement_license.license_id"
{{ license.name }}
</option>
</select>
- <span class="required">Required</span>
+ <span class="required">{{ $t("Required") }}</span>
</li>
<li>
- <label :for="`license_status_${counter}`">Status: </label>
+ <label :for="`license_status_${counter}`">{{
+ $t("Status: ")
+ }}</label>
<select v-model="agreement_license.status" required>
<option value=""></option>
<option
{{ r.lib }}
</option>
</select>
- <span class="required">Required</span>
+ <span class="required">{{ $t("Required") }}</span>
</li>
<li>
<label :for="`license_location_${counter}`"
- >Physical location:
+ >{{ $t("Physical location:") }}
</label>
<select v-model="agreement_license.physical_location">
<option value=""></option>
</select>
</li>
<li>
- <label :for="`license_notes_${counter}`">Notes:</label>
+ <label :for="`license_notes_${counter}`">{{
+ $t("Notes:")
+ }}</label>
<input
:id="`license_notes_${counter}`"
v-model="agreement_license.notes"
- placeholder="Notes"
+ :placeholder="$t('Notes')"
/>
</li>
<li>
- <label :for="`license_uri_${counter}`">URI:</label>
+ <label :for="`license_uri_${counter}`">{{
+ $t("URI:")
+ }}</label>
<input
:id="`license_uri_${counter}`"
v-model="agreement_license.uri"
- placeholder="URI"
+ :placeholder="$t('URI')"
/>
</li>
</ol>
</fieldset>
<a v-if="licenses.length" class="btn btn-default" @click="addLicense"
- ><font-awesome-icon icon="plus" /> Add new license</a
+ ><font-awesome-icon icon="plus" /> {{ $t("Add new license") }}</a
>
- <span v-else>There are licenses created yet.</span>
+ <span v-else>{{ $t("There are no licenses created yet") }}</span>
</fieldset>
</template>
<template>
<fieldset class="rows" id="agreement_periods">
- <legend>Periods</legend>
+ <legend>{{ $t("Periods") }}</legend>
<fieldset
:id="`agreement_period_${counter}`"
class="rows"
v-bind:key="counter"
>
<legend>
- Agreement period {{ counter + 1 }}
+ {{ $t("Agreement period.counter", { counter: counter + 1 }) }}
<a href="#" @click.prevent="deletePeriod(counter)"
- ><i class="fa fa-trash"></i> Remove this period</a
+ ><i class="fa fa-trash"></i>
+ {{ $t("Remove this period") }}</a
>
</legend>
<ol>
<li>
<label :for="`started_on_${counter}`" class="required"
- >Start date:
+ >{{ $t("Start date:") }}
</label>
<flat-pickr
:id="`started_on_${counter}`"
:config="fp_config"
:data-date_to="`ended_on_${counter}`"
/>
- <span class="required">Required</span>
+ <span class="required">{{ $t("Required") }}</span>
</li>
<li>
- <label :for="`ended_on_${counter}`">End date: </label>
+ <label :for="`ended_on_${counter}`">{{
+ $t("End date:")
+ }}</label>
<flat-pickr
:id="`ended_on_${counter}`"
v-model="period.ended_on"
</li>
<li>
<label :for="`cancellation_deadline_${counter}`"
- >Cancellation deadline:
+ >{{ $t("Cancellation deadline:") }}
</label>
<flat-pickr
:id="`cancellation_deadline_${counter}`"
/>
</li>
<li>
- <label :for="`notes_${counter}`">Notes: </label>
+ <label :for="`notes_${counter}`">{{ $t("Notes:") }}</label>
<input
:id="`notes_${counter}`"
type="text"
</ol>
</fieldset>
<a class="btn btn-default" @click="addPeriod"
- ><font-awesome-icon icon="plus" /> Add new period</a
+ ><font-awesome-icon icon="plus" /> {{ $t("Add new period") }}</a
>
</fieldset>
</template>
<template>
<fieldset class="rows" id="agreement_relationships">
- <legend>Related agreements</legend>
+ <legend>{{ $t("Related agreements") }}</legend>
<fieldset
class="rows"
v-for="(relationship, counter) in relationships"
v-bind:key="counter"
>
<legend>
- Related agreement {{ counter + 1 }}
+ {{ $t("Related agreement.counter", { counter: counter + 1 }) }}
<a href="#" @click.prevent="deleteRelationship(counter)"
- ><i class="fa fa-trash"></i> Remove this relationship</a
+ ><i class="fa fa-trash"></i>
+ {{ $t("Remove this relationship") }}</a
>
</legend>
<ol>
<li>
<label :for="`related_agreement_id_${counter}`"
- >Related agreement:
+ >{{ $t("Related agreement:") }}
</label>
<select
v-model="relationship.related_agreement_id"
</li>
<li>
<label :for="`related_agreement_relationship_${counter}`"
- >Relationship:
+ >{{ $t("Relationship:") }}
</label>
<select
v-model="relationship.relationship"
{{ r.lib }}
</option>
</select>
- <span class="required">Required</span>
+ <span class="required">{{ $t("Required") }}</span>
</li>
<li>
- <label :for="`related_agreement_notes${counter}`"
- >Notes:</label
- >
+ <label :for="`related_agreement_notes_${counter}`">{{
+ $t("Notes:")
+ }}</label>
<input
:id="`related_agreement_notes_${counter}`"
v-model="relationship.notes"
- placeholder="Notes"
+ :placeholder="$t('Notes')"
/>
</li>
</ol>
</fieldset>
- <a v-if="agreements.length" class="btn btn-default" @click="addRelationship"
- ><font-awesome-icon icon="plus" /> Add new related agreement</a
+ <a
+ v-if="agreements.length"
+ class="btn btn-default"
+ @click="addRelationship"
+ ><font-awesome-icon icon="plus" />
+ {{ $t("Add new related agreement") }}</a
>
- <span v-else>There are no other agreements created yet.</span>
+ <span v-else>{{
+ $t("There are no other agreements created yet")
+ }}</span>
</fieldset>
</template>
<template>
<fieldset class="rows" id="agreement_user_roles">
- <legend>Users</legend>
+ <legend>{{ $t("Users") }}</legend>
<fieldset
class="rows"
v-for="(user_role, counter) in user_roles"
v-bind:key="counter"
>
<legend>
- Agreement user {{ counter + 1 }}
+ {{ $t("Agreement user.counter", { counter: counter + 1 }) }}
<a href="#" @click.prevent="deleteUser(counter)"
- ><i class="fa fa-trash"></i> Remove this user</a
+ ><i class="fa fa-trash"></i> {{ $t("Remove this user") }}</a
>
</legend>
<ol>
<li>
- <label :for="`user_id_${counter}`">User: </label>
+ <label :for="`user_id_${counter}`">{{ $t("User:") }}</label>
<span class="user">
{{ user_role.patron_str }}
</span>
href="#"
@click="selectUser(counter)"
class="btn btn-default"
- >Select user</a
+ >{{ $t("Select user") }}</a
>)
</li>
<li>
- <label :for="`user_role_${counter}`">Role: </label>
+ <label :for="`user_role_${counter}`">{{
+ $t("Role:")
+ }}</label>
<select v-model="user_role.role" required>
<option value=""></option>
<option
{{ r.lib }}
</option>
</select>
- <span class="required">Required</span>
+ <span class="required">{{ $t("Required") }}</span>
</li>
</ol>
</fieldset>
id="selected_patron_id"
/>
<a class="btn btn-default" @click="addUser"
- ><font-awesome-icon icon="plus" /> Add new user</a
+ ><font-awesome-icon icon="plus" /> {{ $t("Add new user") }}</a
>
</fieldset>
</template>
<template>
- <div v-if="!this.initialized">Loading...</div>
+ <div v-if="!this.initialized">{{ $t("Loading")}}</div>
<div v-else id="agreements_add">
<h2 v-if="agreement.agreement_id">
- Edit agreement #{{ agreement.agreement_id }}
+ {{ $t("Edit agreement.id", { id: agreement.agreement_id }) }}
</h2>
- <h2 v-else>New agreement</h2>
+ <h2 v-else>{{ $t("New agreement") }}</h2>
<div>
<form @submit="onSubmit($event)">
<fieldset class="rows">
<ol>
<li>
- <label class="required" for="agreement_name"
- >Agreement name:</label
- >
+ <label class="required" for="agreement_name">{{
+ $t("Agreement name:")
+ }}</label>
<input
id="agreement_name"
v-model="agreement.name"
- placeholder="Agreement name"
+ :placeholder="$t('Agreement name')"
required
/>
- <span class="required">Required</span>
+ <span class="required">{{ $t("Required") }}</span>
</li>
<li>
- <label for="agreement_vendor_id">Vendor:</label>
+ <label for="agreement_vendor_id">{{
+ $t("Vendor:")
+ }}</label>
<select
id="agreement_vendor_id"
v-model="agreement.vendor_id"
</li>
<li>
<label for="agreement_description"
- >Description:
+ >{{ $t("Description:") }}
</label>
<textarea
id="agreement_description"
v-model="agreement.description"
- placeholder="Description"
+ :placeholder="$t('Description')"
rows="10"
cols="50"
required
/>
- <span class="required">Required</span>
+ <span class="required">{{ $t("Required") }}</span>
</li>
<li>
- <label for="agreement_status">Status: </label>
+ <label for="agreement_status">{{
+ $t("Status: ")
+ }}</label>
<select
id="agreement_status"
v-model="agreement.status"
{{ status.lib }}
</option>
</select>
- <span class="required">Required</span>
+ <span class="required">{{ $t("Required") }}</span>
</li>
<li>
- <label for="agreement_closure_reason"
- >Closure reason:</label
- >
+ <label for="agreement_closure_reason">{{
+ $t("Closure reason:")
+ }}</label>
<select
id="agreement_closure_reason"
v-model="agreement.closure_reason"
</select>
</li>
<li>
- <label for="agreement_is_perpetual" class="radio"
- >Is perpetual:</label
- >
+ <label for="agreement_is_perpetual" class="radio">{{
+ $t("Is perpetual:")
+ }}</label>
<label for="agreement_is_perpetual_yes">
<input
type="radio"
</label>
</li>
<li>
- <label for="agreement_renewal_priority"
- >Renewal priority:</label
- >
+ <label for="agreement_renewal_priority">{{
+ $t("Renewal priority:")
+ }}</label>
<select v-model="agreement.renewal_priority">
<option value=""></option>
<option
</li>
<li>
<label for="agreement_license_info"
- >License info:
+ >{{ $t("License info:") }}
</label>
<textarea
id="agreement_license_info"
to="/cgi-bin/koha/erm/agreements"
role="button"
class="cancel"
- >Cancel</router-link
+ >{{ $t("Cancel") }}</router-link
>
</fieldset>
</form>
<template>
- <div v-if="!this.initialized">Loading...</div>
+ <div v-if="!this.initialized">{{ $t("Loading") }}</div>
<div v-else id="agreements_confirm_delete">
- <h2>Delete agreement</h2>
+ <h2>{{ $t("Delete agreement") }}</h2>
<div>
<form @submit="onSubmit($event)">
<fieldset class="rows">
<ol>
<li>
- Agreement name:
+ {{ $t("Agreement name:") }}
{{ agreement.name }}
</li>
- <li>Vendor:{{ agreement.vendor_id }}</li>
+ <li>{{ $t("Vendor:") }} {{ agreement.vendor_id }}</li>
<li>
- Description:
+ {{ $t("Description:") }}
{{ agreement.description }}
</li>
</ol>
<input
type="submit"
variant="primary"
- value="Yes, delete"
+ :value="$t('Yes, delete')"
/>
<router-link
to="/cgi-bin/koha/erm/agreements"
role="button"
class="cancel"
- >No, do not delete</router-link
+ >{{ $t("No, do not delete") }}</router-link
>
</fieldset>
</form>
<template>
- <div v-if="!this.initialized">Loading...</div>
+ <div v-if="!this.initialized">{{ $t("Loading") }}</div>
<div v-else-if="this.agreements" id="agreements_list">
<Toolbar />
<table v-if="this.agreements.length" id="agreement_list"></table>
<div v-else-if="this.initialized" class="dialog message">
- There are no agreements defined.
+ {{ $t("There are no agreements defined") }}
</div>
</div>
</template>
<script>
import Toolbar from "./AgreementsToolbar.vue"
-import ButtonEdit from "./ButtonEdit.vue"
-import ButtonDelete from "./ButtonDelete.vue"
import { createVNode, render } from 'vue'
import { useVendorStore } from "../../stores/vendors"
import { useAVStore } from "../../stores/authorised_values"
$.each($(this).find("td .actions"), function (index, e) {
let agreement_id = api.row(index).data().agreement_id
- let editButton = createVNode(ButtonEdit, {
- onClick: () => {
+ let editButton = createVNode("a", {
+ class: "btn btn-default btn-xs", role: "button", onClick: () => {
edit_agreement(agreement_id)
}
- })
- let deleteButton = createVNode(ButtonDelete, {
- onClick: () => {
+ },
+ [createVNode("i", { class: "fa fa-pencil", 'aria-hidden': "true" }), __("Edit")])
+
+ let deleteButton = createVNode("a", {
+ class: "btn btn-default btn-xs", role: "button", onClick: () => {
delete_agreement(agreement_id)
}
- })
+ },
+ [createVNode("i", { class: "fa fa-trash", 'aria-hidden': "true" }), __("Delete")])
+
let n = createVNode('span', {}, [editButton, " ", deleteButton])
render(n, e)
})
.DataTable()
.destroy(true)
},
- components: {Toolbar},
+ components: { Toolbar },
name: "AgreementsList",
}
</script>
<template>
- <div v-if="!this.initialized">Loading...</div>
+ <div v-if="!this.initialized">{{ $t("Loading") }}</div>
<div v-else id="agreements_show">
<h2>
- Agreement #{{ agreement.agreement_id }}
+ {{ $t("Agreement.id", { id: agreement.agreement_id }) }}
<span class="action_links">
<router-link
:to="`/cgi-bin/koha/erm/agreements/edit/${agreement.agreement_id}`"
- title="Edit"
+ :title="$t('Edit')"
><i class="fa fa-pencil"></i
></router-link>
<router-link
:to="`/cgi-bin/koha/erm/agreements/delete/${agreement.agreement_id}`"
- title="Delete"
+ :title="$t('Delete')"
><i class="fa fa-trash"></i
></router-link>
</span>
<fieldset class="rows">
<ol>
<li>
- <label>Agreement name:</label>
+ <label>{{ $t("Agreement name:") }}</label>
<span>
{{ agreement.name }}
</span>
</li>
<li>
- <label>Vendor:</label>
+ <label>{{ $t("Vendor:") }}</label>
<span v-if="agreement.vendor_id">
{{
vendors.find((e) => e.id == agreement.vendor_id)
</span>
</li>
<li>
- <label>Description: </label>
+ <label>{{ $t("Description:") }}</label>
<span>
{{ agreement.description }}
</span>
</li>
<li>
- <label>Status: </label>
+ <label>{{ $t("Status:") }}</label>
<span>{{
get_lib_from_av(
- 'av_agreement_statuses',
+ "av_agreement_statuses",
agreement.status
)
}}</span>
</li>
<li>
- <label>Closure reason:</label>
+ <label>{{ $t("Closure reason:") }}</label>
<span>{{
get_lib_from_av(
- 'av_agreement_closure_reasons',
+ "av_agreement_closure_reasons",
agreement.closure_reason
)
}}</span>
</li>
<li>
- <label>Is perpetual:</label>
+ <label>{{ $t("Is perpetual:") }}</label>
<span v-if="agreement.is_perpetual">Yes</span>
<span v-else>No</span>
</li>
<li>
- <label>Renewal priority:</label>
+ <label>{{ $t("Renewal priority:") }}</label>
<span>{{
get_lib_from_av(
- 'av_agreement_renewal_priorities',
+ "av_agreement_renewal_priorities",
agreement.renewal_priority
)
}}</span>
</li>
<li>
- <label>License info: </label>
+ <label>{{ $t("License info:") }}</label>
<span>{{ agreement.license_info }}</span>
</li>
<li>
- <label>Periods</label>
+ <label>{{ $t("Periods") }}</label>
<table>
<thead>
- <th>Period start</th>
- <th>Period end</th>
- <th>Cancellation deadline</th>
- <th>Period note</th>
+ <th>{{ $t("Period start") }}</th>
+ <th>{{ $t("Period end") }}</th>
+ <th>{{ $t("Cancellation deadline") }}</th>
+ <th>{{ $t("Period note") }}</th>
</thead>
<tbody>
<tr
</li>
<li>
- <label>Users</label>
+ <label>{{ $t("Users") }}</label>
<table>
<thead>
- <th>Name</th>
- <th>Role</th>
+ <th>{{ $t("Name") }}</th>
+ <th>{{ $t("Role") }}</th>
</thead>
<tbody>
<tr
<td>
{{
get_lib_from_av(
- 'av_agreement_user_roles',
+ "av_agreement_user_roles",
role.role
)
}}
</li>
<li>
- <label>Licenses</label>
+ <label>{{ $t("Licenses") }}</label>
<table>
<thead>
- <th>Name</th>
- <th>Status</th>
- <th>Physical location</th>
- <th>Notes</th>
- <th>URI</th>
+ <th>{{ $t("Name") }}</th>
+ <th>{{ $t("Status") }}</th>
+ <th>{{ $t("Physical location") }}</th>
+ <th>{{ $t("Notes") }}</th>
+ <th>{{ $t("URI") }}</th>
</thead>
<tbody>
<tr
<td>
{{
get_lib_from_av(
- 'av_agreement_license_statuses',
+ "av_agreement_license_statuses",
agreement_license.status
)
}}
<td>
{{
get_lib_from_av(
- 'av_agreement_license_location',
+ "av_agreement_license_location",
agreement_license.physical_location
)
}}
</li>
<li>
- <label>Related agreements</label>
+ <label>{{ $t("Related agreements") }}</label>
<div
v-for="relationship in agreement.agreement_relationships"
v-bind:key="relationship.related_agreement_id"
>
{{
get_lib_from_av(
- 'av_agreement_relationships',
+ "av_agreement_relationships",
relationship.relationship
)
}}
to="/cgi-bin/koha/erm/agreements"
role="button"
class="cancel"
- >Close</router-link
+ >{{ $t("Close") }}</router-link
>
</fieldset>
</div>
<template>
- <router-link
- to="/cgi-bin/koha/erm/agreements/add"
- class="btn btn-default"
- ><font-awesome-icon icon="plus" /> New agreement</router-link
+ <router-link to="/cgi-bin/koha/erm/agreements/add" class="btn btn-default"
+ ><font-awesome-icon icon="plus" />
+ {{ $t("New agreement") }}</router-link
>
</template>
+++ /dev/null
-<template>
- <a class="btn btn-default btn-xs" role="button"
- ><i class="fa fa-trash" aria-hidden="true" /> Delete</a
- >
-</template>
-
-<script>
-export default {
- name: "ButtonDelete"
-}
-</script>
+++ /dev/null
-<template>
- <a class="btn btn-default btn-xs" role="button"
- ><i class="fa fa-pencil" aria-hidden="true" /> Edit</a
- >
-</template>
-
-<script>
-export default {
- name: "ButtonEdit",
-}
-</script>
<aside>
<div id="navmenu">
<div id="navmenulist">
- <h5>ERM</h5>
+ <h5>{{ $t("E-Resource management") }}</h5>
<ul>
<li>
<router-link
to="/cgi-bin/koha/erm/agreements"
>
<i class="fa fa-upload"></i>
- Agreements</router-link
+ {{ $t("Agreements") }}</router-link
>
</li>
<li>
to="/cgi-bin/koha/erm/licenses"
>
<i class="fa fa-file-text-o"></i>
- Licenses</router-link
+ {{ $t("Licenses") }}</router-link
>
</li>
</ul>
<template>
- <div v-if="!this.initialized">Loading...</div>
+ <div v-if="!this.initialized">{{ $t("Loading") }}</div>
<div v-else id="licenses_add">
<h2 v-if="license.license_id">
- Edit license #{{ license.license_id }}
+ {{ $t("Edit license.id", { id: license.license_id }) }}
</h2>
- <h2 v-else>New license</h2>
+ <h2 v-else>{{ $t("New license") }}</h2>
<div>
<form @submit="onSubmit($event)">
<fieldset class="rows">
<ol>
<li>
- <label class="required" for="license_name"
- >License name:</label
- >
+ <label class="required" for="license_name">{{
+ $t("License name:")
+ }}</label>
<input
id="license_name"
v-model="license.name"
- placeholder="License name"
+ :placeholder="$t('License name')"
required
/>
- <span class="required">Required</span>
+ <span class="required">{{ $t("Required") }}</span>
</li>
<li>
<label for="license_description"
- >Description:
+ >{{ $t("Description") }}:
</label>
<textarea
id="license_description"
v-model="license.description"
- placeholder="Description"
+ :placeholder="$t('Description')"
rows="10"
cols="50"
required
/>
- <span class="required">Required</span>
+ <span class="required">{{ $t("Required") }}</span>
</li>
<li>
- <label for="license_type">Type: </label>
+ <label for="license_type">{{ $t("Type:") }}</label>
<select
id="license_type"
v-model="license.type"
{{ type.lib }}
</option>
</select>
- <span class="required">Required</span>
+ <span class="required">{{ $t("Required") }}</span>
</li>
<li>
- <label for="license_status">Status: </label>
+ <label for="license_status">{{
+ $t("Status:")
+ }}</label>
<select
id="license_status"
v-model="license.status"
{{ status.lib }}
</option>
</select>
- <span class="required">Required</span>
+ <span class="required">{{ $t("Required") }}</span>
</li>
<li>
- <label for="started_on">Start date: </label>
+ <label for="started_on">{{
+ $t("Start date:")
+ }}</label>
<flat-pickr
id="started_on"
v-model="license.started_on"
/>
</li>
<li>
- <label for="ended_on">End date: </label>
+ <label for="ended_on">{{ $t("End date:") }}</label>
<flat-pickr
id="ended_on"
v-model="license.ended_on"
</ol>
</fieldset>
<fieldset class="action">
- <input type="submit" value="Submit" />
+ <input type="submit" :value="$t('Submit')" />
<router-link
to="/cgi-bin/koha/erm/licenses"
role="button"
class="cancel"
- >Cancel</router-link
+ >{{ $t("Cancel") }}</router-link
>
</fieldset>
</form>
<template>
- <div v-if="!this.initialized">Loading...</div>
+ <div v-if="!this.initialized">{{ $t("Loading") }}</div>
<div v-else id="licenses_confirm_delete">
- <h2>Delete license</h2>
+ <h2>{{ $t("Delete license") }}</h2>
<div>
<form @submit="onSubmit($event)">
<fieldset class="rows">
<ol>
<li>
- License name:
+ {{ $t("License name:") }}
{{ license.name }}
</li>
<li>
- Description:
+ {{ $t("Description:") }}
{{ license.description }}
</li>
</ol>
<input
type="submit"
variant="primary"
- value="Yes, delete"
+ :value="$t('Yes, delete')"
/>
<router-link
to="/cgi-bin/koha/erm/licenses"
role="button"
class="cancel"
- >No, do not delete</router-link
+ >{{ $t("No, do not delete") }}</router-link
>
</fieldset>
</form>
<template>
- <div v-if="!this.initialized">Loading...</div>
+ <div v-if="!this.initialized">{{ $t("Loading") }}</div>
<div v-else-if="this.licenses" id="licenses_list">
<Toolbar />
<table v-if="licenses.length" id="license_list"></table>
<div v-else-if="this.initialized" class="dialog message">
- There are no licenses defined.
+ {{ $t("There are no licenses defined") }}
</div>
</div>
</template>
<script>
import Toolbar from "./LicensesToolbar.vue"
-import ButtonEdit from "./ButtonEdit.vue"
-import ButtonDelete from "./ButtonDelete.vue"
import { createVNode, render } from 'vue'
import { useAVStore } from "../../stores/authorised_values"
import { storeToRefs } from "pinia"
$.each($(this).find("td .actions"), function (index, e) {
let license_id = api.row(index).data().license_id
- let editButton = createVNode(ButtonEdit, {
- onClick: () => {
+ let editButton = createVNode("a", {
+ class: "btn btn-default btn-xs", role: "button", onClick: () => {
edit_license(license_id)
}
- })
- let deleteButton = createVNode(ButtonDelete, {
- onClick: () => {
+ },
+ [createVNode("i", { class: "fa fa-pencil", 'aria-hidden': "true" }), __("Edit")])
+
+ let deleteButton = createVNode("a", {
+ class: "btn btn-default btn-xs", role: "button", onClick: () => {
delete_license(license_id)
}
- })
+ },
+ [createVNode("i", { class: "fa fa-trash", 'aria-hidden': "true" }), __("Delete")])
+
let n = createVNode('span', {}, [editButton, " ", deleteButton])
render(n, e)
})
<template>
- <div v-if="!this.initialized">Loading...</div>
+ <div v-if="!this.initialized">{{ $t("Loading") }}</div>
<div v-else id="licenses_show">
<h2>
- License #{{ license.license_id }}
+ {{ $t("License.id", { id: license.license_id }) }}
<span class="action_links">
<router-link
:to="`/cgi-bin/koha/erm/licenses/edit/${license.license_id}`"
- title="Edit"
+ :title="$t('Edit')"
><i class="fa fa-pencil"></i
></router-link>
<router-link
:to="`/cgi-bin/koha/erm/licenses/delete/${license.license_id}`"
- title="Delete"
+ :title="$t('Delete')"
><i class="fa fa-trash"></i
></router-link>
</span>
<fieldset class="rows">
<ol>
<li>
- <label>License name:</label>
+ <label>{{ $t("License name:") }}</label>
<span>
{{ license.name }}
</span>
</li>
<li>
- <label>Description: </label>
+ <label>{{ $t("Description:") }}</label>
<span>
{{ license.description }}
</span>
</li>
<li>
- <label>Type: </label>
+ <label>{{ $t("Type:") }}</label>
<span>{{
- get_lib_from_av('av_license_types', license.type)
+ get_lib_from_av("av_license_types", license.type)
}}</span>
</li>
<li>
- <label>Status: </label>
+ <label>{{ $t("Status:") }}</label>
<span>{{
- get_lib_from_av('av_license_statuses', license.status)
+ get_lib_from_av(
+ "av_license_statuses",
+ license.status
+ )
}}</span>
</li>
<li>
- <label>Started on:</label>
+ <label>{{ $t("Started on:") }}</label>
<span>{{ format_date(license.started_on) }}</span>
</li>
<li>
- <label>Ended on:</label>
+ <label>{{ $t("Ended on:") }}</label>
<span>{{ format_date(license.ended_on) }}</span>
</li>
</ol>
to="/cgi-bin/koha/erm/licenses"
role="button"
class="cancel"
- >Close</router-link
+ >{{ $t("Close") }}</router-link
>
</fieldset>
</div>
<template>
- <router-link
- to="/cgi-bin/koha/erm/licenses/add"
- class="btn btn-default"
- ><font-awesome-icon icon="plus" /> New license</router-link
+ <router-link to="/cgi-bin/koha/erm/licenses/add" class="btn btn-default"
+ ><font-awesome-icon icon="plus" /> {{ $t("New license") }}</router-link
>
</template>
--- /dev/null
+{
+ "tos": "",
+ "language": "",
+ "hello": "",
+ "/": "",
+ "Agreements": "Agreements",
+ "Documents": "Documents",
+ "Document": {
+ "counter": "Document %{counter}"
+ },
+ "E-Resource management": "E-Resource management",
+ "Licenses": "Licenses",
+ "Remove this document": "Remove this document",
+ "File:": "File:",
+ "Select a file": "Select a file",
+ "Update file": "Update file",
+ "File name:": "File name:",
+ "File type:": "File type:",
+ "File description:": "File description:",
+ "File description": "File description",
+ "Uploaded on:": "Uploaded on:",
+ "Physical location:": "Physical location:",
+ "Physical location": "Physical location",
+ "URI:": "URI",
+ "URI": "URI",
+ "Notes:": "",
+ "Notes": "Notes",
+ "Agreement license": {
+ "counter": "Agreement license %{counter}"
+ },
+ "Remove this license": "Remove this license",
+ "License: ": "License",
+ "Required": "Required",
+ "Status: ": "Status",
+ "Add new license": "Add new license",
+ "There are no licenses created yet": "There are no licenses created yet.",
+ "Periods": "Periods",
+ "Agreement period": {
+ "counter": "Agreement period %{counter}"
+ },
+ "Remove this period": "Remove this period",
+ "End date:": "End date:",
+ "Add new period": "Add new period",
+ "Related agreements": "Related agreements",
+ "Related agreement": {
+ "counter": "Related agreements %{counter}"
+ },
+ "Remove this relationship": "Remove this relationship",
+ "Related agreement:": "Related agreement:",
+ "Relationship:": "Relationship:",
+ "Add new related agreement": "Add new related agreement",
+ "There are no other agreements created yet": "There are no other agreements created yet",
+ "Edit agreement": {
+ "id": "Edit agreement #%{id}"
+ },
+ "New agreement": "New agreement",
+ "Agreement name:": "Agreement name:",
+ "Agreement name": "Agreement name",
+ "Vendor:": "Vendor:",
+ "Description:": "Description:",
+ "Description": "Description",
+ "Closure reason:": "Closure reason:",
+ "Is perpetual:": "Is perpetual:",
+ "Renewal priority:": "Renewal priority:",
+ "License info:": "License info:",
+ "Cancel": "Cancel",
+ "Delete agreement": "Delete agreement",
+ "No, do not delete": "No, do not delete",
+ "There are no agreements defined": "There are no agreements defined.",
+ "Agreement": {
+ "id": "Agreement #%{id}"
+ },
+ "Edit": "Edit",
+ "Delete": "Delete",
+ "Status:": "Status:",
+ "Period start": "Period start",
+ "Period end": "Period end",
+ "Cancellation deadline": "Cancellation deadline",
+ "Period note": "Period note",
+ "Users": "Users",
+ "Name": "Name",
+ "Role": "Role",
+ "Status": "Status",
+ "Close": "Close",
+ "Agreement user": {
+ "counter": "Agreement user %{counter}"
+ },
+ "Remove this user": "Remove this user",
+ "User:": "User:",
+ "Select user": "Select user",
+ "Role:": "Role:",
+ "Add new user": "Add new user",
+ "Edit license": {
+ "id": "Edit license #%{id}"
+ },
+ "New license": "New license",
+ "License name:": "License name:",
+ "Type:": "Type:",
+ "Start date:": "Start date:",
+ "Submit": "Submit",
+ "Delete license": "Delete license",
+ "Yes, delete": "Yes, delete",
+ "There are no licenses defined": "There are no licenses defined",
+ "License": {
+ "id": "License #%{counter}"
+ },
+ "Started on:": "Started on:",
+ "Ended on:": "Ended on:",
+ "Cancellation deadline:": "Cancellation deadline:",
+ "Loading": "Loading",
+ "Add new document": "Add new document",
+ "License name": "License name"
+}
--- /dev/null
+{
+ "tos": "",
+ "language": "",
+ "hello": "",
+ "/": "",
+ "Agreements": "",
+ "Documents": "",
+ "Document": {
+ "counter": ""
+ },
+ "E-Resource management": "",
+ "Licenses": "",
+ "Remove this document": "",
+ "File:": "",
+ "Select a file": "",
+ "Update file": "",
+ "File name:": "",
+ "File type:": "",
+ "File description:": "",
+ "File description": "",
+ "Uploaded on:": "",
+ "Physical location:": "",
+ "Physical location": "",
+ "URI:": "",
+ "URI": "",
+ "Notes:": "",
+ "Notes": "",
+ "Agreement license": {
+ "counter": ""
+ },
+ "Remove this license": "",
+ "License: ": "",
+ "Required": "",
+ "Status: ": "",
+ "Add new license": "",
+ "Periods": "",
+ "Agreement period": {
+ "counter": ""
+ },
+ "Remove this period": "",
+ "Add new period": "",
+ "Related agreements": "",
+ "Related agreement": {
+ "counter": ""
+ },
+ "Remove this relationship": "",
+ "Related agreement:": "",
+ "Relationship:": "",
+ "Add new related agreement": "",
+ "There are no other agreements created yet": "",
+ "Loading": "",
+ "Edit agreement": {
+ "id": ""
+ },
+ "New agreement": "",
+ "Agreement name:": "",
+ "Agreement name": "",
+ "Vendor:": "",
+ "Description:": "",
+ "Description": "",
+ "Closure reason:": "",
+ "Is perpetual:": "",
+ "Renewal priority:": "",
+ "License info:": "",
+ "Cancel": "",
+ "Delete agreement": "",
+ "No, do not delete": "",
+ "There are no agreements defined": "",
+ "Agreement": {
+ "id": ""
+ },
+ "Edit": "",
+ "Delete": "",
+ "Status:": "",
+ "Period start": "",
+ "Period end": "",
+ "Cancellation deadline": "",
+ "Period note": "",
+ "Users": "",
+ "Name": "",
+ "Role": "",
+ "Status": "",
+ "Close": "",
+ "Agreement user": {
+ "counter": ""
+ },
+ "Remove this user": "",
+ "User:": "",
+ "Select user": "",
+ "Role:": "",
+ "Add new user": "",
+ "Edit license": {
+ "id": ""
+ },
+ "New license": "",
+ "License name:": "",
+ "Type:": "",
+ "Start date:": "",
+ "End date:": "",
+ "Submit": "",
+ "Delete license": "",
+ "Yes, delete": "",
+ "There are no licenses defined": "",
+ "License": {
+ "id": ""
+ },
+ "Started on:": "",
+ "Ended on:": "",
+ "There are no licenses created yet": "",
+ "Cancellation deadline:": "",
+ "Add new document": "",
+ "License name": ""
+}
\ No newline at end of file
const router = createRouter({ history: createWebHistory(), routes });
import { useMainStore } from "./stores/main";
+
+import { createI18n } from "vue-i18n";
+
+import * as en from "./locales/en.json"; // We could async the load here, see https://vue-i18n.intlify.dev/guide/advanced/lazy.html
+const languages = { en };
+const messages = Object.assign(languages);
+const i18n = createI18n({ locale: "en", messages });
+
createApp(App)
.use(createPinia())
.use(router)
+ .use(i18n)
.component("font-awesome-icon", FontAwesomeIcon)
.mount("#erm");
-
const mainStore = useMainStore();
const { removeMessages } = mainStore;
router.beforeEach((to, from) => {
"style-loader": "^3.3.1",
"vue": "^3.2.31",
"vue-flatpickr-component": "^9",
+ "vue-i18n": "^9.1.10",
"vue-router": "^4.0.14"
},
"scripts": {
{
"compilerOptions": {
+ "resolveJsonModule": true
},
"exclude": ["./cypress"]
}