Exemple #1
0
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))
Exemple #2
0
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())