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")
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")
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")