def test_DelUser(self): userDB = UserDB() uid = userDB.add("jontest", "pass", "Jon Q. Testuser").id userDB.delete(uid) testUser = userDB.find_user_by_id(uid) self.assertTrue(testUser == None)
def list_users(): """ Renders the list users page """ page_num = int(request.args.get("page", 0)) per_page = mainApp.config["NUM_ENTRIES_PER_PAGE"][0] user_db = UserDB() role_db = RoleDB() if current_user.is_authenticated() and current_user.is_active(): is_admin = user_db.in_group(current_user, mainApp.config["ADMIN_GROUP"]) all_activities = set() for m in role_db.get_roles(current_user): acts = role_db.get_activities(m.role_id) for act in acts: if acts[act]: all_activities.add(act) can_edit_users = "edit_user" in all_activities if is_admin or "view_users" in all_activities: if request.method == "POST": if "new" in request.form: return redirect(url_for("admin_user.new_user")) elif "delete" in request.form: uids = request.form.getlist("select") for uid in uids: try: user_db.delete(int(uid)) flash(_('User with ID "{0}" deleted.'.format(uid))) except UserNotFound: flash(_('"{0}" user id not found!'.format(uid)), "error") elif "update" in request.form: uids = {int(i): True for i in request.form.getlist("active")} if len(uids) > 0: users = user_db.get_all_users() for u in users: if u.id in uids: u.active = True else: u.active = False user_db.update_user(u) # import ipdb; ipdb.set_trace() users = user_db.get_all_users() total_pages = 0 if len(users) > per_page: total_pages = int(ceil(float(len(users)) / float(per_page))) return render_template( "list_users.html", users=users, state=get_state(), page_num=page_num, total_pages=total_pages, can_edit_users=can_edit_users, is_admin=is_admin, title=_("Users"), delete_button=_("Delete"), update_button=_("Update"), new_button=_("New User"), del_title=_("Delete User(s)"), cancel_button=_("Cancel"), del_warn=_("Deleting users is a permanent action. " "Are you sure?"), ) else: return _not_auth() else: return _not_auth()