def save(self): for form in self.forms: if form.cleaned_data: action = int(form.cleaned_data['action']) if action == ABUSE_REPORT_SKIP: continue inst = form.instance app = None site = None user = None texts = [] for report in inst.abuse_reports.all().filter(read=False): report.read = True report.save() app = report.addon site = report.website user = report.user if report.message: texts.append(report.message) if app: mkt.log(mkt.LOG.APP_ABUSE_MARKREAD, app, report, details=dict(body=unicode(report.message), addon_id=app.id, addon_title=unicode(app.name))) elif user: # Not possible on Marketplace currently. pass elif site: mkt.log(mkt.LOG.WEBSITE_ABUSE_MARKREAD, site, report, details=dict(body=unicode(report.message), website_id=site.id, website_title=unicode(site.name))) if app or site: ReviewerScore.award_mark_abuse_points(self.request.user, addon=app, website=site) if app and action == ABUSE_REPORT_FLAG: message = _('Abuse reports needing investigation: %s' % (', '.join(texts))) RereviewQueue.flag(app, mkt.LOG.REREVIEW_ABUSE_APP, message=message)
def save(self): for form in self.forms: if form.cleaned_data: action = int(form.cleaned_data['action']) if action == ABUSE_REPORT_SKIP: continue inst = form.instance app = None site = None user = None texts = [] for report in inst.abuse_reports.all().filter(read=False): report.read = True report.save() app = report.addon site = report.website user = report.user if report.message: texts.append(report.message) if app: mkt.log(mkt.LOG.APP_ABUSE_MARKREAD, app, report, details=dict( body=unicode(report.message), addon_id=app.id, addon_title=unicode(app.name) )) elif user: # Not possible on Marketplace currently. pass elif site: mkt.log(mkt.LOG.WEBSITE_ABUSE_MARKREAD, site, report, details=dict( body=unicode(report.message), website_id=site.id, website_title=unicode(site.name) )) if app or site: ReviewerScore.award_mark_abuse_points( self.request.user, addon=app, website=site) if app and action == ABUSE_REPORT_FLAG: message = _('Abuse reports needing investigation: %s' % (', '.join(texts))) RereviewQueue.flag( app, mkt.LOG.REREVIEW_ABUSE_APP, message=message)
def test_award_mark_abuse_points_website(self): ReviewerScore.award_mark_abuse_points(self.user, website=self.website) score = ReviewerScore.objects.all()[0] eq_(score.score, mkt.REVIEWED_SCORES.get( mkt.REVIEWED_WEBSITE_ABUSE_REPORT)) eq_(score.note_key, mkt.REVIEWED_WEBSITE_ABUSE_REPORT)
def test_award_mark_abuse_points_app(self): ReviewerScore.award_mark_abuse_points(self.user, addon=self.app) score = ReviewerScore.objects.all()[0] eq_(score.score, mkt.REVIEWED_SCORES.get( mkt.REVIEWED_APP_ABUSE_REPORT)) eq_(score.note_key, mkt.REVIEWED_APP_ABUSE_REPORT)
def test_award_mark_abuse_points_website(self): ReviewerScore.award_mark_abuse_points(self.user, website=self.website) score = ReviewerScore.objects.all()[0] eq_(score.score, mkt.REVIEWED_SCORES.get(mkt.REVIEWED_WEBSITE_ABUSE_REPORT)) eq_(score.note_key, mkt.REVIEWED_WEBSITE_ABUSE_REPORT)
def test_award_mark_abuse_points_app(self): ReviewerScore.award_mark_abuse_points(self.user, addon=self.app) score = ReviewerScore.objects.all()[0] eq_(score.score, mkt.REVIEWED_SCORES.get(mkt.REVIEWED_APP_ABUSE_REPORT)) eq_(score.note_key, mkt.REVIEWED_APP_ABUSE_REPORT)