Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)