Mercurial > gemma
annotate client/src/components/usermanagement/Usermanagement.vue @ 2761:71e7237110ba
client: spuc8: prepared diagram
author | Markus Kottlaender <markus@intevation.de> |
---|---|
date | Thu, 21 Mar 2019 17:31:03 +0100 |
parents | c6fba10926cc |
children | 615b0a9b8098 |
rev | line source |
---|---|
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
1 <template> |
2322
a25b4988eb0c
client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents:
2320
diff
changeset
|
2 <div class="main d-flex flex-row" style="position: relative;"> |
1606
a4d8f284db93
spacer in admin interface added
Thomas Junk <thomas.junk@intevation.de>
parents:
1604
diff
changeset
|
3 <Spacer></Spacer> |
2534
bb5286acfee2
client: reduced spacings between and inside boxes and more compact main menu
Markus Kottlaender <markus@intevation.de>
parents:
2503
diff
changeset
|
4 <div class="d-flex content py-2"> |
2322
a25b4988eb0c
client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents:
2320
diff
changeset
|
5 <div :class="userlistStyle"> |
a25b4988eb0c
client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents:
2320
diff
changeset
|
6 <div class="card shadow-xs"> |
2760
c6fba10926cc
client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2739
diff
changeset
|
7 <UIBoxHeader icon="users-cog" :title="usersLabel" /> |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
8 <UITableHeader |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
9 :columns="[ |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
10 { id: 'role', title: 'Role', class: 'col-1' }, |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
11 { id: 'user', title: 'Username', class: 'col-3' }, |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
12 { id: 'country', title: 'Country', class: 'col-2' }, |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
13 { id: 'email', title: 'Email', class: 'col-3' } |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
14 ]" |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
15 /> |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
16 <UITableBody |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2640
diff
changeset
|
17 :data="users | sortTable(sortColumn, sortDirection, page, pageSize)" |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
18 maxHeight="47rem" |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
19 :active="currentUser" |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
20 v-slot="{ item: user }" |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
21 > |
2640
4bcb26542767
client: use new btn-xs class in tables
Markus Kottlaender <markus@intevation.de>
parents:
2595
diff
changeset
|
22 <div class="py-1 col-1" @click="selectUser(user.user)"> |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
23 <font-awesome-icon |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
24 v-tooltip="roleLabel(user.role)" |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
25 :icon="roleIcon(user.role)" |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
26 class="fa-lg" |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
27 ></font-awesome-icon> |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
28 </div> |
2640
4bcb26542767
client: use new btn-xs class in tables
Markus Kottlaender <markus@intevation.de>
parents:
2595
diff
changeset
|
29 <div class="py-1 col-3" @click="selectUser(user.user)"> |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
30 {{ user.user }} |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
31 </div> |
2640
4bcb26542767
client: use new btn-xs class in tables
Markus Kottlaender <markus@intevation.de>
parents:
2595
diff
changeset
|
32 <div class="py-1 col-2" @click="selectUser(user.user)"> |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
33 {{ user.country }} |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
34 </div> |
2640
4bcb26542767
client: use new btn-xs class in tables
Markus Kottlaender <markus@intevation.de>
parents:
2595
diff
changeset
|
35 <div class="py-1 col-3" @click="selectUser(user.user)"> |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
36 {{ user.email }} |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
37 </div> |
2640
4bcb26542767
client: use new btn-xs class in tables
Markus Kottlaender <markus@intevation.de>
parents:
2595
diff
changeset
|
38 <div class="py-1 col text-right"> |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
39 <button |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
40 @click="sendTestMail(user.user)" |
2640
4bcb26542767
client: use new btn-xs class in tables
Markus Kottlaender <markus@intevation.de>
parents:
2595
diff
changeset
|
41 class="btn btn-xs btn-dark mr-1" |
2595
dda4cec8e67b
client:translations: correct some strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2534
diff
changeset
|
42 v-tooltip="sendMailLabel" |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
43 v-if="user.email" |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
44 > |
2640
4bcb26542767
client: use new btn-xs class in tables
Markus Kottlaender <markus@intevation.de>
parents:
2595
diff
changeset
|
45 <font-awesome-icon icon="paper-plane" fixed-width /> |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
46 </button> |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
47 <button |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
48 @click="deleteUser(user.user)" |
2640
4bcb26542767
client: use new btn-xs class in tables
Markus Kottlaender <markus@intevation.de>
parents:
2595
diff
changeset
|
49 class="btn btn-xs btn-dark" |
2595
dda4cec8e67b
client:translations: correct some strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2534
diff
changeset
|
50 v-tooltip="deleteUserLabel" |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
51 > |
2640
4bcb26542767
client: use new btn-xs class in tables
Markus Kottlaender <markus@intevation.de>
parents:
2595
diff
changeset
|
52 <font-awesome-icon icon="trash" fixed-width /> |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
53 </button> |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
54 </div> |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
55 </UITableBody> |
2322
a25b4988eb0c
client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents:
2320
diff
changeset
|
56 <div class="d-flex mx-auto align-items-center"> |
a25b4988eb0c
client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents:
2320
diff
changeset
|
57 <button |
a25b4988eb0c
client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents:
2320
diff
changeset
|
58 @click="prevPage" |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2640
diff
changeset
|
59 v-if="this.page !== 1" |
2322
a25b4988eb0c
client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents:
2320
diff
changeset
|
60 class="mr-2 btn btn-sm btn-light align-self-center" |
1480 | 61 > |
2322
a25b4988eb0c
client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents:
2320
diff
changeset
|
62 <font-awesome-icon icon="angle-left"></font-awesome-icon> |
a25b4988eb0c
client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents:
2320
diff
changeset
|
63 </button> |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2640
diff
changeset
|
64 {{ this.page }} / {{ this.pages }} |
2322
a25b4988eb0c
client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents:
2320
diff
changeset
|
65 <button |
a25b4988eb0c
client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents:
2320
diff
changeset
|
66 @click="nextPage" |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2640
diff
changeset
|
67 v-if="this.page !== this.pages" |
2322
a25b4988eb0c
client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents:
2320
diff
changeset
|
68 class="ml-2 btn btn-sm btn-light align-self-center" |
a25b4988eb0c
client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents:
2320
diff
changeset
|
69 > |
a25b4988eb0c
client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents:
2320
diff
changeset
|
70 <font-awesome-icon icon="angle-right"></font-awesome-icon> |
a25b4988eb0c
client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents:
2320
diff
changeset
|
71 </button> |
a25b4988eb0c
client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents:
2320
diff
changeset
|
72 </div> |
a25b4988eb0c
client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents:
2320
diff
changeset
|
73 <div class="mr-3 py-3 text-right"> |
a25b4988eb0c
client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents:
2320
diff
changeset
|
74 <button @click="addUser" class="btn btn-info addbutton shadow-sm"> |
a25b4988eb0c
client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents:
2320
diff
changeset
|
75 <translate>Add User</translate> |
a25b4988eb0c
client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents:
2320
diff
changeset
|
76 </button> |
1361
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
77 </div> |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
78 </div> |
1361
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
79 </div> |
2322
a25b4988eb0c
client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents:
2320
diff
changeset
|
80 <Userdetail v-if="isUserDetailsVisible"></Userdetail> |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
81 </div> |
1361
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
82 </div> |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
83 </template> |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
84 |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
85 <style lang="sass" scoped> |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
86 .addbutton |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
87 position: absolute |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
88 bottom: $offset |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
89 right: $offset |
1542 | 90 |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
91 .content |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
92 width: 100% |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
93 |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
94 .userdetails |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
95 width: 50% |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
96 |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
97 .main |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
98 height: 100% |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
99 |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
100 .icon |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
101 font-size: large |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
102 |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
103 .userlist |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
104 min-width: 520px |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
105 height: 100% |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
106 |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
107 .userlistsmall |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
108 width: 100% |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
109 |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
110 .userlistextended |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
111 width: 100% |
2320
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
112 |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
113 .table-body |
2739
8057662812f1
client: fixed active state styling in users and bottlenecks table
Markus Kottlaender <markus@intevation.de>
parents:
2738
diff
changeset
|
114 /deep/.row |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
115 > div |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
116 transition: background-color 0.3s, color 0.3s |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
117 &.active |
2739
8057662812f1
client: fixed active state styling in users and bottlenecks table
Markus Kottlaender <markus@intevation.de>
parents:
2738
diff
changeset
|
118 background-color: $color-info |
8057662812f1
client: fixed active state styling in users and bottlenecks table
Markus Kottlaender <markus@intevation.de>
parents:
2738
diff
changeset
|
119 color: #fff |
8057662812f1
client: fixed active state styling in users and bottlenecks table
Markus Kottlaender <markus@intevation.de>
parents:
2738
diff
changeset
|
120 a |
8057662812f1
client: fixed active state styling in users and bottlenecks table
Markus Kottlaender <markus@intevation.de>
parents:
2738
diff
changeset
|
121 color: #fff !important |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
122 </style> |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
123 |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
124 <script> |
1362
ca33ad696594
remove the first empyty lines
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1361
diff
changeset
|
125 /* This is Free Software under GNU Affero General Public License v >= 3.0 |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
126 * without warranty, see README.md and license for details. |
1361
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
127 * |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
128 * SPDX-License-Identifier: AGPL-3.0-or-later |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
129 * License-Filename: LICENSES/AGPL-3.0.txt |
1361
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
130 * |
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
131 * Copyright (C) 2018 by via donau |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
132 * – Österreichische Wasserstraßen-Gesellschaft mbH |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
133 * Software engineering by Intevation GmbH |
1361
ea3a89a1813a
remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1299
diff
changeset
|
134 * |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
135 * Author(s): |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
136 * Thomas Junk <thomas.junk@intevation.de> |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
137 */ |
1613
f2d24dceecc7
refac: cleanup import paths
Thomas Junk <thomas.junk@intevation.de>
parents:
1606
diff
changeset
|
138 import store from "@/store"; |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
139 import { mapGetters, mapState } from "vuex"; |
2320
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
140 import { displayError, displayInfo } from "@/lib/errors.js"; |
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
141 import { HTTP } from "@/lib/http"; |
1674
54f7493e5d36
fix: Tooltips are working again
Thomas Junk <thomas.junk@intevation.de>
parents:
1669
diff
changeset
|
142 import Vue from "vue"; |
54f7493e5d36
fix: Tooltips are working again
Thomas Junk <thomas.junk@intevation.de>
parents:
1669
diff
changeset
|
143 import { VTooltip, VPopover, VClosePopover } from "v-tooltip"; |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2640
diff
changeset
|
144 import { sortTable } from "@/lib/mixins"; |
1674
54f7493e5d36
fix: Tooltips are working again
Thomas Junk <thomas.junk@intevation.de>
parents:
1669
diff
changeset
|
145 |
54f7493e5d36
fix: Tooltips are working again
Thomas Junk <thomas.junk@intevation.de>
parents:
1669
diff
changeset
|
146 Vue.directive("tooltip", VTooltip); |
54f7493e5d36
fix: Tooltips are working again
Thomas Junk <thomas.junk@intevation.de>
parents:
1669
diff
changeset
|
147 Vue.directive("close-popover", VClosePopover); |
54f7493e5d36
fix: Tooltips are working again
Thomas Junk <thomas.junk@intevation.de>
parents:
1669
diff
changeset
|
148 Vue.component("v-popover", VPopover); |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
149 |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
150 export default { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
151 name: "userview", |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2640
diff
changeset
|
152 mixins: [sortTable], |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
153 data() { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
154 return { |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2640
diff
changeset
|
155 sortColumn: "user" // overriding the sortTable mixin's empty default value |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
156 }; |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
157 }, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
158 components: { |
1669
16fb9667ddf8
refac: use dynamic imports for components
Thomas Junk <thomas.junk@intevation.de>
parents:
1613
diff
changeset
|
159 Userdetail: () => import("./Userdetail"), |
16fb9667ddf8
refac: use dynamic imports for components
Thomas Junk <thomas.junk@intevation.de>
parents:
1613
diff
changeset
|
160 Spacer: () => import("@/components/Spacer") |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
161 }, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
162 computed: { |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
163 ...mapGetters("usermanagement", [ |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
164 "isUserDetailsVisible", |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
165 "users", |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
166 "currentUser" |
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
167 ]), |
1455
33dda08d67be
unified layout for adminsection
Thomas Junk <thomas.junk@intevation.de>
parents:
1448
diff
changeset
|
168 ...mapState("application", ["showSidebar"]), |
2760
c6fba10926cc
client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2739
diff
changeset
|
169 usersLabel() { |
c6fba10926cc
client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2739
diff
changeset
|
170 return this.$gettext("Users"); |
c6fba10926cc
client:correct a set of strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2739
diff
changeset
|
171 }, |
2595
dda4cec8e67b
client:translations: correct some strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2534
diff
changeset
|
172 sendMailLabel() { |
dda4cec8e67b
client:translations: correct some strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2534
diff
changeset
|
173 return this.$gettext("Send testmail"); |
dda4cec8e67b
client:translations: correct some strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2534
diff
changeset
|
174 }, |
dda4cec8e67b
client:translations: correct some strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2534
diff
changeset
|
175 deleteUserLabel() { |
dda4cec8e67b
client:translations: correct some strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2534
diff
changeset
|
176 return this.$gettext("Delete user"); |
dda4cec8e67b
client:translations: correct some strings marking
Fadi Abbud <fadi.abbud@intevation.de>
parents:
2534
diff
changeset
|
177 }, |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
178 pages() { |
2463
8cc3cd1b27f2
client: usermanagement: implemented new table component
Markus Kottlaender <markus@intevation.de>
parents:
2387
diff
changeset
|
179 return Math.ceil(this.users.length / this.pageSize); |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
180 }, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
181 tableStyle() { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
182 return { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
183 table: true, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
184 "table-hover": true, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
185 "table-sm": this.isUserDetailsVisible, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
186 fadeIn: true, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
187 animated: true |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
188 }; |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
189 }, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
190 userlistStyle() { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
191 return [ |
2534
bb5286acfee2
client: reduced spacings between and inside boxes and more compact main menu
Markus Kottlaender <markus@intevation.de>
parents:
2503
diff
changeset
|
192 "userlist mr-2", |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
193 { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
194 userlistsmall: this.isUserDetailsVisible, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
195 userlistextended: !this.isUserDetailsVisible |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
196 } |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
197 ]; |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
198 } |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
199 }, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
200 methods: { |
2320
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
201 sendTestMail(user) { |
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
202 HTTP.get("/testmail/" + user, { |
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
203 headers: { |
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
204 "X-Gemma-Auth": localStorage.getItem("token"), |
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
205 "Content-type": "text/xml; charset=UTF-8" |
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
206 } |
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
207 }) |
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
208 .then(() => { |
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
209 displayInfo({ |
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
210 message: this.$gettext("Testmail sent") |
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
211 }); |
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
212 }) |
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
213 .catch(error => { |
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
214 this.loginFailed = true; |
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
215 const { status, data } = error.response; |
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
216 displayError({ |
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
217 title: this.$gettext("Backend Error"), |
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
218 message: `${status}: ${data.message || data}` |
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
219 }); |
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
220 }); |
f2c67ebeaabb
moved test mail button to table
Markus Kottlaender <markus@intevation.de>
parents:
2290
diff
changeset
|
221 }, |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
222 nextPage() { |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2640
diff
changeset
|
223 if (this.page < this.pages) { |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2640
diff
changeset
|
224 this.page += 1; |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
225 } |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
226 }, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
227 prevPage() { |
2738
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2640
diff
changeset
|
228 if (this.page > 0) { |
add2d47c2567
client: tables: implemented simple default sorting
Markus Kottlaender <markus@intevation.de>
parents:
2640
diff
changeset
|
229 this.page -= 1; |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
230 } |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
231 }, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
232 deleteUser(name) { |
2384
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
233 this.$store.commit("application/popup", { |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
234 icon: "trash", |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
235 title: this.$gettext("Delete User"), |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
236 content: |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
237 this.$gettext( |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
238 "Do you really want to delete the following user account:" |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
239 ) + |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
240 `<br> |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
241 <b>${name}</b>`, |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
242 confirm: { |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
243 label: this.$gettext("Delete"), |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
244 icon: "trash", |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
245 callback: () => { |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
246 this.$store |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
247 .dispatch("usermanagement/deleteUser", { name }) |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
248 .then(() => { |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
249 this.$store |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
250 .dispatch("usermanagement/loadUsers") |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
251 .catch(error => { |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
252 const { status, data } = error.response; |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
253 displayError({ |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
254 title: this.$gettext("Backend Error"), |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
255 message: `${status}: ${data.message || data}` |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
256 }); |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
257 }); |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
258 }) |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
259 .catch(error => { |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
260 const { status, data } = error.response; |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
261 displayError({ |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
262 title: this.$gettext("Backend Error"), |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
263 message: `${status}: ${data.message || data}` |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
264 }); |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
265 }); |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
266 } |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
267 }, |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
268 cancel: { |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
269 label: this.$gettext("Cancel"), |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
270 icon: "times" |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
271 } |
c06b001dc26b
client: improved popup implementation
Markus Kottlaender <markus@intevation.de>
parents:
2330
diff
changeset
|
272 }); |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
273 }, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
274 addUser() { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
275 this.$store.commit("usermanagement/clearCurrentUser"); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
276 this.$store.commit("usermanagement/setUserDetailsVisible"); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
277 }, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
278 selectUser(name) { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
279 const user = this.$store.getters["usermanagement/getUserByName"](name); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
280 this.$store.commit("usermanagement/setCurrentUser", user); |
1299
2738a6ae9ad8
fontawesome 4 -> 5
Markus Kottlaender <markus@intevation.de>
parents:
1272
diff
changeset
|
281 }, |
2738a6ae9ad8
fontawesome 4 -> 5
Markus Kottlaender <markus@intevation.de>
parents:
1272
diff
changeset
|
282 roleIcon(role) { |
2738a6ae9ad8
fontawesome 4 -> 5
Markus Kottlaender <markus@intevation.de>
parents:
1272
diff
changeset
|
283 if (role === "sys_admin") return "star"; |
2738a6ae9ad8
fontawesome 4 -> 5
Markus Kottlaender <markus@intevation.de>
parents:
1272
diff
changeset
|
284 if (role === "waterway_admin") return ["fab", "adn"]; |
2738a6ae9ad8
fontawesome 4 -> 5
Markus Kottlaender <markus@intevation.de>
parents:
1272
diff
changeset
|
285 return "user"; |
1674
54f7493e5d36
fix: Tooltips are working again
Thomas Junk <thomas.junk@intevation.de>
parents:
1669
diff
changeset
|
286 }, |
54f7493e5d36
fix: Tooltips are working again
Thomas Junk <thomas.junk@intevation.de>
parents:
1669
diff
changeset
|
287 roleLabel(role) { |
54f7493e5d36
fix: Tooltips are working again
Thomas Junk <thomas.junk@intevation.de>
parents:
1669
diff
changeset
|
288 const labels = { |
54f7493e5d36
fix: Tooltips are working again
Thomas Junk <thomas.junk@intevation.de>
parents:
1669
diff
changeset
|
289 sys_admin: this.$gettext("System-Administrator"), |
54f7493e5d36
fix: Tooltips are working again
Thomas Junk <thomas.junk@intevation.de>
parents:
1669
diff
changeset
|
290 waterway_admin: this.$gettext("Waterway Admin"), |
54f7493e5d36
fix: Tooltips are working again
Thomas Junk <thomas.junk@intevation.de>
parents:
1669
diff
changeset
|
291 waterway_user: this.$gettext("Waterway User") |
54f7493e5d36
fix: Tooltips are working again
Thomas Junk <thomas.junk@intevation.de>
parents:
1669
diff
changeset
|
292 }; |
54f7493e5d36
fix: Tooltips are working again
Thomas Junk <thomas.junk@intevation.de>
parents:
1669
diff
changeset
|
293 return labels[role]; |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
294 } |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
295 }, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
296 beforeRouteEnter(to, from, next) { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
297 store |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
298 .dispatch("usermanagement/loadUsers") |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
299 .then(next) |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
300 .catch(error => { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
301 const { status, data } = error.response; |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
302 displayError({ |
1460 | 303 title: this.$gettext("Backend Error"), |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
304 message: `${status}: ${data}` |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
305 }); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
306 }); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
307 }, |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
308 beforeRouteLeave(to, from, next) { |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
309 store.commit("usermanagement/clearCurrentUser"); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
310 store.commit("usermanagement/setUserDetailsInvisible"); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
311 next(); |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
312 } |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
313 }; |
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
314 </script> |