def reviewlog(request): data = request.GET.copy() if not data.get('start') and not data.get('end'): today = date.today() data['start'] = date(today.year, today.month, 1) form = forms.ReviewLogForm(data) approvals = ActivityLog.objects.review_queue() if form.is_valid(): data = form.cleaned_data if data['start']: approvals = approvals.filter(created__gte=data['start']) if data['end']: approvals = approvals.filter(created__lt=data['end']) pager = amo.utils.paginate(request, approvals, 50) ad = { amo.LOG.APPROVE_VERSION.id: _('was approved'), amo.LOG.PRELIMINARY_VERSION.id: _('given preliminary review'), amo.LOG.REJECT_VERSION.id: _('rejected'), amo.LOG.ESCALATE_VERSION.id: _('escalated', 'editors_review_history_nominated_adminreview'), } data = context(form=form, pager=pager, ACTION_DICT=ad) return jingo.render(request, 'editors/reviewlog.html', data)
def reviewlog(request): data = request.GET.copy() motd_editable = acl.action_allowed(request, 'AddonReviewerMOTD', 'Edit') if not data.get('start') and not data.get('end'): today = date.today() data['start'] = date(today.year, today.month, 1) form = forms.ReviewLogForm(data) approvals = ActivityLog.objects.review_queue() if not acl.check_unlisted_addons_reviewer(request): # Display logs related to unlisted add-ons only to senior reviewers. approvals = approvals.filter(addonlog__addon__is_listed=True) if form.is_valid(): data = form.cleaned_data if data['start']: approvals = approvals.filter(created__gte=data['start']) if data['end']: approvals = approvals.filter(created__lt=data['end']) if data['search']: term = data['search'] approvals = approvals.filter( Q(commentlog__comments__icontains=term) | Q(addonlog__addon__name__localized_string__icontains=term) | Q(user__display_name__icontains=term) | Q(user__username__icontains=term)).distinct() pager = amo.utils.paginate(request, approvals, 50) ad = { amo.LOG.APPROVE_VERSION.id: _('was approved'), amo.LOG.PRELIMINARY_VERSION.id: _('given preliminary review'), amo.LOG.REJECT_VERSION.id: _('rejected'), amo.LOG.ESCALATE_VERSION.id: _('escalated', 'editors_review_history_nominated_adminreview'), amo.LOG.REQUEST_INFORMATION.id: _('needs more information'), amo.LOG.REQUEST_SUPER_REVIEW.id: _('needs super review'), amo.LOG.COMMENT_VERSION.id: _('commented'), } data = context(request, form=form, pager=pager, ACTION_DICT=ad, motd_editable=motd_editable) return render(request, 'editors/reviewlog.html', data)