790 Commits (358ad7405447f048c3310b57ca852ac6faf07917)

Author SHA1 Message Date
Barış Soner Uşaklı 19c448612d feat: remove global RELATIVE_PATH 5 years ago
Barış Soner Uşaklı fddeb5c0f8 feat: remove app.isConnected, use socket.connected 5 years ago
Peter Jaszkowiak 64a457a441
fix(bug): #8611, custom route logic corrected (#8612) 5 years ago
Julian Lam c681b4b2e0 fix: ip-blacklist not working after #8580 5 years ago
Julian Lam dc5bd7601f fix: post-queue not working after #8580 5 years ago
Julian Lam 9cbe9389f5 fix: use promises in privilege save
... instead of jQuery Deferreds
5 years ago
Barış Soner Uşaklı 4216c277d5 feat: focus username when modal is shown 5 years ago
Julian Lam 2ee6248316 refactor: for codeclimate 5 years ago
Julian Lam a7071bb808 fix: map instead of forEach in privileges save 5 years ago
Julian Lam a716a5529c
feat: more discrete commit-on-save instead of commit-on-change w/ confirm modals (#8541)
* feat: privileges save button, #8537, WIP

* fix: disable firefox autocomplete on privilege form fields

* feat: closes #8537 privilege changes commit on save

- new language strings for confirmation and success modals/toasts
- indeterminate privilege handling (/cc @psychobunny)
- added new discard button
- both discard and save buttons now have confirmation dialogs

* fix(tests): remove duplicate template helper test

* fix(tests): broken template helper test

* feat: confirm dialogs for all privilege copy actions

Also, ability to add user to a privilege table without needing
to refresh the privilege table.

* feat: group row addition w/o table refresh

breaking: helpers.getUserPrivileges and helpers.getGroupPrivileges
no longer make socket calls to the following hooks:

- filter:privileges.list, filter:privileges.admin.list,
  filter:privileges.global.list, filter:privileges.groups.list,
  filter:privileges.admin.groups.list,
  filter:privileges.gloval.groups.list

The filters are still called, but done before the helper method
is called, and the results are passed in instead. This change
should only affect you if you directly call the helper methods,
otherwise the change is transparent.

* fix: stale ajaxify data on privilege category switch

* fix: implicit privileges not showing for user privs

* fix: groups, not group, also fix tests

* fix(tests): again

* fix: wrong tpl rendered when adding group to global priv table
5 years ago
Barış Soner Uşaklı e7a502e0aa feat: add ability to search groups in group details page 5 years ago
Barış Soner Uşaklı 9e80a9efdd fix: #8534, dont show modal on search 5 years ago
Barış Soner Uşaklı fb7bb8d400 feat: use category selector in category page
fix privilege shortcuts in group page after search
5 years ago
Barış Soner Uşaklı 91411cc47c feat: add privileges shortcut to groups list
fix issues with escape group names
5 years ago
Barış Soner Uşaklı bbc7737e14 feat: ability to clear cache from acp 5 years ago
Barış Soner Uşaklı 8d8117ffa1 feat: reduce amount of data loaded on acp admin page
get rid of socket call and use ajaxify.data.categories
5 years ago
Julian Lam 8473e165a6 fix: too small sortable handle for ACP>Manage>Categories
The handle was initially just the icon, but now it is the icon
and the category label itself.
5 years ago
Barış Soner Uşaklı 24535a62e7 feat: make category tools in acp a dropdown
add view category, view privileges into dropdown
5 years ago
psychobunny bc26883aed refactor: setting codeclimate to A 5 years ago
psychobunny a6ae69737b Merge branch 'master' of https://github.com/NodeBB/NodeBB 5 years ago
psychobunny 10e4ae629c feat: highlight privs row if group is added / navigating from group page 5 years ago
psychobunny 53f6139b8c feat: prevent navigation away from groups page if changes are unsaved 5 years ago
psychobunny 2c83278f97 feat: quick access dropdown on groups page to access privileges page 5 years ago
Barış Soner Uşaklı 844f2b4ed0 feat: #8524, allow editing category of queued topic 5 years ago
Barış Soner Uşaklı 2485a55092 feat: #8521, allow editing title before posting from queue 5 years ago
Barış Soner Uşaklı 1e7397b1b8 feat: allow searching categories in ACP 5 years ago
Barış Soner Uşaklı 00d39fb32c feat: #8460, export groups members as csv 5 years ago
Barış Soner Uşaklı 3dcf538773 feat: #8023, allow wildcard search for uid/email 5 years ago
Barış Soner Uşaklı 4adbf87c6c feat: warn user if whitelisted tags are less than minTags 5 years ago
Julian Lam f3441fce4f fix: admin privileges client-side regression 5 years ago
Barış Soner Uşaklı 2355d9d5dd fix: escape navigation item fields, theme:id, category fields 5 years ago
Barış Soner Uşaklı ed4b5caf2c fix: copy settings showing empty category selection 5 years ago
Julian Lam 2515aa77ba fix: bug where category privs page thought it was on admin 5 years ago
Barış Soner Uşaklı 8591f5d2cc fix: return false 5 years ago
Julian Lam 67aca822e6 feat: account content deletion, closes #8381 5 years ago
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 afdb235f48eb0072d88de45f3a1e0151281095b3.

* 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
5 years ago
Barış Soner Uşaklı 30cc83c033 fix: #8374, revert event delete 5 years ago
Julian Lam 922d49be0b fix(style): switch..case 5 years ago
Julian Lam a51fff8bd1
refactor: remove general menu from ACP (#8347)
* refactor: remove general menu from ACP

* fix: incorrect translation keys, fixed tests
5 years ago
Barış Soner Uşaklı 5781a2dc65
feat: fix session mismatch errors by clearing cookie on logout (#8338)
* feat: fix session mismatch errors by clearing cookie on logout

* feat: remove app.upateHeader

ported from 2.0

* feat: handle if user doesn't click button and just refreshes page
5 years ago
Opliko 4855f1deca
fix:#8274 Don't escape HTML in manage users (#8275)
Perhaps the HTML for managing groups should ba actually rendered as HTML to serve its function. fixes #8274
5 years ago
Julian Lam 1b425ef108 fix: no focus on find user modal 5 years ago
Julian Lam bcbf98aa4c fix: accidental fp precision on flag and acp dash graphs 5 years ago
Barış Soner Uşaklı 080317300a fix: #8221, fix parent selection 5 years ago
Barış Soner Uşaklı 2f9c7c626f fix: #8203, fix user invites refreshing page 5 years ago
Barış Soner Uşaklı bc93b5676c fix: #8175 5 years ago
Julian Lam 14655f8745 fix: no decimal places for category analytics 5 years ago
yossizahn 09d55581d8 Fix: ACP > manage > group: save disableLeave (#8123)
* Fix: ACP > manage > group: save disableLeave

* Fix eslint comma-dangle
5 years ago
Opliko 879acc85ae Add disable/enable category to category edit page (#8118) 5 years ago
Barış Soner Uşaklı 5a8217de01 fix: #8105, fix export json on page load 5 years ago
Barış Soner Uşaklı c1b1ee61f3 fix: create user modal instantly closing 5 years ago
Barış Soner Uşaklı 05c9fe2735 feat: #5272, allow changing user groups from manage users page 5 years ago
Baris Usakli c2cd7de891 fix: #8069, dont show hidden groups in search 5 years ago
Julian Lam 645d647248
feat: wip, better digest handling (+ eventual digest resend logic) (#7995)
* feat: wip, better digest handling (+ eventual digest resend logic)

- await emailer.send call in digest.send method
- save send success to a new sorted set digest:{interval}:byUid

* feat: continuing work on digest tools

- Added ACP page to view digest settings and delivery times per user

* feat: added paginator and stub buttons for resending digest

* feat: wrapping up digest revamp

- New language strings in ACP digest page
- Client-side ACP script for digest ACP page
- Websocket call for ACP page to execute digests
- Broke out logic to retrieve user digest settings to getUsersInterval

* fix: minor cleanup

* fix: #8010 and some style suggestions from baris

* fix: resolve confusing comment
5 years ago
Baris Usakli 554e67116f feat: remove ability to delete events from acp 5 years ago
Baris Usakli 5b458fc7ca fix: #7953, allow icon only group badges 5 years ago
Barış Soner Uşaklı c5f7b66c3a fix: new nav items will show group select 5 years ago
Barış Soner Uşaklı b19f0a686c fix: 404 on new groups with spaces 5 years ago
Barış Soner Uşaklı 2444ed5c88 feat: #7932, redirect to group details after creation
add private/hidden on group creation modal
5 years ago
Barış Soner Uşaklı 1789ecb45c feat: increase search timeouts 6 years ago
Barış Soner Uşaklı 6f375482a0 refactor: async/await admin/controllers 6 years ago
Julian Lam a0c0ef1ba4
feat: ACP analytics API route (#7725)
* feat: added API route for retrieving analytics via REST API

* feat: sets is now optional, can pass in multiple sets

* fix: moved expand and added json button to panel header

* fix: matching api params to socket method

* fix: update json api button url on graph change

* fix: updated default counts based on passed in units
6 years ago
Barış Soner Uşaklı 5fa5e999f8
Plugin metrics (#7626)
* feat: add enable/disable checkbox for plugin usage

* feat: submit plugin data to packages.nodebb.org

only submit in production mode
submit once every 24 hours
dont submit for plugins that have "private": true in plugin.json
enabled on new installs
disabled on existing installs

* fix: hash not working after first send

fix statusCode

* fix: remove url

* feat: show compatibilty

* feat: add install question for submit plugin usage
6 years ago
Julian Lam c7f95ccecc
feat: design revamp of ACP events page (#7664)
* feat: design revamp of ACP events page

- minor UX changes
- new filter controls, filters moved to sidebar
- form usable without js
- start/end filters NOT programmed yet

* feat: events ACP limit by date and perPage

* feat: pre-fill applied filters on template render

* fix: missing translation for ACP events perPage filter

* fix: added some comments to explain setHours behaviour

* fix: stop - start + 1

* fix: socket tests

* fix: +inf, not just inf

* fix: tests, because I am an idiot
6 years ago
Barış Soner Uşaklı 035f624758
Remove implicit mod privs. closes #6345 (#7648)
* feat: add upgrade script to give mods privs

* feat: give all privileges when making a moderator

* feat: remove implicit privs

* feat: give global mods default privs

* feat: more priv fixes

* feat: use lodash

* fix: remove implicit mod priv from topic delete

* fix: more privs

* fix: posts.canEdit

* fix: canDelete and canEdit

* fix: tests, remove console.log

* feat: shorter functions

* feat: add tests

* fix: uids

* fix: redis random test fail
6 years ago
Barış Soner Uşaklı dfab231afd
Copy group privs (#7610)
* feat: ability to copy a groups privileges

ability to copy a group's privileges to all categories, or children of current category

* feat: switch to dropdown

added copy from category to groups

* fix: indents
6 years ago
Julian Lam c38db4f765 feat: #7515
This reverts commit 81f8cfe3da.
6 years ago
Barış Soner Uşaklı 81f8cfe3da Revert "feat: #7515"
This reverts commit ac889db16b.
6 years ago
Barış Soner Uşaklı ac889db16b feat: #7515 6 years ago
Barış Soner Uşaklı 2ee2cd528f feat: #7501 6 years ago
Barış Soner Uşaklı 1f3554ff00 fix: #7503 6 years ago
Andrew Rodrigues 24dcae2193 feat: manual password expiry. closes #7471 6 years ago
Julian Lam c289b904e6 fix: #7473 6 years ago
Andrew Rodrigues dcdd41c7ce fix: #7454 6 years ago
Baris Usakli 7211dde7b9 feat: #7358 6 years ago
Barış Soner Uşaklı d5ece9a4c3 fix: don't refresh page when enabling/disabling categories 6 years ago
Julian Lam e8f3c25676 fix: re-introducing indeterminate checkbox state to ACP privs 6 years ago
Julian Lam 0fffcb3855 fix: #7231, missing success alert on group name change in ACP 6 years ago
Barış Soner Uşaklı 5353960ae7 fix: #7316 6 years ago
Barış Soner Uşaklı ac655564bb fix: post queue notifs
fix moderators not showing up immediately when adding them
6 years ago
Barış Soner Uşaklı 28459d04c6 fix: #7187 6 years ago
Baris Usakli b47f939bfc fix: lint 6 years ago
Baris Usakli 0c1ac4d6a2 feat: #7032 6 years ago
Barış Soner Uşaklı f581c052ee feat: #7023
- add category selector to privileges and category create modals
- allow category selector to work for multiple selectors on same page
6 years ago
Peter Jaszkowiak ba619c7ec8 style(eslint): match operator-linebreak preferences 6 years ago
Barış Soner Uşaklı 33986f38e3 closes #6954 6 years ago
Barış Soner Uşaklı de14102ee7 Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı d9452bf3d4 fix: custom navigation item not showing groups 6 years ago
Julian Lam b3f96d28aa fix(acp): hard-to-discover dropdown selector in ACP
Made the dropdown an MDL button fab with better positioning via
a p.lead so that it is more easily discoverable and obvious that
it is a button that can be pressed.

Fixes #6899
6 years ago
Barış Soner Uşaklı b6771836cf closes #6937 6 years ago
Julian Lam f7bd398eb1 style(eslint): newlines in public/src as well 6 years ago
renovate[bot] 64b9dabff8 chore(deps): update dependency eslint-config-airbnb-base to v13 (#6599)
* chore(deps): update dependency eslint-config-airbnb-base to v13

* chore: #6599, linting 😬
6 years ago
Baris Usakli 3c611d85ed closes #6912
- on category setParent dialog do not show children of current category
- break recursion if category parentCid is equal to child cid to prevent
infinite loop
- dont allow setting the parentCid of a category to one of it's children
6 years ago
Barış Soner Uşaklı 56c1eac1a5 fix translations on dashboard 6 years ago
Barış Soner Uşaklı 69253d9a7f use chart.js legend 6 years ago
Barış Soner Uşaklı 8abef4c101 bg colors 6 years ago
Barış Soner Uşaklı b916dc562f fix bg colors 6 years ago
Barış Soner Uşaklı 804451cc37 update axis ids 6 years ago
Barış Soner Uşaklı c2191167ee fail colors 6 years ago
Barış Soner Uşaklı 5b842c98ac fix typo 6 years ago
Barış Soner Uşaklı 9f36ce3997 #6862 6 years ago
Barış Soner Uşaklı 11c2a65b5a fix config values not showing client side if they were set to 0 6 years ago
Barış Soner Uşaklı 49ba5af5fa
closes #6810 (#6813) 6 years ago
Barış Soner Uşaklı ebaea9b6c1 closes #6743 7 years ago
Andrew Rodrigues 12940b577b closes #6703 7 years ago
Julian Lam ea2bd33bfa fixes #6608, restored template values in widget containers 7 years ago
Timothy Fike e8a3c23d42 Fix verion regex Fixes #6620 (#6625) 7 years ago
Barış Soner Uşaklı 57b7c7ede4 closes #6607 7 years ago
Barış Soner Uşaklı d5e85c2eb3 closes #6476, closes #6546 7 years ago
Barış Soner Uşaklı 11bb2f1560 closes #6528 7 years ago
Andrew Rodrigues 1c09094011 show success alert + rebuild msg when ordering plugins 7 years ago
Barış Soner Uşaklı 4cd0020584 closes #6449 7 years ago
Andrew Rodrigues de9f429b89 prepopulate traffic graph datepicker to make life easier 7 years ago
Andrew Rodrigues 67c8d4b560 maximize graph w/ fullscreen API 7 years ago
Peter Jaszkowiak 968d5e441f Fix rebuild ACP alert not working sometimes (#6403) 7 years ago
Timothy Fike 585d613d4b fix reload actions (#6394)
* fix reload actions

* wait until restart action is complete instead of using timeouts.

* Change Reload nominclature to Rebuild and Restart.
7 years ago
Peter Jaszkowiak dcf1865b54 Fix ACP alerts to use same system as client (#6396)
* Fix PostCSS warning message

* Fix disconnect indicator styling

Would increase size of quick actions when active

* Use same alert system in ACP and client

- Remove snackbar
- Add styling and fix template for ACP (based on Persona)
7 years ago
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
7 years ago
Julian Lam 3cbca69b27 closes #6346 7 years ago
Barış Soner Uşaklı 264893a71b closes #6336 7 years ago
Barış Soner Uşaklı 825c493c40 show error 7 years ago
Barış Soner Uşaklı a224c557c0 closes #6326 7 years ago
Barış Soner Uşaklı a9f6726b3d closes #6296 7 years ago
psychobunny 29be18ae5b closes #6268 7 years ago
Barış Soner Uşaklı 8689ffe78f closes #6291 7 years ago
Barış Soner Uşaklı c7506d77b0 closes #6247 7 years ago
Julian Lam 73d3157635 Remove keybindings in ACP as nobody uses them anymore.
If you do, let me know, heh.
7 years ago
Barış Soner Uşaklı f3fda152bf closes #6216 7 years ago
Barış Soner Uşaklı 81d4766c1a closes #6236 7 years ago
Barış Soner Uşaklı 0d2a7359e9 remove step size 7 years ago
Barış Soner Uşaklı ed3e8d282e closes #6193 7 years ago
Barış Soner Uşaklı 8446a733e5 closes #5569 7 years ago
Baris Usakli 025709499c more fixes 7 years ago
Baris Usakli 242dc41aca move privileges to same page 7 years ago
Baris Usakli 4a73621dca chat privilege 7 years ago
Barış Soner Uşaklı 19ae8dc7e7 closes #6154 7 years ago
Julian Lam c8395a9bfb Fixes #6056
Waiting for someone to qq my clever code in 3... 2...
7 years ago
Julian Lam 7e0d0e0eb5 Merge remote-tracking branch 'origin/develop' 7 years ago
Barış Soner Uşaklı 008f757a9b closes #6030 7 years ago
Barış Soner Uşaklı 25cd21fba8 closes #6019 7 years ago
Baris Usakli c4310395c9 Merge remote-tracking branch 'refs/remotes/origin/master' into develop
# Conflicts:
#	package.json
7 years ago
Barış Soner Uşaklı d8dc79e3c7 closes #5992 7 years ago
Julian Lam 0efa403a68 invoking the proper ACE Editor mode 7 years ago
Julian Lam cd6dcff38b Split up customJS into customHTML and customJS for better organisation (#5981)
* WIP

* fixed customJS not actually working in footer

* Moving scripts to footer, #5980

* Added upgrade scripts for #5980
7 years ago
Peter Jaszkowiak da9da8190f Bump dependencies
Bumping eslint & configs meant making some linting fixes

For future reference, the `xmlhttprequest-ssl` library must be of equal versioning to the one in `engine.io-client`, otherwise it won't be deduped which causes the socket.io tests to fail
8 years ago
Baris Usakli 8276e20254 closes #5937 8 years ago
Baris Usakli a2508161c6 fix hover bg color 8 years ago
Baris Usakli bf79857b7d closes #5908 8 years ago
Julian Lam 1034626896 Merge remote-tracking branch 'origin/develop' 8 years ago
Peter Jaszkowiak 23e7222dfa Update Nodemailer to v4
also filter out .jst files from email template dropdowns
8 years ago