annotate client/src/components/usermanagement/Userdetail.vue @ 5629:84d01a536bec 729-node-js-newer-version

Transformed scss and sass styles into css
author Luisa Beerboom <lbeerboom@intevation.de>
date Thu, 11 May 2023 13:23:52 +0200
parents 7768f14f6535
children
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="userdetails shadow-xs fadeIn animated card">
2387
f185503ef35a client: unified box's header styles by creating a reusable component
Markus Kottlaender <markus@intevation.de>
parents: 2322
diff changeset
3 <UIBoxHeader
f185503ef35a client: unified box's header styles by creating a reusable component
Markus Kottlaender <markus@intevation.de>
parents: 2322
diff changeset
4 icon="user"
f185503ef35a client: unified box's header styles by creating a reusable component
Markus Kottlaender <markus@intevation.de>
parents: 2322
diff changeset
5 :title="this.cardHeader"
f185503ef35a client: unified box's header styles by creating a reusable component
Markus Kottlaender <markus@intevation.de>
parents: 2322
diff changeset
6 :closeCallback="closeDetailview"
f185503ef35a client: unified box's header styles by creating a reusable component
Markus Kottlaender <markus@intevation.de>
parents: 2322
diff changeset
7 />
1529
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
8 <div class="card-body">
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
9 <form @submit.prevent="save" class="ml-3">
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
10 <div class="formfields">
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
11 <div v-if="currentUser.isNew" class="form-group row">
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
12 <label for="user"> <translate>Username</translate> </label>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
13 <input
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
14 type="user"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
15 :placeholder="userNamePlaceholder"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
16 class="form-control form-control-sm"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
17 id="user"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
18 aria-describedby="userHelp"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
19 v-model="currentUser.user"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
20 />
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
21 <div v-show="errors.user" class="text-danger">
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
22 <small>
2919
6c5364ff0abb client: removed a lot of unnecessary closing tags
Markus Kottlaender <markus@intevation.de>
parents: 2892
diff changeset
23 <font-awesome-icon icon="exclamation-triangle" />
1529
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
24 {{ errors.user }}
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
25 </small>
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
26 </div>
1529
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
27 </div>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
28 <div class="form-group row">
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
29 <label for="country"> <translate>Country</translate> </label>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
30 <select
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
31 class="form-control form-control-sm"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
32 v-on:change="validateCountry"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
33 v-model="currentUser.country"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
34 >
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
35 <option disabled value>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
36 <translate>Please select one</translate>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
37 </option>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
38 <option
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
39 v-for="country in countries"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
40 v-bind:value="country"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
41 v-bind:key="country"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
42 >{{ country }}</option
1361
ea3a89a1813a remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1299
diff changeset
43 >
1529
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
44 </select>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
45 <div v-show="errors.country" class="text-danger">
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
46 <small>
2919
6c5364ff0abb client: removed a lot of unnecessary closing tags
Markus Kottlaender <markus@intevation.de>
parents: 2892
diff changeset
47 <font-awesome-icon icon="exclamation-triangle" />
1529
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
48 {{ errors.country }}
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
49 </small>
1361
ea3a89a1813a remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1299
diff changeset
50 </div>
ea3a89a1813a remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1299
diff changeset
51 </div>
1529
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
52 <div class="form-group row">
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
53 <label for="email"> <translate>Email address</translate> </label>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
54 <input
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
55 type="email"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
56 v-on:change="validateEmailaddress"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
57 class="form-control form-control-sm"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
58 id="email"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
59 aria-describedby="emailHelp"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
60 v-model="currentUser.email"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
61 />
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
62 <div v-show="errors.email" class="text-danger">
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
63 <small>
2919
6c5364ff0abb client: removed a lot of unnecessary closing tags
Markus Kottlaender <markus@intevation.de>
parents: 2892
diff changeset
64 <font-awesome-icon icon="exclamation-triangle" />
1529
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
65 {{ errors.email }}
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
66 </small>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
67 </div>
1361
ea3a89a1813a remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1299
diff changeset
68 </div>
1529
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
69 <div class="form-group row">
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
70 <label for="role"> <translate>Role</translate> </label>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
71 <select
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
72 class="form-control form-control-sm"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
73 v-on:change="validateRole"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
74 v-model="currentUser.role"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
75 >
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
76 <option disabled value>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
77 <translate>Please select one</translate>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
78 </option>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
79 <option value="sys_admin">
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
80 <translate>Sysadmin</translate>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
81 </option>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
82 <option value="waterway_admin">
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
83 <translate>Waterway Admin</translate>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
84 </option>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
85 <option value="waterway_user">
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
86 <translate>Waterway User</translate>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
87 </option>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
88 </select>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
89 <div v-show="errors.role" class="text-danger">
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
90 <small>
2919
6c5364ff0abb client: removed a lot of unnecessary closing tags
Markus Kottlaender <markus@intevation.de>
parents: 2892
diff changeset
91 <font-awesome-icon icon="exclamation-triangle" />
1529
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
92 {{ errors.role }}
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
93 </small>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
94 </div>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
95 </div>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
96 <div class="form-group row">
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
97 <PasswordField
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
98 @fieldchange="passwordChanged"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
99 :placeholder="passwordPlaceholder"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
100 :label="passwordLabel"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
101 :passworderrors="errors.password"
2920
c1f2b9148cc8 client: removed more unnecessary closing tags and opzimized imports
Markus Kottlaender <markus@intevation.de>
parents: 2919
diff changeset
102 />
1529
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
103 </div>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
104 <div class="form-group row">
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
105 <PasswordField
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
106 @fieldchange="passwordReChanged"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
107 :placeholder="passwordRePlaceholder"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
108 :label="passwordReLabel"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
109 :passworderrors="errors.passwordre"
2920
c1f2b9148cc8 client: removed more unnecessary closing tags and opzimized imports
Markus Kottlaender <markus@intevation.de>
parents: 2919
diff changeset
110 />
1529
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
111 </div>
5359
bf3d91d333ed Sysadmins could assign every user as recipient. No further rolechecking necessary, since only sysadmins can manage users
Thomas Junk <thomas.junk@intevation.de>
parents: 5351
diff changeset
112 <div class="form-group row">
5348
45b03e8ca47e Toggles in user overview and in details section as well established
Thomas Junk <thomas.junk@intevation.de>
parents: 4869
diff changeset
113 <label for="user">
45b03e8ca47e Toggles in user overview and in details section as well established
Thomas Junk <thomas.junk@intevation.de>
parents: 4869
diff changeset
114 <translate>Recipient for DQL Report </translate>
45b03e8ca47e Toggles in user overview and in details section as well established
Thomas Junk <thomas.junk@intevation.de>
parents: 4869
diff changeset
115 </label>
45b03e8ca47e Toggles in user overview and in details section as well established
Thomas Junk <thomas.junk@intevation.de>
parents: 4869
diff changeset
116 <toggle-button
45b03e8ca47e Toggles in user overview and in details section as well established
Thomas Junk <thomas.junk@intevation.de>
parents: 4869
diff changeset
117 :value="currentUser.reports"
45b03e8ca47e Toggles in user overview and in details section as well established
Thomas Junk <thomas.junk@intevation.de>
parents: 4869
diff changeset
118 v-model="currentUser.reports"
45b03e8ca47e Toggles in user overview and in details section as well established
Thomas Junk <thomas.junk@intevation.de>
parents: 4869
diff changeset
119 class="pt-1 w-100"
45b03e8ca47e Toggles in user overview and in details section as well established
Thomas Junk <thomas.junk@intevation.de>
parents: 4869
diff changeset
120 :sync="true"
45b03e8ca47e Toggles in user overview and in details section as well established
Thomas Junk <thomas.junk@intevation.de>
parents: 4869
diff changeset
121 :speed="100"
45b03e8ca47e Toggles in user overview and in details section as well established
Thomas Junk <thomas.junk@intevation.de>
parents: 4869
diff changeset
122 v-tooltip="receivesReportLabel"
45b03e8ca47e Toggles in user overview and in details section as well established
Thomas Junk <thomas.junk@intevation.de>
parents: 4869
diff changeset
123 :width="40"
45b03e8ca47e Toggles in user overview and in details section as well established
Thomas Junk <thomas.junk@intevation.de>
parents: 4869
diff changeset
124 :height="20"
45b03e8ca47e Toggles in user overview and in details section as well established
Thomas Junk <thomas.junk@intevation.de>
parents: 4869
diff changeset
125 />
45b03e8ca47e Toggles in user overview and in details section as well established
Thomas Junk <thomas.junk@intevation.de>
parents: 4869
diff changeset
126 </div>
1529
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
127 </div>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
128 <div>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
129 <button
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
130 type="submit"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
131 :disabled="submitted"
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
132 class="shadow-sm btn btn-info submit-button"
1361
ea3a89a1813a remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1299
diff changeset
133 >
5508
29af073c824d Client: Implement reactivating of user
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5367
diff changeset
134 <span>{{
29af073c824d Client: Implement reactivating of user
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5367
diff changeset
135 currentUser.active ? $gettext("Save") : $gettext("Reactivate")
29af073c824d Client: Implement reactivating of user
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5367
diff changeset
136 }}</span>
1529
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
137 </button>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
138 </div>
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
139 </form>
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
140 </div>
1361
ea3a89a1813a remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1299
diff changeset
141 </div>
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
142 </template>
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
143
5629
84d01a536bec Transformed scss and sass styles into css
Luisa Beerboom <lbeerboom@intevation.de>
parents: 5627
diff changeset
144 <style scoped>
1529
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
145 .submit-button {
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
146 position: absolute;
5627
7768f14f6535 Transformed scss variables into css custom properties
Luisa Beerboom <lbeerboom@intevation.de>
parents: 5525
diff changeset
147 right: var(--offset);
7768f14f6535 Transformed scss variables into css custom properties
Luisa Beerboom <lbeerboom@intevation.de>
parents: 5525
diff changeset
148 bottom: var(--offset);
1529
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
149 }
1449
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1416
diff changeset
150 .mailbutton {
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1416
diff changeset
151 width: 12vw;
1529
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
152 position: absolute;
5627
7768f14f6535 Transformed scss variables into css custom properties
Luisa Beerboom <lbeerboom@intevation.de>
parents: 5525
diff changeset
153 left: var(--large-offset);
1529
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
154 bottom: 0;
1449
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1416
diff changeset
155 }
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
156
1449
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1416
diff changeset
157 .formfields {
1529
Thomas Junk <thomas.junk@intevation.de>
parents: 1480
diff changeset
158 width: 60%;
1449
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1416
diff changeset
159 }
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
160
1449
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1416
diff changeset
161 .userdetails {
5367
1695e17c5a83 Adds schedualbility for reports as an import.
Thomas Junk <thomas.junk@intevation.de>
parents: 5359
diff changeset
162 min-width: 400px;
3759
b65596531fda usermanagement: max-height for dialog
Thomas Junk <thomas.junk@intevation.de>
parents: 2985
diff changeset
163 max-height: 693px;
5627
7768f14f6535 Transformed scss variables into css custom properties
Luisa Beerboom <lbeerboom@intevation.de>
parents: 5525
diff changeset
164 margin-right: var(--offset);
5367
1695e17c5a83 Adds schedualbility for reports as an import.
Thomas Junk <thomas.junk@intevation.de>
parents: 5359
diff changeset
165 overflow-y: auto;
1449
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1416
diff changeset
166 }
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
167
1449
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1416
diff changeset
168 form {
5627
7768f14f6535 Transformed scss variables into css custom properties
Luisa Beerboom <lbeerboom@intevation.de>
parents: 5525
diff changeset
169 font-size: var(--smaller);
1449
bb47531bdd22 sass to scss
Thomas Junk <thomas.junk@intevation.de>
parents: 1416
diff changeset
170 }
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
171 </style>
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
172
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
173 <script>
1362
ca33ad696594 remove the first empyty lines
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1361
diff changeset
174 /* 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
175 * 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
176 *
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
177 * SPDX-License-Identifier: AGPL-3.0-or-later
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
178 * 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
179 *
ea3a89a1813a remove trailing whitespace, add headers for Makefile, add the missed authors
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1299
diff changeset
180 * Copyright (C) 2018 by via donau
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
181 * – Österreichische Wasserstraßen-Gesellschaft mbH
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
182 * 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
183 *
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
184 * Author(s):
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
185 * Thomas Junk <thomas.junk@intevation.de>
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
186 */
2985
1b8bb4f89227 client: removed .js and .vue extention from imports
Markus Kottlaender <markus@intevation.de>
parents: 2920
diff changeset
187 import { displayError } from "@/lib/errors";
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
188 import { mapState } from "vuex";
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 const emptyErrormessages = () => {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
191 return {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
192 email: "",
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
193 country: "",
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
194 role: "",
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
195 password: "",
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
196 passwordre: ""
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 const isEmailValid = email => {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
201 /**
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
202 *
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
203 * For convenience purposes the same regex used as in the go code
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
204 * cf. types.go
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
205 *
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
206 */
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
207 // eslint-disable-next-line
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
208 return /(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/.test(
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
209 email
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
210 );
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
211 };
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
212
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
213 const violatedPasswordRules = password => {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
214 return (
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
215 // rules according to issue 70
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
216 password.length < 7 ||
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
217 /\W/.test(password) == false ||
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
218 /\d/.test(password) == false
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
219 );
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
220 };
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
221
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
222 export default {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
223 name: "userdetail",
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
224 components: {
1669
16fb9667ddf8 refac: use dynamic imports for components
Thomas Junk <thomas.junk@intevation.de>
parents: 1613
diff changeset
225 PasswordField: () => import("./Passwordfield")
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
226 },
5351
4b367f7e39b4 Added messaging from overview to details.
Thomas Junk <thomas.junk@intevation.de>
parents: 5348
diff changeset
227 props: ["reportToggled"],
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
228 data() {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
229 return {
1460
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1455
diff changeset
230 passwordLabel: this.$gettext("Password"),
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1455
diff changeset
231 passwordReLabel: this.$gettext("Repeat Password"),
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1455
diff changeset
232 passwordPlaceholder: this.$gettext("password"),
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1455
diff changeset
233 passwordRePlaceholder: this.$gettext("password again"),
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
234 password: "",
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
235 passwordre: "",
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
236 currentUser: {},
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
237 path: null,
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
238 submitted: false,
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
239 errors: {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
240 email: "",
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
241 country: "",
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
242 role: "",
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
243 password: "",
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
244 passwordre: ""
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
245 }
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
246 };
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
247 },
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
248 mounted() {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
249 this.currentUser = { ...this.user };
5508
29af073c824d Client: Implement reactivating of user
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5367
diff changeset
250 if (!this.currentUser.active) {
29af073c824d Client: Implement reactivating of user
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5367
diff changeset
251 this.currentUser.email = "";
29af073c824d Client: Implement reactivating of user
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5367
diff changeset
252 }
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
253 this.path = this.user.name;
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
254 },
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
255 watch: {
5351
4b367f7e39b4 Added messaging from overview to details.
Thomas Junk <thomas.junk@intevation.de>
parents: 5348
diff changeset
256 reportToggled() {
4b367f7e39b4 Added messaging from overview to details.
Thomas Junk <thomas.junk@intevation.de>
parents: 5348
diff changeset
257 this.currentUser.reports = this.user.reports;
4b367f7e39b4 Added messaging from overview to details.
Thomas Junk <thomas.junk@intevation.de>
parents: 5348
diff changeset
258 },
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
259 user() {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
260 this.currentUser = { ...this.user };
5508
29af073c824d Client: Implement reactivating of user
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5367
diff changeset
261 if (!this.currentUser.active) {
29af073c824d Client: Implement reactivating of user
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5367
diff changeset
262 this.currentUser.email = "";
29af073c824d Client: Implement reactivating of user
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5367
diff changeset
263 }
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
264 this.path = this.user.name;
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
265 this.clearPassword();
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
266 this.clearErrors();
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
267 }
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
268 },
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
269 computed: {
5348
45b03e8ca47e Toggles in user overview and in details section as well established
Thomas Junk <thomas.junk@intevation.de>
parents: 4869
diff changeset
270 receivesReportLabel() {
45b03e8ca47e Toggles in user overview and in details section as well established
Thomas Junk <thomas.junk@intevation.de>
parents: 4869
diff changeset
271 return this.$gettext("User receives Data Quality Report");
45b03e8ca47e Toggles in user overview and in details section as well established
Thomas Junk <thomas.junk@intevation.de>
parents: 4869
diff changeset
272 },
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
273 cardHeader() {
2322
a25b4988eb0c client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents: 2320
diff changeset
274 if (this.currentUser.isNew) return this.$gettext("Add User");
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
275 return this.currentUser.user;
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
276 },
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
277 userNamePlaceholder() {
2322
a25b4988eb0c client: fixed usermanagement styles
Markus Kottlaender <markus@intevation.de>
parents: 2320
diff changeset
278 if (this.currentUser.isNew) return this.$gettext("Username");
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
279 return "";
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
280 },
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
281 ...mapState("application", ["countries"]),
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
282 user() {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
283 return this.$store.getters["usermanagement/currentUser"];
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
284 },
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
285 isFormValid() {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
286 return (
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
287 isEmailValid(this.currentUser.email) &&
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
288 this.currentUser.country &&
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
289 this.password === this.passwordre &&
5525
fcab36751490 Client: Force entering a password by user-reactivation
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5508
diff changeset
290 ((this.currentUser.active &&
fcab36751490 Client: Force entering a password by user-reactivation
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5508
diff changeset
291 (this.password === "" || !violatedPasswordRules(this.password))) ||
fcab36751490 Client: Force entering a password by user-reactivation
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5508
diff changeset
292 // Do not accept empty password by user-reactivation
fcab36751490 Client: Force entering a password by user-reactivation
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5508
diff changeset
293 (!this.currentUser.active && !violatedPasswordRules(this.password)))
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 },
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
297 methods: {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
298 passwordChanged(value) {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
299 this.password = value;
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
300 this.validatePassword();
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
301 },
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
302 passwordReChanged(value) {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
303 this.passwordre = value;
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
304 this.validatePassword();
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 clearErrors() {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
307 this.errors = emptyErrormessages();
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
308 },
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
309 clearPassword() {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
310 this.password = "";
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
311 this.passwordre = "";
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 closeDetailview() {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
314 this.$store.commit("usermanagement/clearCurrentUser");
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
315 this.$store.commit("usermanagement/setUserDetailsInvisible");
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
316 },
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
317 validateCountry() {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
318 this.errors.country = this.currentUser.country
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
319 ? ""
1460
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1455
diff changeset
320 : this.$gettext("Please choose a country");
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
321 },
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
322 validateRole() {
1460
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1455
diff changeset
323 this.errors.role = this.currentUser.role
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1455
diff changeset
324 ? ""
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1455
diff changeset
325 : this.$gettext("Please choose a role");
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
326 },
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
327 validatePassword() {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
328 this.errors.passwordre =
1460
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1455
diff changeset
329 this.password === this.passwordre
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1455
diff changeset
330 ? ""
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1455
diff changeset
331 : this.$gettext("Passwords do not match!");
5525
fcab36751490 Client: Force entering a password by user-reactivation
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5508
diff changeset
332 if (this.currentUser.active) {
fcab36751490 Client: Force entering a password by user-reactivation
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5508
diff changeset
333 this.errors.password =
fcab36751490 Client: Force entering a password by user-reactivation
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5508
diff changeset
334 this.password === "" || !violatedPasswordRules(this.password)
fcab36751490 Client: Force entering a password by user-reactivation
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5508
diff changeset
335 ? ""
fcab36751490 Client: Force entering a password by user-reactivation
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5508
diff changeset
336 : this.$gettext(
fcab36751490 Client: Force entering a password by user-reactivation
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5508
diff changeset
337 "Password should at least be 8 char long including 1 digit and 1 special char like $"
fcab36751490 Client: Force entering a password by user-reactivation
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5508
diff changeset
338 );
fcab36751490 Client: Force entering a password by user-reactivation
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5508
diff changeset
339 } else {
fcab36751490 Client: Force entering a password by user-reactivation
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5508
diff changeset
340 // Force entering password for user-reactivation
fcab36751490 Client: Force entering a password by user-reactivation
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5508
diff changeset
341 this.errors.password = !violatedPasswordRules(this.password)
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
342 ? ""
1460
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1455
diff changeset
343 : this.$gettext(
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1455
diff changeset
344 "Password should at least be 8 char long including 1 digit and 1 special char like $"
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1455
diff changeset
345 );
5525
fcab36751490 Client: Force entering a password by user-reactivation
Fadi Abbud <fadi.abbud@intevation.de>
parents: 5508
diff changeset
346 }
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
347 },
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
348 validateEmailaddress() {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
349 this.errors.email = isEmailValid(this.currentUser.email)
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
350 ? ""
1460
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1455
diff changeset
351 : this.$gettext("invalid email");
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
352 },
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
353 validate() {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
354 this.validateCountry();
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
355 this.validateRole();
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
356 this.validatePassword();
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
357 this.validateEmailaddress();
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
358 },
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
359 save() {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
360 this.validate();
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
361 if (!this.isFormValid) return;
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
362 if (this.password) this.currentUser.password = this.password;
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
363 this.submitted = true;
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
364 this.$store
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
365 .dispatch("usermanagement/saveCurrentUser", {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
366 path: this.user.user,
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
367 user: this.currentUser
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
368 })
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
369 .then(() => {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
370 this.submitted = false;
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
371 this.$store.dispatch("usermanagement/loadUsers").catch(error => {
4869
6b054b91d9b2 backend not reachable as error message etd. Login adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 4868
diff changeset
372 let message = "Backend not reachable";
4868
008bc1ae8897 exception handling
Thomas Junk <thomas.junk@intevation.de>
parents: 3759
diff changeset
373 if (error.response) {
008bc1ae8897 exception handling
Thomas Junk <thomas.junk@intevation.de>
parents: 3759
diff changeset
374 const { status, data } = error.response;
008bc1ae8897 exception handling
Thomas Junk <thomas.junk@intevation.de>
parents: 3759
diff changeset
375 message = `${status}: ${data.message || data}`;
008bc1ae8897 exception handling
Thomas Junk <thomas.junk@intevation.de>
parents: 3759
diff changeset
376 }
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
377 displayError({
1460
Fadi Abbud <fadi.abbud@intevation.de>
parents: 1455
diff changeset
378 title: this.$gettext("Backend Error"),
4868
008bc1ae8897 exception handling
Thomas Junk <thomas.junk@intevation.de>
parents: 3759
diff changeset
379 message: message
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
380 });
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
381 });
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
382 })
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
383 .catch(error => {
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
384 this.submitted = false;
4869
6b054b91d9b2 backend not reachable as error message etd. Login adjusted
Thomas Junk <thomas.junk@intevation.de>
parents: 4868
diff changeset
385 let message = "Backend not reachable";
4868
008bc1ae8897 exception handling
Thomas Junk <thomas.junk@intevation.de>
parents: 3759
diff changeset
386 if (error.response) {
008bc1ae8897 exception handling
Thomas Junk <thomas.junk@intevation.de>
parents: 3759
diff changeset
387 const { status, data } = error.response;
008bc1ae8897 exception handling
Thomas Junk <thomas.junk@intevation.de>
parents: 3759
diff changeset
388 message = `${status}: ${data.message || data}`;
008bc1ae8897 exception handling
Thomas Junk <thomas.junk@intevation.de>
parents: 3759
diff changeset
389 }
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
390 displayError({
4868
008bc1ae8897 exception handling
Thomas Junk <thomas.junk@intevation.de>
parents: 3759
diff changeset
391 title: this.$gettext("Backend Error"),
008bc1ae8897 exception handling
Thomas Junk <thomas.junk@intevation.de>
parents: 3759
diff changeset
392 message: message
1272
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
393 });
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
394 });
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
395 }
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
396 }
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
397 };
bc55ffaeb639 cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
398 </script>