diff options
| author | rr- <rr-@sakuya.pl> | 2017-01-20 21:51:04 +0100 |
|---|---|---|
| committer | rr- <rr-@sakuya.pl> | 2017-01-21 00:13:35 +0100 |
| commit | 1acceb941d84775cdeb0019bdfbdd63e9e125982 (patch) | |
| tree | be63eb2e886763f822af765a0d4214645fec55f8 /client/js/controllers/user_controller.js | |
| parent | 6714f05b49f314fe27e977b5555cb6c6cd6b1e17 (diff) | |
client: refactor linking and routing
Print all links through new uri.js component
Refactor the router to use more predictable parsing
Fix linking to entities with weird names (that contain slashes, + etc.)
Diffstat (limited to 'client/js/controllers/user_controller.js')
| -rw-r--r-- | client/js/controllers/user_controller.js | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/client/js/controllers/user_controller.js b/client/js/controllers/user_controller.js index e9c1fb3..46020f3 100644 --- a/client/js/controllers/user_controller.js +++ b/client/js/controllers/user_controller.js @@ -2,6 +2,7 @@ const router = require('../router.js'); const api = require('../api.js'); +const uri = require('../util/uri.js'); const misc = require('../util/misc.js'); const config = require('../config.js'); const views = require('../util/views.js'); @@ -77,7 +78,8 @@ class UserController { misc.disableExitConfirmation(); if (this._name !== e.detail.user.name) { router.replace( - '/user/' + e.detail.user.name + '/' + section, null, false); + uri.formatClientLink('user', e.detail.user.name, section), + null, false); } } @@ -135,10 +137,10 @@ class UserController { api.logout(); } if (api.hasPrivilege('users:list')) { - const ctx = router.show('/users'); + const ctx = router.show(uri.formatClientLink('users')); ctx.controller.showSuccess('Account deleted.'); } else { - const ctx = router.show('/'); + const ctx = router.show(uri.formatClientLink()); ctx.controller.showSuccess('Account deleted.'); } }, error => { @@ -149,13 +151,13 @@ class UserController { } module.exports = router => { - router.enter('/user/:name', (ctx, next) => { + router.enter(['user', ':name'], (ctx, next) => { ctx.controller = new UserController(ctx, 'summary'); }); - router.enter('/user/:name/edit', (ctx, next) => { + router.enter(['user', ':name', 'edit'], (ctx, next) => { ctx.controller = new UserController(ctx, 'edit'); }); - router.enter('/user/:name/delete', (ctx, next) => { + router.enter(['user', ':name', 'delete'], (ctx, next) => { ctx.controller = new UserController(ctx, 'delete'); }); }; |