Пример #1
0
def queue_counts(type=None, **kw):
    def construct_query(query_type, days_min=None, days_max=None):
        def apply_query(query, *args):
            query = query.having(*args)
            return query

        query = query_type.objects

        if days_min:
            query = apply_query(query, 'waiting_time_days >=', days_min)
        if days_max:
            query = apply_query(query, 'waiting_time_days <=', days_max)

        return query.count

    counts = {
        'pending':
        construct_query(ViewPendingQueue, **kw),
        'nominated':
        construct_query(ViewFullReviewQueue, **kw),
        'prelim':
        construct_query(ViewPreliminaryQueue, **kw),
        'moderated':
        Review.objects.filter(reviewflag__isnull=False, editorreview=1).count,
        'apps':
        Webapp.pending().count
    }
    rv = {}
    if isinstance(type, basestring):
        return counts[type]()
    for k, v in counts.items():
        if not isinstance(type, list) or k in type:
            rv[k] = v()
    return rv
Пример #2
0
def queue_counts(type=None, **kw):
    def construct_query(query_type, days_min=None, days_max=None):
        def apply_query(query, *args):
            query = query.having(*args)
            return query

        query = query_type.objects

        if days_min:
            query = apply_query(query, 'waiting_time_days >=', days_min)
        if days_max:
            query = apply_query(query, 'waiting_time_days <=', days_max)

        return query.count

    counts = {'pending': construct_query(ViewPendingQueue, **kw),
              'nominated': construct_query(ViewFullReviewQueue, **kw),
              'prelim': construct_query(ViewPreliminaryQueue, **kw),
              'moderated': Review.objects.filter(reviewflag__isnull=False,
                                                 editorreview=1).count,
              'apps': Webapp.pending().count}
    rv = {}
    if isinstance(type, basestring):
        return counts[type]()
    for k, v in counts.items():
        if not isinstance(type, list) or k in type:
            rv[k] = v()
    return rv
Пример #3
0
def queue_apps(request):
    qs = Webapp.pending().annotate(Count('abuse_reports'))
    return _queue(request, WebappQueueTable, 'apps', qs=qs)
Пример #4
0
def queue_apps(request):
    qs = Webapp.pending().annotate(Count('abuse_reports'))
    return _queue(request, WebappQueueTable, 'apps', qs=qs)