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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
9b81ac91a43e fix: linting
Thomas Junk <thomas.junk@intevation.de>
parents: 1460
diff changeset
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
31c6c7bd6190 layout issues
Thomas Junk <thomas.junk@intevation.de>
parents: 1529
diff changeset
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
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1455
diff changeset
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>