def save(self): publish = self.cleaned_data['publish_type'] limited = self.cleaned_data['limited'] if publish == mkt.PUBLISH_HIDDEN and limited: publish = mkt.PUBLISH_PRIVATE status = self.STATUS_MAPPING[publish] self.addon.update(status=status) mkt.log(mkt.LOG.CHANGE_STATUS, self.addon.get_status_display(), self.addon) # Call update_version, so various other bits of data update. self.addon.update_version() # Call to update names and locales if changed. self.addon.update_name_from_package_manifest() self.addon.update_supported_locales() if waffle.switch_is_active('iarc-upgrade-v2'): iarc_publish.delay(self.addon.pk) else: set_storefront_data.delay(self.addon.pk)
def _process_public(self, status): """Changes status to a publicly viewable status.""" if self.addon.has_incomplete_status(): # Failsafe. return self.addon.sign_if_packaged(self.version.pk) # 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(mkt.STATUS_PUBLIC, self.version.files.all()) # If app is already an approved status, don't change it when approving # a version. if self.addon.status not in mkt.WEBAPPS_APPROVED_STATUSES: self.set_addon(status=status, highest_status=status) self.set_reviewed() if waffle.switch_is_active('iarc-upgrade-v2'): iarc_publish.delay(self.addon.pk) else: set_storefront_data.delay(self.addon.pk) self.create_note(mkt.LOG.APPROVE_VERSION) log.info(u'Making %s public' % self.addon)