Exemple #1
0
def toggle_user(id):
    editForm = forms.UserEditForm()
    if editForm.validate_on_submit():
        user = User.query.filter_by(id=id).first()
        if user.id == current_user.id:
            flash("Can't demote yourself!", "danger")
            return redirect(url_for("admin.users"))
        user.is_admin = not user.is_admin
        db.session.commit()
        flash("User status toggled!", "success")
    else:
        flash("Form couldn't validate!", "danger")

    return redirect(url_for("admin.users"))
Exemple #2
0
def users():
    users = User.query.all()
    inviteForm = forms.InviteUserForm()
    if inviteForm.validate_on_submit():
        invitation = UserInvitation.new_invite(inviteForm.email.data)
        msg = UserInvitation.deliver_invite(invitation)
        flash(msg, "success")
        db.session.commit()
        return redirect(url_for("admin.users"))
    return render_template(
        "admin/users.html",
        users=users,
        delForm=forms.UserDeleteForm(),
        editForm=forms.UserEditForm(),
        inviteForm=inviteForm,
    )
Exemple #3
0
def users():
	users = User.query.all()
	delForm = forms.UserDeleteForm()
	editForm = forms.UserEditForm()
	inviteForm = forms.InviteUserForm()
	if inviteForm.validate_on_submit():
		validemail = User.validate_email(inviteForm.email.data)
		if not validemail:
			flash("%s does not appear to be a valid, deliverable email address." % inviteForm.email.data, "danger")
			return redirect(request.referrer)
		newUser = User(email=validemail)
		db.session.add(newUser)
		db.session.commit()
		send_user_invite_email(newUser)
		flash('Invitation Sent!', 'success')
		return redirect(url_for('admin.users'))
	return render_template("admin/users.html", users=users, delForm=delForm, editForm=editForm, inviteForm=inviteForm)
Exemple #4
0
def toggleUser(id):
    editForm = forms.UserEditForm()
    if editForm.validate_on_submit():
        user = User.query.filter_by(id=id).first()
        if user.is_admin:
            admins = User.query.filter_by(is_admin=True).all()
            if len(admins) == 1:
                flash('Can\'t delete the last admin!', 'danger')
                return redirect(url_for('admin.users'))
            user.is_admin = False
            db.session.commit()
            flash('User demoted!', 'success')
            return redirect(url_for('admin.users'))
        else:
            user.is_admin = True
            db.session.commit()
            flash('User promoted!', 'success')
            return redirect(url_for('admin.users'))
    else:
        flash("Form couldn't validate!", 'danger')
        return redirect(url_for('admin.users'))