Example #1
0
def query_issues_filter_by(**filters):
    # Only show public issues to non-admins
    if not is_admin():
        filters['public'] = True

    clauses = [getattr(Issue, key) == value for (key, value) in filters.items()]
    return query_issues_filter(clauses)
Example #2
0
def view_issue(issue_id):
    """ Get all details of an issue """
    conditions = {'id': issue_id}
    if not is_admin():
        conditions['public'] = True
    (issue,last_read) = issues_read_query(**conditions).first()
    return jsonify(create_issue_read_dict(issue, last_read))
Example #3
0
def list_all_issues():
    """ Get a list containing all issues """
    conditions = {}
    # Only show public issues to non-admins
    if not is_admin():
        conditions['public'] = True
    result = issues_read_query(**conditions).all()
    return jsonify([create_issue_read_dict(issue, last_read) for (issue,last_read) in result])
Example #4
0
def list_comments(issue_id):
    """ Get a list containing all comments of an issue """
    conditions = {'id': issue_id}
    if not is_admin():
        conditions['public'] = True
    issue = Issue.query.filter_by(**conditions).first_or_404()
    comments = issue.comments.all()
    return jsonify([comment.to_dict() for comment in comments])
Example #5
0
def uncompleted_issues():
    conditions = {'completed': None}

    # Only show public issues to non-admins
    if not is_admin():
        conditions['public'] = True

    return Issue.query.filter_by(**conditions).all()
Example #6
0
def uncompleted_issues():
    conditions = {'completed': None}

    # Only show public issues to non-admins
    if not is_admin():
        conditions['public'] = True

    return query_issues_filter_by(**conditions).all()
Example #7
0
def list_archive():
    """ Get a list containing all completed issues """
    
    conditions = [Issue.completed != None]
    if not is_admin():
        conditions.append(Issue.public == True)
    result = query_issues_filter(conditions).all()
    return jsonify([create_issue_read_dict(issue, last_read) for (issue,last_read) in result])
Example #8
0
def page_attributes():
    attributes = []

    if is_logged_in():
        attributes.append(u'user-logged-in')
    else:
        attributes.append(u'user-not-logged-in')

    if is_admin():
        attributes.append(u'user-is-admin')
    else:
        attributes.append(u'user-is-not-admin')

    return attributes
Example #9
0
def page_attributes():
    attributes = []

    if is_logged_in():
        attributes.append(u'user-logged-in')
    else:
        attributes.append(u'user-not-logged-in')

    if is_admin():
        attributes.append(u'user-is-admin')
    else:
        attributes.append(u'user-is-not-admin')

    return attributes
Example #10
0
def change_password(user_id=None):
    form = ChangePasswordForm()
    if user_id is not None and not is_admin():
        return 'You are not authorised', 403
    if user_id is None:
        user_id = current_user.get_id()
    user = User.query.filter_by(id=user_id).first_or_404()
    if form.validate_on_submit():
        if current_user.check_password(form.current_password.data):
            user.set_password(form.new_password.data)
            db.session.commit()
            return redirect(url_for('view_frontend'))
        else: 
            form.current_password.errors.append('Wrong password')
    return render_template('user_change_password.html',
        form=form,
        user=current_user.to_dict() if is_logged_in() else None,
        user_id=user_id)
Example #11
0
def change_password(user_id=None):
    form = ChangePasswordForm()
    if user_id is not None and not is_admin():
        return 'You are not authorised', 403
    if user_id is None:
        user_id = current_user.get_id()
    user = User.query.filter_by(id=user_id).first_or_404()
    if form.validate_on_submit():
        if current_user.check_password(form.current_password.data):
            user.set_password(form.new_password.data)
            db.session.commit()
            return redirect(url_for('view_frontend'))
        else:
            form.current_password.errors.append('Wrong password')
    return render_template(
        'user_change_password.html',
        form=form,
        user=current_user.to_dict() if is_logged_in() else None,
        user_id=user_id)