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()
import sqlite3 import sys from noink.user_db import UserDB if len(sys.argv) != 3: print("usage:") print("{0} /path/to/sqlite.db outfile".format(sys.argv[0])) sys.exit(1) conn = sqlite3.connect(sys.argv[1]) c = conn.cursor() userdb = UserDB() users = userdb.get_all_users() def display_users(): print("ID\t:User") print("--\t:----") for u in users: print("{0}\t:{1}".format(u.id, u.name)) with open(sys.argv[2], 'w') as outfile: for row in c.execute("select * from users"): display_users() print("\nUser ID: {0}".format(row[0])) print("Username: {0}".format(row[1])) uid = input("Enter a user mapping or -1 for no map: ") print("--------------------") if uid >= 0: