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