In some downtime a couple of weeks ago, I created a very simple user management plugin (for my own use, mostly as a proof-of-concept to test how far we were from an API point-of-view).
** It's Important to note that this is an incomplete test plugin. Have a play around with it by all means, but please do not use it in production. **
Features
- Feature only accessible to users with super admin rights
- Main list view:
- Read-only mode (gives a list of system users - no editing)
- Edit mode (adds 'edit' icons) for various attributes:
- Password (directly in a Notify popup)
- Tenant
- Role
- Reset
failedLoginCount
to 0 - Can disable users (sets
_isDeleted: true
) - Can delete users (completely remove from DB)
- Add user view (for adding new users.....)
Functionality notes
- It's possible in this prototype to change a user's password directly (rather than using a password reset email) -- this should be replaced in production.
- There's currently no mechanism in place to check if the user attempting to log in is already active in the system.
Implementation notes
- Everything's self-contained in the plugin folder, with the exception of a few hacks to usermanager.
- Uses Backbone.Model.save function to persist any changes to the DB (with a couple of exceptions: changing role and password)
- Users are only able to have one role at a time in my implementation -- their existing role is removed each time
- No language string support yet (i.e. not translatable)
You can see the code in my fork of the AT on GitHub.
If you have any questions about this prototype, please contact me directly - please don't hassle the open-source team with questions about my poor code(!). Otherwise, there's a room on Gitter dedicated to user management more generally. Head there if it's a feature you're interested in -- the open-source team would be keen to hear exactly what you want from the feature, and are always looking for extra hands to help out!