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