Changeset 3321

Show
Ignore:
Timestamp:
03/06/08 09:50:22 (9 months ago)
Author:
cbalan
Message:

Added users in Acct_mng.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • usermanagerplugin/0.11/tracusermanager/admin.py

    r3156 r3321  
    8989        # action handling 
    9090        if req.method=="POST" and panel is None: 
    91             if req.args.has_key("um_newuser_create")
    92                 try
     91            try
     92                if req.args.has_key("um_newuser_create")
    9393                    um_data['messages'].append( self._do_create_user(req) ) 
    94                 except Exception, e: 
    95                     um_data['errors'].append(e) 
    96             elif req.args.has_key("um_user_delete"): 
    97                 try: 
     94                elif req.args.has_key("um_user_delete"): 
    9895                    um_data['messages'].append( self._do_delete_user(req) ) 
    99                 except Exception, e: 
    100                     um_data['errors'].append(e) 
     96                elif req.args.has_key('um_import_current_users'): 
     97                    um_data['messages'].append( self._do_import_current_users(req) ) 
     98            except Exception, e: 
     99                um_data['errors'].append(e) 
    101100      
    102101        if username: 
     
    130129        data.update(user_manager = um_data) 
    131130         
     131        # checking for external users 
     132        trac_managed_users_out = self._do_import_current_users(req, dry_run=True) 
     133        if len(trac_managed_users_out)>0: 
     134            um_data['errors'].append(html.form(html.b(_("WARNING: ")),_(" [%s] users are not added to the team.")%(', '.join(trac_managed_users_out)),html.input(type="submit", name="um_import_current_users", value=_("Add Users")), action=req.href.admin('general/user_management'), method="post") ) 
     135 
    132136        try: 
    133137            from acct_mgr.api import AccountManager 
     
    174178        if UserManager(self.env).delete_user(req.args.get('um_deleteuser_username')): 
    175179            return _("Successfully removed user [%s].")%(req.args.get('um_deleteuser_username')) 
    176          
     180     
     181    def _do_import_current_users(self, req, dry_run = False): 
     182        """ """ 
     183        active_users = [user.username for user in UserManager(self.env).get_active_users()] 
     184 
     185        from acct_mgr.api import AccountManager 
     186        known_users = list( AccountManager(self.env).get_users() ) 
     187                 
     188        imported_users=[] 
     189        for username in known_users: 
     190            if not username in active_users: 
     191                imported_users.append(username) 
     192                if not dry_run: 
     193                    UserManager(self.env).create_user(User(username)) 
     194        if dry_run: 
     195            return imported_users 
     196            
     197        if len(imported_users)>0: 
     198            return _("Successfully imported the following users %s.")%(imported_users) 
     199        else: 
     200            return _("No users imported.") 
     201     
    177202    def _get_panels(self, req): 
    178203        """Return a list of available admin panels."""