@diosmosis opened this Pull Request on July 11th 2018 Member

Fixes #6187

Initial PR for revamping the users management page to better handle thousands of users & sites.

Code Changes

New API:

  • UsersManager. getUsersPlusRole gets user info plus role for specific site. paginated results.
  • UsersManager. getSitesAccessForUser gets access for sites for single user. paginated results.
  • UsersManager. setSiteAccessMatching set access for sites matching filters
  • UsersManager. deleteUsersMatching deletes users matching filters
  • allow UsersManager.deleteUser & UsersManager. setUserAccess to process multiple users at one time.
  • add ignoreExisting param to UsersManager. setUserAccess which will add access for a site, but ignore it if it's already been added (for adding site access in user permission edit).

AngularJS changes:

  • new directive for using materialize dropdowns in angularjs: piwik-dropdown-menu
  • allow <select> form fields to have placeholders & disabled options (disabled option has disabled: true property)
  • allow site selector form fields to display 'All Websites' option if desired

Outstanding Todo

  • [x] limit functionality based on type of user viewing page (admin vs superuser), plus related changes.
  • [x] UI tests
  • [x] internationalization
  • [x] make sure tests still pass
  • [x] merge w/ 3.x-dev & add capability to API output
  • [x] cross browser testing (at least IE10 + safari)
@mattab commented on August 2nd 2018 Member

@diosmosis Nicely executed! looking forward to hearing people's feedback. so many improvements packed in this PR :rocket: :rocket:

fyi: noticed some "fake" test failures in https://travis-ci.org/matomo-org/matomo/jobs/408768773 maybe you want to fix the build but I'll likely merge it for inclusion in the next beta 2 today

@mattab commented on August 6th 2018 Member

@diosmosis could you please make build green & merge this PR?

This Pull Request was closed on August 6th 2018
Powered by GitHub Issue Mirror