コード例 #1
0
 def test_save_user(self):
     
     # create user
     UserManager(self.env).create_user(User(username='******', name="Catalin Balan", email='*****@*****.**'))
     
     # get user
     user = UserManager(self.env).get_user('cbalan')
     user['bio']="Some bio..."
     user.save()
     
     user_reloaded = UserManager(self.env).get_user('cbalan')
     # test
     self.assertEqual(user_reloaded['name'], 'Catalin Balan')
     self.assertEqual(user_reloaded['email'], '*****@*****.**')
     self.assertEqual(user_reloaded['bio'], 'Some bio...')
コード例 #2
0
ファイル: crowd_store.py プロジェクト: spscream/old_code
 def fill_user_details(self, username):
     """ Retrieves the user details from crowd
     and fills in session_attribute table
     """
     user = UserManager(self.env).get_user(username)
     if not user['email'] or not user['name']:
         details = self.crowd.user_details(username)
         for detail in details:
             if detail.name == 'mail':
                 user['email'] = detail.values[0]
                 self.env.log.info(detail.values)
             if detail.name == 'sn':
                 user['name'] = detail.values[0]
             if detail.name == 'givenName':
                 user['name'] += " " + detail.values[0]
         user.save()
コード例 #3
0
 def test_delete_attribute(self):
     # create users
     UserManager(self.env).create_user(User(username='******', name="Catalin Balan", email='*****@*****.**', company='opt'))
     UserManager(self.env).create_user(User(username='******', name="Andrei Culapov", email='*****@*****.**', company='ros'))
     UserManager(self.env).create_user(User(username='******', name="Andrei Culapov", email='*****@*****.**', company='ros'))
     
     # test before
     db = self.env.get_db_cnx()
     cursor = db.cursor()
     
     cursor.execute("SELECT name, value "
                     "FROM session_attribute "
                     "WHERE sid='cbalan' "
                     "ORDER BY name")
     result = {}
     for name, value in cursor:
         result[name]=value
     self.assertEqual(len(result),4)
     
     # delete attribute
     user=UserManager(self.env).get_user('cbalan')
     del user['name']
     del user['email']
     user.save()
     
     # test after
     db = self.env.get_db_cnx()
     cursor = db.cursor()
     
     cursor.execute("SELECT name, value "
                     "FROM session_attribute "
                     "WHERE sid='cbalan' "
                     "ORDER BY name")
     result = {}
     for name, value in cursor:
         result[name]=value
     self.assertEqual(len(result),2)
コード例 #4
0
 def render_preference_panel(self, req, panel):
     """"""
     user = UserManager(self.env).get_user(req.session.sid)
     data = dict(messages=[], errors=[],
             user=user,
             um_profile_fields=UserProfileManager(self.env).get_user_profile_fields(ignore_internal=True))
     
     if req.method=="POST":
         if req.args.has_key("um_profile_picture_remove"):
             if UserProfileManager(self.env).remove_user_file(user["picture_href"]):
                 del user["picture_href"]
                 if user.save():
                     data['messages'].append(_("Successfully removed %s's picture.")%(user.username))
                     req.redirect(req.href.prefs('userprofile'))
                     return 
         
         for field in data['um_profile_fields'].keys():
             if req.args.has_key("um_profile_%s"%(field)):
                 if data['um_profile_fields'][field]['type']=='file':
                     user_file_new = UserProfileManager(self.env).get_uploaded_file_href(req, user, field, "um_profile_%s"%(field))
                     user_file_old = user[field]
                     if user_file_new!=user_file_old:
                         user[field] = user_file_new
                         if user_file_old:
                             try:
                                 UserProfileManager(self.env).remove_user_file(user_file_old)
                             except Exception, e:
                                 self.log.error(e)
                                 data['errors'].append(_("Unable to remove previous %s=[%s]")%(field, user_file_old))
                 elif data['um_profile_fields'][field]['type']=='multichecks':
                     user[field] = '|'.join(req.args.getlist("um_profile_%s"%(field)))
                 else:
                     user[field] = req.args.get("um_profile_%s"%(field))
             elif data['um_profile_fields'][field]['type']=='multichecks':
                 # cleanup if none selected
                 user[field]=''