def help_latest(location=None, category=None): """automatically selects next inquiry""" if not category or category == 'all': inquiry = Inquiry.latest(location=location) else: inquiry = Inquiry.latest(location=location, category=category) delayed_id, delayed = request.args.get('delayed_id', None), None if not inquiry: return redirect(url_for('admin.home', notification=NOTIF_HELP_DONE)) if g.queue.setting('inquiry_types').enabled and not category and g.queue.setting('inquiry_type_selection').enabled: categories = [(cat, Inquiry.query.filter_by( category=cat, status='unresolved', location=location, queue_id=g.queue.id).count()) for cat in g.queue.setting('inquiry_types').value.split(',')] categories = [c for c in categories if c[1]] if len(categories) > 1: return render_admin('categories.html', title='Request Type', location=location, categories=categories) if delayed_id: delayed = Inquiry.query.get(delayed_id) delayed.unlock() inquiry.lock() inquiry.link(current_user()) return redirect(url_for('admin.help_inquiry', id=inquiry.id, location=location))
def home(): """admin homepage""" if not g.queue.setting('location_selection').enabled: return render_admin('home.html', num_inquiries=Inquiry.query.filter_by(status='unresolved', queue_id=g.queue.id).count(), latest_inquiry=Inquiry.latest(), current_inquiry=Inquiry.current(), ttr=g.queue.ttr()) locations = [(l, Inquiry.query.filter_by( location=l, status='unresolved', queue_id=g.queue.id).count()) for l in g.queue.setting('locations').value.split(',')] return render_admin('home.html', num_inquiries=Inquiry.query.filter_by(status='unresolved', queue_id=g.queue.id).count(), locations=[t for t in locations if t[1]], current_inquiry=Inquiry.current(), ttr=g.queue.ttr(), earliest_request=Inquiry.query.filter_by(status='unresolved', queue_id=g.queue.id).order_by(Inquiry.created_at).first())