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...')
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()
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)
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]=''