Mercurial > gemma
annotate client/src/router.js @ 2455:54c9fe587fe6
Subdivide SQL function to prepare for improved error handling
The context of an error (e.g. the function in which it occured)
can be inferred by the database client. Not doing all in one
statement will render the context more meaningful.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Fri, 01 Mar 2019 18:38:02 +0100 |
parents | 706121185e63 |
children | a542045f28a6 |
rev | line source |
---|---|
1362
ca33ad696594
remove the first empyty lines
Fadi Abbud <fadi.abbud@intevation.de>
parents:
1296
diff
changeset
|
1 /* This is Free Software under GNU Affero General Public License v >= 3.0 |
1019
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
853
diff
changeset
|
2 * without warranty, see README.md and license for details. |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
1122
diff
changeset
|
3 * |
1019
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
853
diff
changeset
|
4 * SPDX-License-Identifier: AGPL-3.0-or-later |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
853
diff
changeset
|
5 * License-Filename: LICENSES/AGPL-3.0.txt |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
1122
diff
changeset
|
6 * |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
1122
diff
changeset
|
7 * Copyright (C) 2018 by via donau |
1019
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
853
diff
changeset
|
8 * – Österreichische Wasserstraßen-Gesellschaft mbH |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
853
diff
changeset
|
9 * Software engineering by Intevation GmbH |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
1122
diff
changeset
|
10 * |
1019
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
853
diff
changeset
|
11 * Author(s): |
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
853
diff
changeset
|
12 * Thomas Junk <thomas.junk@intevation.de> |
1363 | 13 * Bernhard Reiter <bernhard@intevation.de> |
14 * Markus Kottländer <markus@intevation.de> | |
1019
ca628dce90dd
Licensing information added
Thomas Junk <thomas.junk@intevation.de>
parents:
853
diff
changeset
|
15 */ |
3 | 16 import Vue from "vue"; |
17 import Router from "vue-router"; | |
18 import store from "./store"; | |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
1244
diff
changeset
|
19 import { sessionStillActive, toMillisFromString } from "./lib/session"; |
3 | 20 |
483
27502291e564
docs: Added comments on non trivial parts of the code
Thomas Junk <thomas.junk@intevation.de>
parents:
466
diff
changeset
|
21 /* facilitate codesplitting */ |
1272
bc55ffaeb639
cleaned up client/src directory
Markus Kottlaender <markus@intevation.de>
parents:
1244
diff
changeset
|
22 const Login = () => import("./components/Login.vue"); |
2329
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
23 const Main = () => import("./components/Main.vue"); |
466
e3035621cc52
refac: Small improvement of loading time with code splitting
Thomas Junk <thomas.junk@intevation.de>
parents:
285
diff
changeset
|
24 |
3 | 25 Vue.use(Router); |
26 | |
27 const router = new Router({ | |
28 routes: [ | |
29 { | |
6 | 30 path: "/login", |
3 | 31 name: "login", |
32 component: Login | |
33 }, | |
34 { | |
581 | 35 path: "/usermanagement", |
36 name: "usermanagement", | |
1671
89b38d7e7b6a
included bundleanalyzer buildstep
Thomas Junk <thomas.junk@intevation.de>
parents:
1610
diff
changeset
|
37 component: () => import("./components/usermanagement/Usermanagement.vue"), |
278
9c1dfadb53aa
feat: usermanagement - route established and secured
Thomas Junk <thomas.junk@intevation.de>
parents:
165
diff
changeset
|
38 meta: { |
9c1dfadb53aa
feat: usermanagement - route established and secured
Thomas Junk <thomas.junk@intevation.de>
parents:
165
diff
changeset
|
39 requiresAuth: true |
9c1dfadb53aa
feat: usermanagement - route established and secured
Thomas Junk <thomas.junk@intevation.de>
parents:
165
diff
changeset
|
40 }, |
9c1dfadb53aa
feat: usermanagement - route established and secured
Thomas Junk <thomas.junk@intevation.de>
parents:
165
diff
changeset
|
41 beforeEnter: (to, from, next) => { |
285
8e22d1f16f81
refactor: better variable naming
Thomas Junk <thomas.junk@intevation.de>
parents:
284
diff
changeset
|
42 const isSysadmin = store.getters["user/isSysAdmin"]; |
284
96860b2bbc0d
fix: User management only for sysadmin
Thomas Junk <thomas.junk@intevation.de>
parents:
278
diff
changeset
|
43 if (!isSysadmin) { |
278
9c1dfadb53aa
feat: usermanagement - route established and secured
Thomas Junk <thomas.junk@intevation.de>
parents:
165
diff
changeset
|
44 next("/"); |
9c1dfadb53aa
feat: usermanagement - route established and secured
Thomas Junk <thomas.junk@intevation.de>
parents:
165
diff
changeset
|
45 } else { |
9c1dfadb53aa
feat: usermanagement - route established and secured
Thomas Junk <thomas.junk@intevation.de>
parents:
165
diff
changeset
|
46 next(); |
9c1dfadb53aa
feat: usermanagement - route established and secured
Thomas Junk <thomas.junk@intevation.de>
parents:
165
diff
changeset
|
47 } |
9c1dfadb53aa
feat: usermanagement - route established and secured
Thomas Junk <thomas.junk@intevation.de>
parents:
165
diff
changeset
|
48 } |
9c1dfadb53aa
feat: usermanagement - route established and secured
Thomas Junk <thomas.junk@intevation.de>
parents:
165
diff
changeset
|
49 }, |
9c1dfadb53aa
feat: usermanagement - route established and secured
Thomas Junk <thomas.junk@intevation.de>
parents:
165
diff
changeset
|
50 { |
713
badbc0207418
feat: systeminformation feature added
Thomas Junk <thomas.junk@intevation.de>
parents:
592
diff
changeset
|
51 path: "/logs", |
badbc0207418
feat: systeminformation feature added
Thomas Junk <thomas.junk@intevation.de>
parents:
592
diff
changeset
|
52 name: "logs", |
1671
89b38d7e7b6a
included bundleanalyzer buildstep
Thomas Junk <thomas.junk@intevation.de>
parents:
1610
diff
changeset
|
53 component: () => import("./components/Logs.vue"), |
713
badbc0207418
feat: systeminformation feature added
Thomas Junk <thomas.junk@intevation.de>
parents:
592
diff
changeset
|
54 meta: { |
badbc0207418
feat: systeminformation feature added
Thomas Junk <thomas.junk@intevation.de>
parents:
592
diff
changeset
|
55 requiresAuth: true |
badbc0207418
feat: systeminformation feature added
Thomas Junk <thomas.junk@intevation.de>
parents:
592
diff
changeset
|
56 }, |
badbc0207418
feat: systeminformation feature added
Thomas Junk <thomas.junk@intevation.de>
parents:
592
diff
changeset
|
57 beforeEnter: (to, from, next) => { |
badbc0207418
feat: systeminformation feature added
Thomas Junk <thomas.junk@intevation.de>
parents:
592
diff
changeset
|
58 const isSysadmin = store.getters["user/isSysAdmin"]; |
badbc0207418
feat: systeminformation feature added
Thomas Junk <thomas.junk@intevation.de>
parents:
592
diff
changeset
|
59 if (!isSysadmin) { |
badbc0207418
feat: systeminformation feature added
Thomas Junk <thomas.junk@intevation.de>
parents:
592
diff
changeset
|
60 next("/"); |
badbc0207418
feat: systeminformation feature added
Thomas Junk <thomas.junk@intevation.de>
parents:
592
diff
changeset
|
61 } else { |
badbc0207418
feat: systeminformation feature added
Thomas Junk <thomas.junk@intevation.de>
parents:
592
diff
changeset
|
62 next(); |
badbc0207418
feat: systeminformation feature added
Thomas Junk <thomas.junk@intevation.de>
parents:
592
diff
changeset
|
63 } |
badbc0207418
feat: systeminformation feature added
Thomas Junk <thomas.junk@intevation.de>
parents:
592
diff
changeset
|
64 } |
badbc0207418
feat: systeminformation feature added
Thomas Junk <thomas.junk@intevation.de>
parents:
592
diff
changeset
|
65 }, |
badbc0207418
feat: systeminformation feature added
Thomas Junk <thomas.junk@intevation.de>
parents:
592
diff
changeset
|
66 { |
853 | 67 path: "/systemconfiguration", |
68 name: "systemconfiguration", | |
2212
733cfc3db48a
started pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
1801
diff
changeset
|
69 component: () => |
733cfc3db48a
started pdf template administration
Markus Kottlaender <markus@intevation.de>
parents:
1801
diff
changeset
|
70 import("./components/systemconfiguration/Systemconfiguration.vue"), |
853 | 71 meta: { |
72 requiresAuth: true | |
73 }, | |
74 beforeEnter: (to, from, next) => { | |
2277
5f3110aa1ad1
made configuration page accessible for waterway admins
Markus Kottlaender <markus@intevation.de>
parents:
2212
diff
changeset
|
75 const isWaterwayAdmin = store.getters["user/isWaterwayAdmin"]; |
5f3110aa1ad1
made configuration page accessible for waterway admins
Markus Kottlaender <markus@intevation.de>
parents:
2212
diff
changeset
|
76 if (!isWaterwayAdmin) { |
853 | 77 next("/"); |
78 } else { | |
79 next(); | |
80 } | |
81 } | |
82 }, | |
83 { | |
1607
38f91897ca69
import sounding result in new section
Thomas Junk <thomas.junk@intevation.de>
parents:
1559
diff
changeset
|
84 path: "/importsoundingresults", |
38f91897ca69
import sounding result in new section
Thomas Junk <thomas.junk@intevation.de>
parents:
1559
diff
changeset
|
85 name: "importsoundingresults", |
1671
89b38d7e7b6a
included bundleanalyzer buildstep
Thomas Junk <thomas.junk@intevation.de>
parents:
1610
diff
changeset
|
86 component: () => import("./components/ImportSoundingresults.vue"), |
1607
38f91897ca69
import sounding result in new section
Thomas Junk <thomas.junk@intevation.de>
parents:
1559
diff
changeset
|
87 meta: { |
38f91897ca69
import sounding result in new section
Thomas Junk <thomas.junk@intevation.de>
parents:
1559
diff
changeset
|
88 requiresAuth: true |
38f91897ca69
import sounding result in new section
Thomas Junk <thomas.junk@intevation.de>
parents:
1559
diff
changeset
|
89 }, |
38f91897ca69
import sounding result in new section
Thomas Junk <thomas.junk@intevation.de>
parents:
1559
diff
changeset
|
90 beforeEnter: (to, from, next) => { |
38f91897ca69
import sounding result in new section
Thomas Junk <thomas.junk@intevation.de>
parents:
1559
diff
changeset
|
91 const isWaterwayAdmin = store.getters["user/isWaterwayAdmin"]; |
38f91897ca69
import sounding result in new section
Thomas Junk <thomas.junk@intevation.de>
parents:
1559
diff
changeset
|
92 if (!isWaterwayAdmin) { |
38f91897ca69
import sounding result in new section
Thomas Junk <thomas.junk@intevation.de>
parents:
1559
diff
changeset
|
93 next("/"); |
38f91897ca69
import sounding result in new section
Thomas Junk <thomas.junk@intevation.de>
parents:
1559
diff
changeset
|
94 } else { |
38f91897ca69
import sounding result in new section
Thomas Junk <thomas.junk@intevation.de>
parents:
1559
diff
changeset
|
95 next(); |
38f91897ca69
import sounding result in new section
Thomas Junk <thomas.junk@intevation.de>
parents:
1559
diff
changeset
|
96 } |
38f91897ca69
import sounding result in new section
Thomas Junk <thomas.junk@intevation.de>
parents:
1559
diff
changeset
|
97 } |
38f91897ca69
import sounding result in new section
Thomas Junk <thomas.junk@intevation.de>
parents:
1559
diff
changeset
|
98 }, |
38f91897ca69
import sounding result in new section
Thomas Junk <thomas.junk@intevation.de>
parents:
1559
diff
changeset
|
99 { |
1753
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
100 path: "/importwaterwayprofiles", |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
101 name: "waterwayprofiles", |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
102 component: () => import("./components/ImportWaterwayProfiles"), |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
103 meta: { |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
104 requiresAuth: true |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
105 }, |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
106 beforeEnter: (to, from, next) => { |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
107 const isWaterwayAdmin = store.getters["user/isWaterwayAdmin"]; |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
108 if (!isWaterwayAdmin) { |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
109 next("/"); |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
110 } else { |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
111 next(); |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
112 } |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
113 } |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
114 }, |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
115 { |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
116 path: "/importapprovedgaugemeasurement", |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
117 name: "approvedgaugemeasurement", |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
118 component: () => import("./components/ImportApprovedGaugeMeasurement"), |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
119 meta: { |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
120 requiresAuth: true |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
121 }, |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
122 beforeEnter: (to, from, next) => { |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
123 const isWaterwayAdmin = store.getters["user/isWaterwayAdmin"]; |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
124 if (!isWaterwayAdmin) { |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
125 next("/"); |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
126 } else { |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
127 next(); |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
128 } |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
129 } |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
130 }, |
68bd990dd8e5
feat: added import dialogs for approved gauge meas. and waterway profiles
Thomas Junk <thomas.junk@intevation.de>
parents:
1671
diff
changeset
|
131 { |
1429
f4b3fb43b311
automatic imports WIP added
Thomas Junk <thomas.junk@intevation.de>
parents:
1363
diff
changeset
|
132 path: "/importschedule", |
f4b3fb43b311
automatic imports WIP added
Thomas Junk <thomas.junk@intevation.de>
parents:
1363
diff
changeset
|
133 name: "importschedule", |
1671
89b38d7e7b6a
included bundleanalyzer buildstep
Thomas Junk <thomas.junk@intevation.de>
parents:
1610
diff
changeset
|
134 component: () => import("./components/importschedule/Importschedule.vue"), |
1429
f4b3fb43b311
automatic imports WIP added
Thomas Junk <thomas.junk@intevation.de>
parents:
1363
diff
changeset
|
135 meta: { |
f4b3fb43b311
automatic imports WIP added
Thomas Junk <thomas.junk@intevation.de>
parents:
1363
diff
changeset
|
136 requiresAuth: true |
f4b3fb43b311
automatic imports WIP added
Thomas Junk <thomas.junk@intevation.de>
parents:
1363
diff
changeset
|
137 }, |
f4b3fb43b311
automatic imports WIP added
Thomas Junk <thomas.junk@intevation.de>
parents:
1363
diff
changeset
|
138 beforeEnter: (to, from, next) => { |
f4b3fb43b311
automatic imports WIP added
Thomas Junk <thomas.junk@intevation.de>
parents:
1363
diff
changeset
|
139 const isWaterwayAdmin = store.getters["user/isWaterwayAdmin"]; |
1173 | 140 if (!isWaterwayAdmin) { |
1142
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
1122
diff
changeset
|
141 next("/"); |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
1122
diff
changeset
|
142 } else { |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
1122
diff
changeset
|
143 next(); |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
1122
diff
changeset
|
144 } |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
1122
diff
changeset
|
145 } |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
1122
diff
changeset
|
146 }, |
dc3f0277628a
feat: Importqueue listing (Proof of concept)
Thomas Junk <thomas.junk@intevation.de>
parents:
1122
diff
changeset
|
147 { |
6 | 148 path: "/", |
30 | 149 name: "mainview", |
2329
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
150 component: Main, |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
151 meta: { |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
152 requiresAuth: true |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
153 }, |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
154 beforeEnter: (to, from, next) => { |
2412 | 155 store.commit("application/searchQuery", ""); |
2329
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
156 store.commit("application/showContextBox", false); |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
157 store.commit("application/contextBoxContent", ""); |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
158 store.commit("application/showSearchbar", false); |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
159 next(); |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
160 } |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
161 }, |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
162 { |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
163 path: "/bottlenecks", |
2378
c69432c1c4ac
router: fixed frontend routing. renamed routes. changed display according to new route names
Thomas Junk <thomas.junk@intevation.de>
parents:
2329
diff
changeset
|
164 name: "bottlenecks", |
2329
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
165 component: Main, |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
166 meta: { |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
167 requiresAuth: true |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
168 }, |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
169 beforeEnter: (to, from, next) => { |
2412 | 170 store.commit("application/searchQuery", ""); |
2329
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
171 store.commit("application/showContextBox", true); |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
172 store.commit("application/contextBoxContent", "bottlenecks"); |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
173 store.commit("application/showSearchbar", true); |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
174 next(); |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
175 } |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
176 }, |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
177 { |
2399 | 178 path: "/imports/overview/:id?", |
179 name: "importoverview", | |
180 component: Main, | |
181 meta: { | |
182 requiresAuth: true | |
183 }, | |
184 beforeEnter: (to, from, next) => { | |
185 const isWaterwayAdmin = store.getters["user/isWaterwayAdmin"]; | |
186 if (!isWaterwayAdmin) { | |
187 next("/"); | |
188 } else { | |
189 store.commit("application/showContextBox", true); | |
190 store.commit("application/contextBoxContent", "importoverview"); | |
191 store.commit("application/showSearchbar", true); | |
192 next(); | |
193 } | |
194 } | |
195 }, | |
196 { | |
2329
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
197 path: "/stretches", |
2378
c69432c1c4ac
router: fixed frontend routing. renamed routes. changed display according to new route names
Thomas Junk <thomas.junk@intevation.de>
parents:
2329
diff
changeset
|
198 name: "stretches", |
2329
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
199 component: Main, |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
200 meta: { |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
201 requiresAuth: true |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
202 }, |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
203 beforeEnter: (to, from, next) => { |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
204 const isSysadmin = store.getters["user/isSysAdmin"]; |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
205 if (!isSysadmin) { |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
206 next("/"); |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
207 } else { |
2412 | 208 store.commit("application/searchQuery", ""); |
2329
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
209 store.commit("application/showContextBox", true); |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
210 store.commit("application/contextBoxContent", "stretches"); |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
211 store.commit("application/showSearchbar", true); |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
212 next(); |
514193fd0120
refac: improve routing structure. We now have /bottlenecks, /stretches, /review routes
Thomas Junk <thomas.junk@intevation.de>
parents:
2328
diff
changeset
|
213 } |
3 | 214 } |
215 }, | |
216 { | |
217 path: "*", | |
218 component: Login | |
219 } | |
220 ] | |
221 }); | |
222 | |
223 router.beforeEach((to, from, next) => { | |
165
4bf2173748f3
refactor: extracted the string to milisecondconversion
Thomas Junk <thomas.junk@intevation.de>
parents:
162
diff
changeset
|
224 const expiresFromPastSession = toMillisFromString( |
4bf2173748f3
refactor: extracted the string to milisecondconversion
Thomas Junk <thomas.junk@intevation.de>
parents:
162
diff
changeset
|
225 localStorage.getItem("expires") |
4bf2173748f3
refactor: extracted the string to milisecondconversion
Thomas Junk <thomas.junk@intevation.de>
parents:
162
diff
changeset
|
226 ); |
2328
c98491f9c466
router: cleanup auth code
Thomas Junk <thomas.junk@intevation.de>
parents:
2277
diff
changeset
|
227 if (sessionStillActive(expiresFromPastSession)) { |
c98491f9c466
router: cleanup auth code
Thomas Junk <thomas.junk@intevation.de>
parents:
2277
diff
changeset
|
228 store.commit("user/setUser", localStorage.getItem("user")); |
c98491f9c466
router: cleanup auth code
Thomas Junk <thomas.junk@intevation.de>
parents:
2277
diff
changeset
|
229 store.commit("user/setExpires", expiresFromPastSession); |
c98491f9c466
router: cleanup auth code
Thomas Junk <thomas.junk@intevation.de>
parents:
2277
diff
changeset
|
230 store.commit("user/setRoles", localStorage.getItem("roles")); |
c98491f9c466
router: cleanup auth code
Thomas Junk <thomas.junk@intevation.de>
parents:
2277
diff
changeset
|
231 store.commit("user/setIsAuthenticate", true); |
c98491f9c466
router: cleanup auth code
Thomas Junk <thomas.junk@intevation.de>
parents:
2277
diff
changeset
|
232 } else { |
c98491f9c466
router: cleanup auth code
Thomas Junk <thomas.junk@intevation.de>
parents:
2277
diff
changeset
|
233 store.commit("reset"); |
c98491f9c466
router: cleanup auth code
Thomas Junk <thomas.junk@intevation.de>
parents:
2277
diff
changeset
|
234 store.commit("user/clearAuth"); |
c98491f9c466
router: cleanup auth code
Thomas Junk <thomas.junk@intevation.de>
parents:
2277
diff
changeset
|
235 } |
c98491f9c466
router: cleanup auth code
Thomas Junk <thomas.junk@intevation.de>
parents:
2277
diff
changeset
|
236 const requiresAuth = to.matched.some(record => record.meta.requiresAuth); |
c98491f9c466
router: cleanup auth code
Thomas Junk <thomas.junk@intevation.de>
parents:
2277
diff
changeset
|
237 const loggedIn = store.state.user.isAuthenticated; |
162
9908260d1e6a
Refactor: Login expiry refactored to lib
Thomas Junk <thomas.junk@intevation.de>
parents:
160
diff
changeset
|
238 const authRequired = |
9908260d1e6a
Refactor: Login expiry refactored to lib
Thomas Junk <thomas.junk@intevation.de>
parents:
160
diff
changeset
|
239 requiresAuth && !(loggedIn || sessionStillActive(expiresFromPastSession)); |
9908260d1e6a
Refactor: Login expiry refactored to lib
Thomas Junk <thomas.junk@intevation.de>
parents:
160
diff
changeset
|
240 if (authRequired) { |
6 | 241 next("/login"); |
162
9908260d1e6a
Refactor: Login expiry refactored to lib
Thomas Junk <thomas.junk@intevation.de>
parents:
160
diff
changeset
|
242 } else if (!authRequired) { |
3 | 243 next(); |
244 } else { | |
245 next(); | |
246 } | |
247 }); | |
248 | |
249 export default router; |