def save_upsold(self, obj, upsold): current_upsell = obj.upsold if upsold and upsold != obj.upsold.free: if not current_upsell: log.debug('[1@%s] Creating app upsell' % obj.pk) current_upsell = AddonUpsell(premium=obj) current_upsell.free = upsold current_upsell.save() elif current_upsell: # We're deleting the upsell. log.debug('[1@%s] Deleting the app upsell' % obj.pk) current_upsell.delete()
def save(self): current_upsell = self.addon.upsold new_upsell_app = self.cleaned_data.get('upsell_of') if new_upsell_app: # We're changing the upsell or creating a new one. if not current_upsell: # If the upsell is new or we just deleted the old upsell, # create a new upsell. log.debug('[1@%s] Creating app upsell' % self.addon.pk) current_upsell = AddonUpsell(premium=self.addon) # Set the upsell object to point to the app that we're upselling. current_upsell.free = new_upsell_app current_upsell.save() elif current_upsell: # We're deleting the upsell. log.debug('[1@%s] Deleting the app upsell' % self.addon.pk) current_upsell.delete()
def save(self): if 'price' in self.cleaned_data: premium = self.addon.premium if not premium: premium = AddonPremium() premium.addon = self.addon premium.price = self.cleaned_data['price'] premium.save() upsell = self.addon.upsold if self.cleaned_data['free']: # Check if this app was already a premium version for another app. if upsell and upsell.free != self.cleaned_data['free']: upsell.delete() if not upsell: upsell = AddonUpsell(premium=self.addon) upsell.free = self.cleaned_data['free'] upsell.save() elif upsell: upsell.delete() self.addon.update(make_public=self.cleaned_data['make_public'])