def process_preliminary(self): """Set an addon to preliminary.""" if self.addon.is_premium(): raise AssertionError('Premium add-ons cannot become preliminary.') changes = {'status': amo.STATUS_LITE} if (self.addon.status in (amo.STATUS_PUBLIC, amo.STATUS_LITE_AND_NOMINATED)): changes['highest_status'] = amo.STATUS_LITE template = '%s_to_preliminary' % self.review_type if (self.review_type == 'preliminary' and self.addon.status == amo.STATUS_LITE_AND_NOMINATED): template = 'nominated_to_nominated' self.set_addon(**changes) self.set_files(amo.STATUS_LITE, self.version.files.all(), copy_to_mirror=True) self.log_action(amo.LOG.PRELIMINARY_VERSION) self.notify_email(template, u'Mozilla Add-ons: %s %s Preliminary Reviewed') log.info(u'Making %s preliminary' % (self.addon)) log.info(u'Sending email for %s' % (self.addon)) # Assign reviewer incentive scores. event = ReviewerScore.get_event_by_type(self.addon, 'preliminary') ReviewerScore.award_points(self.request.amo_user, self.addon, event)
def process_public(self): if self.addon.make_public == amo.PUBLIC_IMMEDIATELY: self.process_public_immediately() else: self.process_public_waiting() if self.in_escalate: EscalationQueue.objects.filter(addon=self.addon).delete() # Assign reviewer incentive scores. event = ReviewerScore.get_event_by_type(self.addon) ReviewerScore.award_points(self.request.amo_user, self.addon, event)
def process_public_waiting(self): """Make an app pending.""" self.set_files(amo.STATUS_PUBLIC_WAITING, self.version.files.all()) self.set_addon(highest_status=amo.STATUS_PUBLIC_WAITING, status=amo.STATUS_PUBLIC_WAITING) self.log_action(amo.LOG.APPROVE_VERSION_WAITING) self.notify_email("%s_to_public_waiting" % self.review_type, u"App Approved but waiting: %s") log.info(u"Making %s public but pending" % self.addon) log.info(u"Sending email for %s" % self.addon) # Assign reviewer incentive scores. event = ReviewerScore.get_event_by_type(self.addon) ReviewerScore.award_points(self.request.amo_user, self.addon, event)
def process_public_waiting(self): """Make an app pending.""" self.set_files(amo.STATUS_PUBLIC_WAITING, self.version.files.all()) self.set_addon(highest_status=amo.STATUS_PUBLIC_WAITING, status=amo.STATUS_PUBLIC_WAITING) self.log_action(amo.LOG.APPROVE_VERSION_WAITING) self.notify_email('%s_to_public_waiting' % self.review_type, u'App Approved but waiting: %s') log.info(u'Making %s public but pending' % self.addon) log.info(u'Sending email for %s' % self.addon) # Assign reviewer incentive scores. event = ReviewerScore.get_event_by_type(self.addon) ReviewerScore.award_points(self.request.amo_user, self.addon, event)
def process_public_immediately(self): """Approve an app.""" # Save files first, because set_addon checks to make sure there # is at least one public file or it won't make the addon public. self.set_files(amo.STATUS_PUBLIC, self.version.files.all()) self.set_addon(highest_status=amo.STATUS_PUBLIC, status=amo.STATUS_PUBLIC) self.log_action(amo.LOG.APPROVE_VERSION) self.notify_email("%s_to_public" % self.review_type, u"App Approved: %s") log.info(u"Making %s public" % self.addon) log.info(u"Sending email for %s" % self.addon) # Assign reviewer incentive scores. event = ReviewerScore.get_event_by_type(self.addon) ReviewerScore.award_points(self.request.amo_user, self.addon, event)
def process_public_immediately(self): """Approve an app.""" # Save files first, because set_addon checks to make sure there # is at least one public file or it won't make the addon public. self.set_files(amo.STATUS_PUBLIC, self.version.files.all()) self.set_addon(highest_status=amo.STATUS_PUBLIC, status=amo.STATUS_PUBLIC) self.log_action(amo.LOG.APPROVE_VERSION) self.notify_email('%s_to_public' % self.review_type, u'App Approved: %s') log.info(u'Making %s public' % self.addon) log.info(u'Sending email for %s' % self.addon) # Assign reviewer incentive scores. event = ReviewerScore.get_event_by_type(self.addon) ReviewerScore.award_points(self.request.amo_user, self.addon, event)
def process_preliminary(self): """Set an addons files to preliminary.""" if self.addon.is_premium(): raise AssertionError('Premium add-ons cannot become preliminary.') self.set_files(amo.STATUS_LITE, self.data['addon_files'], copy_to_mirror=True) self.log_action(amo.LOG.PRELIMINARY_VERSION) self.notify_email('%s_to_preliminary' % self.review_type, u'Mozilla Add-ons: %s %s Preliminary Reviewed') log.info(u'Making %s files %s preliminary' % (self.addon, ', '.join([f.filename for f in self.data['addon_files']]))) log.info(u'Sending email for %s' % (self.addon)) # Assign reviewer incentive scores. event = ReviewerScore.get_event_by_type(self.addon, self.review_type) ReviewerScore.award_points(self.request.amo_user, self.addon, event)
def process_public(self): """Set an addons files to public.""" if self.review_type == 'preliminary': raise AssertionError('Preliminary addons cannot be made public.') self.set_files(amo.STATUS_PUBLIC, self.data['addon_files'], copy_to_mirror=True) self.log_action(amo.LOG.APPROVE_VERSION) self.notify_email('%s_to_public' % self.review_type, u'Mozilla Add-ons: %s %s Fully Reviewed') log.info(u'Making %s files %s public' % (self.addon, ', '.join([f.filename for f in self.data['addon_files']]))) log.info(u'Sending email for %s' % (self.addon)) # Assign reviewer incentive scores. event = ReviewerScore.get_event_by_type(self.addon, self.review_type) ReviewerScore.award_points(self.request.amo_user, self.addon, event)
def process_public(self): """Set an addon to public.""" if self.review_type == 'preliminary': raise AssertionError('Preliminary addons cannot be made public.') # Save files first, because set_addon checks to make sure there # is at least one public file or it won't make the addon public. self.set_files(amo.STATUS_PUBLIC, self.version.files.all(), copy_to_mirror=True) self.set_addon(highest_status=amo.STATUS_PUBLIC, status=amo.STATUS_PUBLIC) self.log_action(amo.LOG.APPROVE_VERSION) self.notify_email('%s_to_public' % self.review_type, u'Mozilla Add-ons: %s %s Fully Reviewed') log.info(u'Making %s public' % (self.addon)) log.info(u'Sending email for %s' % (self.addon)) # Assign reviewer incentive scores. event = ReviewerScore.get_event_by_type(self.addon, self.review_type) ReviewerScore.award_points(self.request.amo_user, self.addon, event)
def test_get_event_by_type(self): self.addon.type = amo.ADDON_EXTENSION eq_(ReviewerScore.get_event_by_type(self.addon), amo.REVIEWED_ADDON_UPDATED) eq_(ReviewerScore.get_event_by_type(self.addon, 'nominated'), amo.REVIEWED_ADDON_FULL) eq_(ReviewerScore.get_event_by_type(self.addon, 'preliminary'), amo.REVIEWED_ADDON_PRELIM) self.addon.type = amo.ADDON_THEME eq_(ReviewerScore.get_event_by_type(self.addon), amo.REVIEWED_THEME) self.addon.type = amo.ADDON_DICT eq_(ReviewerScore.get_event_by_type(self.addon), amo.REVIEWED_DICT) self.addon.type = amo.ADDON_SEARCH eq_(ReviewerScore.get_event_by_type(self.addon), amo.REVIEWED_SEARCH) self.addon.type = amo.ADDON_LPAPP eq_(ReviewerScore.get_event_by_type(self.addon), amo.REVIEWED_LP) self.addon.type = amo.ADDON_LPADDON eq_(ReviewerScore.get_event_by_type(self.addon), amo.REVIEWED_LP) self.addon.type = amo.ADDON_PLUGIN eq_(ReviewerScore.get_event_by_type(self.addon), None) self.addon.type = amo.ADDON_API eq_(ReviewerScore.get_event_by_type(self.addon), None) self.addon.type = amo.ADDON_PERSONA eq_(ReviewerScore.get_event_by_type(self.addon), amo.REVIEWED_PERSONA) self.addon.type = amo.ADDON_WEBAPP eq_(ReviewerScore.get_event_by_type(self.addon), amo.REVIEWED_WEBAPP)