wiki:UserManagerPlugin

Version 3 (modified by cbalan, 7 years ago) (diff)

--

UserManagerPlugin

I'll add the code any minute now! ... please contact me if you have some questions about it.

Description

Yet another user manager plugin that has the following features:

  • helps managing users(profiles, permissions, authentication[based on acct_mngr], and any other things based on this plugin's extension points )
  • provides filterable team rosters based on user profiles(+ custom fields)

The main goal of this plugin is to to have a simple, standard way for teams to manage who is on the team. Since trac.admin provides to many places to setup one user, this plugin tries to provide one single page where a project admin can setup all things related to one user.

Note: This plugin is the next step of TeamRosterPlugin. So, in order to use UserManagerPlugin, please disable TeamRosterPlugin, in case you have it enabled. UserManagerPlugin is compatable ~90% with data managed by TeamRosterPlugin, so switching from TeamRosterPlugin to UserManagerPlugin it's safe(no data loss).

Bugs/Feature Requests

Existing bugs and feature requests for UserManagerPlugin are here.

If you have any issues, create a new ticket.

Download

Download the zipped source from here.

Source

You can check out UserManagerPlugin from here using Subversion, or browse the source with Trac.

Example

from tracusermanager.api import UserManager, User

# Get user by id(username)
user = UserManager(env).get_user( "cbalan" )

# Get active users
team = UserManager(env).get_active_users()

# Search users ( Dummy example: All active developers that have an gmail account )
search_result_list = UserManager(env).search_users(User( role="developer", email="%gmail.com"))

# Create new user
UserManager(self.env).create_user(User(username="cbalan", name="Catalin Balan", email="cbalan@optaros.com"))

# Update
user = UserManager(self.env).get_user('cbalan')
user['bio']="""Maecenas ut mauris. Morbi congue nunc ut tortor. Pellentesque molestie cursus enim. 
Praesent gravida consequat mauris. Nulla cursus cursus magna. 
Sed libero. Integer dapibus urna in mauris. 

Fusce fringilla: 
 - Mauris ipsum mauris, semper at, lacinia ultrices, pellentesque eget, arcu. 
 - Etiam vel enim et nunc luctus gravida. Morbi suscipit scelerisque odio. 
 - Mauris porta. 

Nullam dui. Nullam egestas, massa eu condimentum mattis, enim ipsum tincidunt purus, 
vitae vestibulum sapien eros vitae libero.
"""
user.save()

# Remove
UserManager(env).remove_user(user)

Recent Changes

[13677] by rjollos on 2014-02-19 12:52:39
Fixed indentation and trimmed whitespace using reindent.py.
[12293] by rjollos on 2012-11-03 22:04:18
Refs #10586: Part of [12286]. Removed unused variable.
[12286] by rjollos on 2012-11-02 22:14:05

Refs #10586:

  • Columns can be sorted on the Users page.
    • Changes are Python 2.4 compatible by choosing and/or clauses in favor of if/else, but code can be refactored and made cleaner in a future revision when the 2.4 compatibility is dropped.
    • The implementation of the query module (primarily query.html, query_results.html, query.py) was used as a guide.
  • Bumped version to 0.5dev.
  • Added a changelog.

Author/Contributors

Author: cbalan
Contributors:

Attachments (6)

Download all attachments as: .zip