Example #1
0
def user(page=1):
    users = User.query
    _username = request.args.get('username')
    _email = request.args.get('email')
    _usergroup = request.args.get('usergroup')

    if _username and len(_username) > 0:
        users = users.filter(User.username.ilike(likeable(_username)))
    if _email and len(_email) > 0:
        users = users.filter(User.email.ilike(likeable(_email)))
    if _usergroup and len(_usergroup) > 0:
        users = users.filter(User.group_id.is_(_usergroup))

    users = users.paginate(page, current_app.config['RESULTS_PER_PAGE'], False)
    usergroups = Usergroup.query.all()
    return render_template('admin/user.html', users=users, usergroups=usergroups, title="User administration")
Example #2
0
def result(page=1):
    _keyword = request.form.get('keyword')
    _authors = request.form.get('authors')
    _broad_cats = request.form.get('broad_cats')
    _narrow_cats = request.form.get('narrow_cats')
    _exclude_locked = request.form.get('exclude_locked')

    files = File.query

    if _keyword and len(_keyword) > 0:
        _likeword = likeable(_keyword)
        files = files.filter((File.name.ilike(_likeword)) | (File.description.ilike(_likeword)))
    if _authors and len(_authors) > 0:
        files = files.filter(File.author_id.in_(_authors))
    if _broad_cats and len(_broad_cats) > 0:
        files = files.filter(File.broad_category_id.in_(_broad_cats))
    if _narrow_cats and len(_narrow_cats) > 0:
        files = files.filter(File.narrow_category_id.in_(_narrow_cats))
    if _exclude_locked:
        files = files.filter(not File.is_locked)

    if len(files.all()) == 0:
        flash('No results were found. Please adjust your parameters and try again')
        return redirect(url_for('.index'))
    else:
        files = files.paginate(page, current_app.config['RESULTS_PER_PAGE'], False)
        return render_template('search/search_result.html', results=files, title="Search results")
Example #3
0
def file(page=1):
    files = File.query
    _filename = request.args.get('filename')
    _author = request.args.get('author')

    if _filename and len(_filename) > 0:
        files = files.filter(File.file_name.ilike(likeable(_filename)))
    if _author and len(_author) > 0:
        files = files.filter(File.author_id.is_(_author))

    files = files.paginate(page, current_app.config['RESULTS_PER_PAGE'], False)
    users = db.session.query(User)\
        .join(Usergroup)\
        .filter(Usergroup.is_uploader)\
        .filter(User.group_id == Usergroup.id)\
        .all()
    return render_template('admin/file.html', files=files, users=users, title="File administration")