2 <fieldset class="rows" id="user_roles">
3 <legend>{{ $__("Users") }}</legend>
6 v-for="(user_role, counter) in user_roles"
10 {{ user_type.format(counter + 1) }}
11 <a href="#" @click.prevent="deleteUser(counter)"
12 ><i class="fa fa-trash"></i>
13 {{ $__("Remove this user") }}</a
18 <label :for="`user_id_${counter}`" class="required"
19 >{{ $__("User") }}:</label
22 {{ user_role.patron_str }}
26 @click="selectUser(counter)"
27 class="btn btn-default"
28 >{{ $__("Select user") }}</a
30 <span class="required">{{ $__("Required") }}</span>
33 <label :for="`user_role_${counter}`" class="required"
34 >{{ $__("Role") }}:</label
37 :id="`user_role_${counter}`"
38 v-model="user_role.role"
40 :reduce="av => av.value"
41 :options="av_user_roles"
43 <template #search="{ attributes, events }">
45 :required="!user_role.role"
52 <span class="required">{{ $__("Required") }}</span>
58 name="selected_patron_id"
59 id="selected_patron_id"
61 <a class="btn btn-default" @click="addUser"
62 ><font-awesome-icon icon="plus" /> {{ $__("Add new user") }}</a
68 import { APIClient } from "../../fetch/api-client.js"
78 this.user_roles.forEach(u => {
79 u.patron_str = $patron_to_html(u.patron)
84 this.user_roles.push({
91 this.user_roles.splice(counter, 1)
94 let select_user_window = window.open(
95 "/cgi-bin/koha/members/search.pl?columns=cardnumber,name,category,branch,action&selection_type=select&filter=erm_users",
97 "width=740,height=450,location=yes,toolbar=no," +
98 "scrollbars=yes,resize=yes"
100 // This is a bit dirty, the "select user" window should be rewritten and be a Vue component
101 // but that's not for now...
102 select_user_window.addEventListener(
104 this.newUserSelected,
107 select_user_window.counter = counter
110 let c = e.currentTarget.counter
111 let selected_patron_id =
112 document.getElementById("selected_patron_id").value
114 const client = APIClient.patron
115 // FIXME We are missing a "loading..."
116 client.patrons.get(selected_patron_id).then(p => {
118 this.user_roles[c].patron = patron
119 this.user_roles[c].patron_str = $patron_to_html(patron)
120 this.user_roles[c].user_id = patron.patron_id