Esempio n. 1
0
def login():
    form = LoginForm(request.form)
    # Handle logging in
    if request.method == 'POST':
        if form.validate_on_submit():
            login_user(form.user)
            flash("You are logged in.", 'success')
            if form.user.is_admin():
                redirect_url = request.args.get("next") or url_for(
                    "admin.admin_dashboard")
                return redirect(redirect_url)
            else:
                if request.args.get("next"):
                    return redirect(request.args.get("next"))
                if form.user.first_department():
                    return redirect(
                        url_for("department.department_dashboard",
                                department_id=form.user.first_department().id))
                else:
                    flash(
                        "You are not registered in any department. Please contact support.",
                        'alert alert-danger')
                    return render_template("public/login.html",
                                           form=form,
                                           published=True)
        else:
            flash_errors(form)
    return render_template("public/login.html", form=form, published=True)
Esempio n. 2
0
def login():
    form = LoginForm(request.form)
    # Handle logging in
    if request.method == 'POST':
        if form.validate_on_submit():
            login_user(form.user)
            flash("You are logged in.", 'success')
            if form.user.is_admin():
                redirect_url = request.args.get("next") or url_for("admin.admin_dashboard")
                return redirect(redirect_url)
            else:
                if request.args.get("next"):
                    return redirect(request.args.get("next"))
                if form.user.first_department():
                    # direct the user to the first existing dataset page
                    redirect_path = form.user.first_department().get_first_dataset_path()
                    if redirect_path:
                        return redirect(url_for(redirect_path, short_name=form.user.first_department().short_name))
                    else:
                        flash("There are no datasets configured for this department.", 'alert alert-danger')
                        return redirect(url_for('public.home'))
                else:
                    flash("You are not registered in any department. Please contact support.", 'alert alert-danger')
                    return render_template("public/login.html", form=form, published=True)
        else:
            flash_errors(form)
    return render_template("public/login.html", form=form)
Esempio n. 3
0
def login():
    form = LoginForm(request.form)
    # Handle logging in
    if request.method == 'POST':
        if form.validate_on_submit():
            login_user(form.user)
            flash("You are logged in.", 'success')
            if form.user.is_admin():
                redirect_url = request.args.get("next") or url_for("admin.admin_dashboard")
                return redirect(redirect_url)
            else:
                if request.args.get("next"):
                    return redirect(request.args.get("next"))
                if form.user.first_department():
                    # direct the user to the first existing dataset page
                    redirect_path = form.user.first_department().get_first_dataset_path()
                    if redirect_path:
                        return redirect(url_for(redirect_path, short_name=form.user.first_department().short_name))
                    else:
                        flash("There are no datasets configured for this department.", 'alert alert-danger')
                        return redirect(url_for('public.home'))
                else:
                    flash("You are not registered in any department. Please contact support.", 'alert alert-danger')
                    return render_template("public/login.html", form=form, published=True)
        else:
            flash_errors(form)
    return render_template("public/login.html", form=form)
Esempio n. 4
0
def add_department():
    form = NewDepartmentForm(request.form)
    if request.method == 'POST':
        if form.validate_on_submit():
            Department.create(name=form.department_name.data)
            flash('Department %s created.' % form.department_name.data, 'info')
            return redirect(url_for('admin.admin_dashboard'))
        else:
            flash_errors(form)
    return render_template("admin/newDepartment.html", form=form)
Esempio n. 5
0
def new_invite_code():
    form = NewInviteForm(request.form)
    form.department_id.choices =  [(d.id, d.name) for d in Department.query.order_by('name')]
    if request.method == 'POST':
        if form.validate_on_submit():
            invite = Invite_Code.create(department_id=form.department_id.data, code=str(uuid.uuid4()), used=False)
            flash('Invite Code for {0}: {1} created.'.format(invite.department.name, invite.code), 'info')
            return redirect(url_for('admin.view_active_invites'))
        else:
            flash_errors(form)
    return render_template("admin/newInvite.html", form=form)
Esempio n. 6
0
def add_department():
    form = NewDepartmentForm(request.form)
    if request.method == 'POST':
        if form.validate_on_submit():
            Department.create(name=form.department_name.data,
                              short_name=form.department_short_name.data)
            flash('Department %s created.' % form.department_name.data, 'info')
            return redirect(url_for('admin.admin_dashboard'))
        else:
            flash_errors(form)
    return render_template("admin/newDepartment.html", form=form)
Esempio n. 7
0
def new_invite_code():
    form = NewInviteForm(request.form)
    form.department_id.choices = [(d.id, d.name)
                                  for d in Department.query.order_by('name')]
    if request.method == 'POST':
        if form.validate_on_submit():
            invite = Invite_Code.create(department_id=form.department_id.data,
                                        code=str(uuid.uuid4()),
                                        used=False)
            flash(
                'Invite Code for {0}: {1} created.'.format(
                    invite.department.name, invite.code), 'info')
            return redirect(url_for('admin.admin_dashboard'))
        else:
            flash_errors(form)
    return render_template("admin/newInvite.html", form=form)
Esempio n. 8
0
def home():
    form = InterestForm(request.form, csrf_enabled=False)
    if request.method == 'POST':
        if form.validate_on_submit():
            Interested.create(
                name=form.name.data,
                agency=form.agency.data,
                location=form.location.data,
                phone=form.phone.data,
                email=form.email.data,
                comments=form.comments.data)
            flash("Thank you. We will be in contact shortly.", 'success')
            return redirect(url_for('public.home'))
        else:
            flash_errors(form)
    return render_template("public/interest_form.html", interest_form=form)
Esempio n. 9
0
def password_reset(password_reset_uuid):

    user = User.query.filter_by(password_reset_uuid=password_reset_uuid).first()

    if not user:
        abort(404)

    form = PasswordResetForm(request.form, csrf_enabled=False)
    if form.validate_on_submit():
        user.password_reset_uuid = None
        user.set_password(form.password.data)
        user.save()
        flash("Thank you for resetting your password. You can now log in.", 'success')
        return redirect(url_for('public.login'))
    else:
        flash_errors(form)

    return render_template('public/passwordReset.html', form=form)
Esempio n. 10
0
def password_reset(password_reset_uuid):

    user = User.query.filter_by(password_reset_uuid=password_reset_uuid).first()

    if not user:
        abort(404)

    form = PasswordResetForm(request.form, csrf_enabled=False)
    if form.validate_on_submit():
        user.password_reset_uuid = None
        user.set_password(form.password.data)
        user.save()
        flash("Thank you for resetting your password. You can now log in.", 'success')
        return redirect(url_for('public.login'))
    else:
        flash_errors(form)

    return render_template('public/passwordReset.html', form=form)
Esempio n. 11
0
def home():
    form = LoginForm(request.form)
    # Handle logging in
    if request.method == "POST":
        if form.validate_on_submit():
            login_user(form.user)
            flash("You are logged in.", "success")
            if form.user.is_admin():
                redirect_url = request.args.get("next") or url_for("admin.admin_dashboard")
                return redirect(redirect_url)
            else:

                redirect_url = request.args.get("next") or url_for(
                    "department.department_dashboard", department_id=form.user.department_id
                )
                return redirect(redirect_url)
        else:
            flash_errors(form)
    return render_template("public/home.html", form=form)
Esempio n. 12
0
def register():
    form = RegisterForm(request.form, csrf_enabled=False)
    if form.validate_on_submit():
        invite_code = Invite_Code.query.filter_by(code=form.invite_code.data).first()
        invite_code.used = True
        invite_code.save()

        new_user = User.create(
            username=form.username.data,
            email=form.email.data,
            password=form.password.data,
            active=True,
            department_id=invite_code.department_id,
        )

        flash("Thank you for registering. You can now log in.", "success")
        return redirect(url_for("public.home"))
    else:
        flash_errors(form)
    return render_template("public/register.html", form=form)
Esempio n. 13
0
def home():
    form = InterestForm(request.form, csrf_enabled=False)
    if request.method == 'POST':
        if form.validate_on_submit():
            Interested.create(name=form.name.data,
                              agency=form.agency.data,
                              location=form.location.data,
                              phone=form.phone.data,
                              email=form.email.data,
                              comments=form.comments.data)
            # send a slack notification
            send_slack_message('New Interest Form Submission!', [
                form.name.data, form.agency.data, form.location.data,
                form.phone.data, form.email.data, form.comments.data
            ])
            flash("Thank you. We will be in contact shortly.", 'success')
            return redirect(url_for('public.home'))
        else:
            flash_errors(form)
    return render_template("public/interest_form.html", interest_form=form)
Esempio n. 14
0
def register():
    form = RegisterForm(request.form, csrf_enabled=False)
    if form.validate_on_submit():
        invite_code = Invite_Code.query.filter_by(
            code=form.invite_code.data).first()
        invite_code.used = True
        invite_code.save()

        new_user = User.create(username=form.username.data,
                               email=form.email.data,
                               password=form.password.data,
                               active=True)

        new_user.departments.append(
            Department.get_by_id(invite_code.department_id))

        flash("Thank you for registering. You can now log in.", 'success')
        return redirect(url_for('public.home'))
    else:
        flash_errors(form)
    return render_template('public/register.html', form=form)
Esempio n. 15
0
def login():
    form = LoginForm(request.form)
    # Handle logging in
    if request.method == 'POST':
        if form.validate_on_submit():
            login_user(form.user)
            flash("You are logged in.", 'success')
            if form.user.is_admin():
                redirect_url = request.args.get("next") or url_for("admin.admin_dashboard")
                return redirect(redirect_url)
            else:
                if request.args.get("next"):
                    return redirect(request.args.get("next"))
                if form.user.first_department():
                    return redirect(url_for("department.department_dashboard", department_id=form.user.first_department().id))
                else:
                    flash("You are not registered in any department. Please contact support.", 'alert alert-danger')
                    return render_template("public/login.html", form=form, published=True)
        else:
            flash_errors(form)
    return render_template("public/login.html", form=form, published=True)