Commit Graph

78 Commits

Author SHA1 Message Date
Peter Jaszkowiak
23f212a4c0 chore: eslint prefer-destructuring 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
dab3b23575 chore: eslint no-var, vars-on-top 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
b56d9e12b5 chore: eslint prefer-arrow-callback 2021-02-08 18:06:44 -05:00
Peter Jaszkowiak
707b55b6a5 chore: eslint prefer-template 2021-02-08 18:06:44 -05:00
Julian Lam
5f9f241e37 chore: remove deprecated filter:admin/header.build hook [breaking]
Use `filter:middleware.renderAdminHeader` instead.
2021-01-27 16:10:19 -05:00
Julian Lam
223f0a5515 feat(acp): admin tags privilege 2020-12-23 17:44:17 -05:00
Julian Lam
fb46a8d975 feat(acp): admins-mods privilege 2020-12-23 14:18:14 -05:00
Barış Soner Uşaklı
fcc1e24ad0 feat: rename admin middleware header hook 2020-12-23 10:47:51 -05:00
Julian Lam
da191341e8 feat(acp): added new admin privilege for groups management 2020-12-22 21:45:51 -05:00
Julian Lam
34ccabe3ab fix: bad assignment logic in middleware.renderHeader 2020-12-21 10:02:28 -05:00
Julian Lam
75b1bbd09f feat: explicitly add filter:admin/header.build hook
As it is not fired during middleware.processRender
2020-12-21 09:59:19 -05:00
Julian Lam
4c87f30184 feat: allow plugins to override ACP relogin challenge
- used in 2factor
2020-12-11 11:50:24 -05:00
Julian Lam
970ccb5a68 fix: #9063, missing handler for passwordless accounts in admin.checkPrivileges middleware 2020-12-05 09:50:49 -05:00
Julian Lam
6e2da9966e refactor: move plugin hook methods to plugin.hooks.* 2020-11-20 16:32:39 -05:00
Julian Lam
87bff6cd65 fix: broken test 2020-10-30 17:17:31 -04:00
Julian Lam
dda5d42610 fix: restore old behaviour of empty json w/ 401 code in admin middleware 2020-10-30 14:07:47 -04:00
Julian Lam
15e0731dd9 fix: deprecate middleware.isAdmin
Also, handle admin logout timer in middleware.admin.checkPrivileges
2020-10-30 12:30:58 -04:00
Julian Lam
4b0cb26b34 fix: empty "manage" menu showing in ACP
... if no privileges corresponding to those menu items
are given
2020-08-21 15:42:04 -04:00
Julian Lam
cf2f1e956a refactor: changed way middleware was exported 2020-08-21 15:29:40 -04:00
Julian Lam
f00595b32d fix: change how admin middlewares are exported 2020-08-21 15:11:54 -04:00
Julian Lam
ae68a254d7 fix: one less return, to appease codeclimate 2020-08-21 15:06:35 -04:00
Julian Lam
03bd76dea2 fix: inability to access /admin if not superadmin
There was an odd issue where non-superadmins could not use
the /admin route to access the ACP, even though they had
appropriate access. For whatever reason, it could not
be reliably reproduced on my dev. As it turns out, the
reason was because I was checking the wrong privilege,
and my dev database had this wrong privilege leftover
from the initial development of the ACP admin privileges
feature. Dumb.

Anyhow, that fixes this issue.
2020-08-21 15:00:51 -04:00
Barış Soner Uşaklı
a0da2ba774 feat: remove deprecated isAdmin method 2020-07-24 11:40:21 -04:00
Julian Lam
a82e9bd7f6 feat: privileges for Admin Control Panel (#8355)
* feat: acp privileges (WIP)

* fix: restore global privilege hooks

* refactor: using cid 0 in admin privs

* fix: no need for zebrastripe-reset

* feat: manage:categories privilege WIP

* feat: renamed prefix to admin:, settigns and dashboard privs

* fix: nofocus on acp privs group find modal

* refactor: privileges.x.get() to not used hardcoded privs

* fix: crash if unable to get latest version

* feat: setting acp priv

* Revert "fix: crash if unable to get latest version"

This reverts commit afdb235f48.

* feat: user/privilege acp privs

* fix: category selector in manage/privileges

* fix: guests potentially becoming admins

* fix: bug in setting admin privs

* fix: some last minute things + api docs

* fix: some more last minute fixes
2020-06-05 15:26:51 -04:00
Barış Soner Uşaklı
dcb85ee7a1 #8344 (#8346)
* feat: wip

* feat: wrap middlewares

* feat: middleware errors

* feat: more middleware changes

* fix: remove unused async

* fix: prevent version errors from blocking acp render

* feat: wrap more middlewares
2020-06-03 20:18:42 -04:00
Julian Lam
023942da7d refactor: making rendering of header and footer async functions
* refactor: make middleware.admin.renderHeader async

* refactor: making rendering of header and footer async functions

* fix: use app.renderAsync instead of promifying it
2020-06-03 19:07:08 -04:00
Barış Soner Uşaklı
4eaa630b1c refactor: async/await controllers/api 2019-08-18 19:06:51 -04:00
Barış Soner Uşaklı
f3a679e268 remove parseInts 2018-10-25 17:02:59 -04:00
Barış Soner Uşaklı
d5e85c2eb3 closes #6476, closes #6546 2018-06-02 15:54:32 -04:00
Peter Jaszkowiak
eaae5b52cd ACP quick actions (#6374)
* ACP quick actions

- Moved restart, build & restart, and logout into separate buttons
- Moved buttons on mobile into the side menu
- Added version and upgrade alert to header / mobile menu
- Moved version checking to server-side with a cache for rate limiting
- Changed "reload" translations to "rebuild and restart"

* Change info alert to black-on-white to match focused search bar

* Fix tests

* Fallback for failed fetch of latest version
2018-03-20 08:32:17 -04:00
Barış Soner Uşaklı
7b6282f530 closes #6308 2018-02-12 17:12:24 -05:00
Barış Soner Uşaklı
a11058bce2 closes #6004 2017-10-26 10:32:24 -04:00
Barış Soner Uşaklı
f57b5f4e4c refactor 2017-05-24 15:07:13 -04:00
Barış Soner Uşaklı
01e2263c01 more tests 2017-05-12 17:53:23 -04:00
Peter Jaszkowiak
c4bdb72941 ESlint no-unneeded-ternary
and no-extend-native, no-sequences
2017-02-18 12:59:46 -07:00
Peter Jaszkowiak
896c8c7343 ESlint object-curly-spacing 2017-02-18 12:30:49 -07:00
Peter Jaszkowiak
a038c66549 ESlint quotes 2017-02-18 01:56:23 -07:00
Peter Jaszkowiak
b1b486f729 ESlint quote-props 2017-02-18 01:19:20 -07:00
Peter Jaszkowiak
bc1d70c126 ESlint comma-dangle 2017-02-17 19:31:21 -07:00
Peter Jaszkowiak
05b68391dd Use /assets for client assets
- Route `/assets` -> `build/public`, falling back on `public`
- Moved destinations for `nodebb.min.js`, `acp.min.js`, `admin.css`, `stylesheet.css`, `templates`, and `sounds` to `build/public`
- r.js modules previously routed through express are now symlinked into `public/build/src/modules`
- minfiles no longer served from a memory cache
- use config `views_dir` setting everywhere template directory is used
- fix cache buster `v=v=`
2017-01-14 22:38:40 -07:00
HeeL
4a3c31b2dc Fix space-before-function-paren linter rule 2016-10-13 11:43:39 +02:00
barisusakli
98fff29869 closes #5082 2016-10-05 15:22:35 +03:00
barisusakli
8f408faf46 organize middlewares
removed app.locals.middleware
middlewares can be required anywhere, ie in controllers
2016-08-26 18:50:37 +03:00
Julian Lam
2e2c8b8e77 fixes #4584 2016-04-29 13:46:13 -04:00
psychobunny
9430a626f4 #3875 2016-01-18 15:22:18 -05:00
psychobunny
9bef54b5ed fix title for dashboard 2015-10-29 15:42:00 -04:00
psychobunny
07c50cba7d titles for ACP routes 2015-10-28 20:35:56 -04:00
barisusakli
75af978145 closes #3646 2015-09-22 17:13:12 -04:00
barisusakli
48512bff6b get rid of app.exposeConfigToTemplates 2015-08-27 19:22:51 -04:00
barisusakli
eaefd9d24c remove meta/title.js and meta.title.build #3481 2015-08-26 15:55:00 -04:00