示例#1
0
def reviewlog(request):
    data = request.GET.copy()

    motd_editable = acl.action_allowed(
        request, amo.permissions.ADDON_REVIEWER_MOTD_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_log()
    if not acl.check_unlisted_addons_reviewer(request):
        # Display logs related to unlisted versions only to senior reviewers.
        list_channel = amo.RELEASE_CHANNEL_LISTED
        approvals = approvals.filter(versionlog__version__channel=list_channel)

    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)
    action_dict = {
        amo.LOG.APPROVE_VERSION.id:
        ugettext('was approved'),
        # The log will still show preliminary, even after the migration.
        amo.LOG.PRELIMINARY_VERSION.id:
        ugettext('given preliminary review'),
        amo.LOG.REJECT_VERSION.id:
        ugettext('rejected'),
        amo.LOG.ESCALATE_VERSION.id:
        pgettext('editors_review_history_nominated_adminreview', 'escalated'),
        amo.LOG.REQUEST_INFORMATION.id:
        ugettext('needs more information'),
        amo.LOG.REQUEST_SUPER_REVIEW.id:
        ugettext('needs super review'),
        amo.LOG.COMMENT_VERSION.id:
        ugettext('commented'),
        amo.LOG.CONFIRM_AUTO_APPROVED.id:
        ugettext('confirmed as approved'),
    }

    data = context(request,
                   form=form,
                   pager=pager,
                   ACTION_DICT=action_dict,
                   motd_editable=motd_editable)
    return render(request, 'editors/reviewlog.html', data)
示例#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:
        pgettext('editors_review_history_nominated_adminreview', 'escalated'),
        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)
示例#3
0
def reviewlog(request):
    data = request.GET.copy()

    motd_editable = acl.action_allowed(
        request, amo.permissions.ADDON_REVIEWER_MOTD_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_log()
    if not acl.check_unlisted_addons_reviewer(request):
        # Display logs related to unlisted versions only to senior reviewers.
        list_channel = amo.RELEASE_CHANNEL_LISTED
        approvals = approvals.filter(versionlog__version__channel=list_channel)

    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)
    data = context(request,
                   form=form,
                   pager=pager,
                   motd_editable=motd_editable)
    return render(request, 'editors/reviewlog.html', data)