def save_price(self, obj, price): premium = obj.premium if not premium: premium = AddonPremium() premium.addon = obj premium.price = Price.objects.active().get(price=price) premium.save()
def _make_premium(self): if self.addon.premium: return self.addon.premium log.info('New AddonPremium object for addon %s' % self.addon.pk) self.addon._premium = AddonPremium(addon=self.addon, price_id=self._initial_price_id()) return self.addon._premium
def save_price(self, obj, price): # Only valid for premium apps; don't call this on free ones. valid_prices = Price.objects.exclude( price='0.00').values_list('price', flat=True) if not (price and Decimal(price) in valid_prices): raise serializers.ValidationError( {'price': ['Premium app specified without a valid price. Price can be' ' one of %s.' % (', '.join('"%s"' % str(p) for p in valid_prices),)]}) premium = obj.premium if not premium: premium = AddonPremium() premium.addon = obj premium.price = Price.objects.active().get(price=price) premium.save()
def test_is_complete(self): self.addon.support_email = '*****@*****.**' ap = AddonPremium(addon=self.addon) assert not ap.is_complete() ap.price = self.tier_one assert ap.is_complete()