コード例 #1
0
ファイル: views.py プロジェクト: aniketkudale/olympia
def context(request, **kw):
    admin_reviewer = is_admin_reviewer(request)
    limited_reviewer = is_limited_reviewer(request)
    ctx = {'queue_counts': queue_counts(admin_reviewer=admin_reviewer,
           limited_reviewer=limited_reviewer),
           'unlisted_queue_counts': queue_counts(
               unlisted=True, admin_reviewer=admin_reviewer,
               limited_reviewer=limited_reviewer)}
    ctx.update(base_context(**kw))
    return ctx
コード例 #2
0
ファイル: views.py プロジェクト: aniketkudale/olympia
def _queue(request, TableObj, tab, qs=None, unlisted=False):
    if qs is None:
        qs = TableObj.Meta.model.objects.all()

    if is_limited_reviewer(request):
        qs = qs.having('waiting_time_hours >=', REVIEW_LIMITED_DELAY_HOURS)

    if request.GET:
        search_form = forms.QueueSearchForm(request.GET)
        if search_form.is_valid():
            qs = search_form.filter_qs(qs)
    else:
        search_form = forms.QueueSearchForm()
    admin_reviewer = is_admin_reviewer(request)
    if not admin_reviewer and not search_form.data.get('searching'):
        qs = exclude_admin_only_addons(qs)

    motd_editable = acl.action_allowed(request, 'AddonReviewerMOTD', 'Edit')
    order_by = request.GET.get('sort', TableObj.default_order_by())
    order_by = TableObj.translate_sort_cols(order_by)
    table = TableObj(data=qs, order_by=order_by)
    default = 100
    per_page = request.GET.get('per_page', default)
    try:
        per_page = int(per_page)
    except ValueError:
        per_page = default
    if per_page <= 0 or per_page > 200:
        per_page = default
    page = paginate(request, table.rows, per_page=per_page)
    table.set_page(page)
    return render(request, 'editors/queue.html',
                  context(request, table=table, page=page, tab=tab,
                          search_form=search_form,
                          point_types=amo.REVIEWED_AMO,
                          unlisted=unlisted,
                          motd_editable=motd_editable))
コード例 #3
0
ファイル: views.py プロジェクト: aniketkudale/olympia
def home(request):
    if (not acl.action_allowed(request, 'Addons', 'Review') and
            acl.action_allowed(request, 'Personas', 'Review')):
        return http.HttpResponseRedirect(reverse('editors.themes.home'))

    motd_editable = acl.action_allowed(request, 'AddonReviewerMOTD', 'Edit')
    durations = (('new', _('New Add-ons (Under 5 days)')),
                 ('med', _('Passable (5 to 10 days)')),
                 ('old', _('Overdue (Over 10 days)')))

    limited_reviewer = is_limited_reviewer(request)
    progress, percentage = _editor_progress(limited_reviewer=limited_reviewer)
    unlisted_progress, unlisted_percentage = _editor_progress(
        unlisted=True, limited_reviewer=limited_reviewer)
    reviews_max_display = getattr(settings, 'EDITOR_REVIEWS_MAX_DISPLAY', 5)
    reviews_total = ActivityLog.objects.total_reviews()[:reviews_max_display]
    reviews_monthly = (
        ActivityLog.objects.monthly_reviews()[:reviews_max_display])
    reviews_total_count = ActivityLog.objects.user_approve_reviews(
        request.user).count()
    reviews_monthly_count = (
        ActivityLog.objects.current_month_user_approve_reviews(
            request.user).count())

    # Try to read user position from retrieved reviews.
    # If not available, query for it.
    reviews_total_position = (
        ActivityLog.objects.user_position(reviews_total, request.user)
        or ActivityLog.objects.total_reviews_user_position(request.user))

    reviews_monthly_position = (
        ActivityLog.objects.user_position(reviews_monthly, request.user)
        or ActivityLog.objects.monthly_reviews_user_position(request.user))

    limited_reviewer = is_limited_reviewer(request)
    data = context(
        request,
        reviews_total=reviews_total,
        reviews_monthly=reviews_monthly,
        reviews_total_count=reviews_total_count,
        reviews_monthly_count=reviews_monthly_count,
        reviews_total_position=reviews_total_position,
        reviews_monthly_position=reviews_monthly_position,
        new_editors=EventLog.new_editors(),
        eventlog=ActivityLog.objects.editor_events()[:6],
        progress=progress,
        unlisted_progress=unlisted_progress,
        percentage=percentage,
        unlisted_percentage=unlisted_percentage,
        durations=durations,
        reviews_max_display=reviews_max_display,
        motd_editable=motd_editable,
        queue_counts_total=queue_counts(admin_reviewer=True,
                                        limited_reviewer=limited_reviewer),
        unlisted_queue_counts_total=queue_counts(
            admin_reviewer=True,
            unlisted=True,
            limited_reviewer=limited_reviewer),
    )

    return render(request, 'editors/home.html', data)