本文整理汇总了Python中addons.models.AddonUpsell.free方法的典型用法代码示例。如果您正苦于以下问题:Python AddonUpsell.free方法的具体用法?Python AddonUpsell.free怎么用?Python AddonUpsell.free使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类addons.models.AddonUpsell
的用法示例。
在下文中一共展示了AddonUpsell.free方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: save
# 需要导入模块: from addons.models import AddonUpsell [as 别名]
# 或者: from addons.models.AddonUpsell import free [as 别名]
def save(self):
if 'paypal_id' in self.cleaned_data:
self.addon.paypal_id = self.cleaned_data['paypal_id']
self.addon.support_email = self.cleaned_data['support_email']
self.addon.save()
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['do_upsell'] and
self.cleaned_data['text'] and 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.text = self.cleaned_data['text']
upsell.free = self.cleaned_data['free']
upsell.save()
elif not self.cleaned_data['do_upsell'] and upsell:
upsell.delete()
示例2: save
# 需要导入模块: from addons.models import AddonUpsell [as 别名]
# 或者: from addons.models.AddonUpsell import free [as 别名]
def save(self):
if 'paypal_id' in self.cleaned_data:
self.addon.paypal_id = self.cleaned_data['paypal_id']
self.addon.support_email = self.cleaned_data['support_email']
self.addon.save()
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['do_upsell'] and
self.cleaned_data['text'] and self.cleaned_data['free']):
if not upsell:
upsell = AddonUpsell(premium=self.addon)
upsell.text = self.cleaned_data['text']
upsell.free = self.cleaned_data['free']
upsell.save()
elif not self.cleaned_data['do_upsell'] and upsell:
upsell.delete()
示例3: save
# 需要导入模块: from addons.models import AddonUpsell [as 别名]
# 或者: from addons.models.AddonUpsell import free [as 别名]
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['do_upsell'] and
self.cleaned_data['text'] and 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.text = self.cleaned_data['text']
upsell.free = self.cleaned_data['free']
upsell.save()
elif not self.cleaned_data['do_upsell'] and upsell:
upsell.delete()
self.addon.premium_type = self.cleaned_data['premium_type']
self.addon.support_email = self.cleaned_data['support_email']
self.addon.save()
# If they checked later in the wizard and then decided they want
# to keep it free, push to pending.
if (not self.addon.paypal_id and self.addon.is_incomplete()
and not self.addon.needs_paypal()):
self.addon.mark_done()
示例4: save
# 需要导入模块: from addons.models import AddonUpsell [as 别名]
# 或者: from addons.models.AddonUpsell import free [as 别名]
def save(self):
if "paypal_id" in self.cleaned_data:
self.addon.paypal_id = self.cleaned_data["paypal_id"]
self.addon.support_email = self.cleaned_data["support_email"]
self.addon.save()
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["do_upsell"] and self.cleaned_data["text"] and 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.text = self.cleaned_data["text"]
upsell.free = self.cleaned_data["free"]
upsell.save()
elif not self.cleaned_data["do_upsell"] and upsell:
upsell.delete()
示例5: save
# 需要导入模块: from addons.models import AddonUpsell [as 别名]
# 或者: from addons.models.AddonUpsell import free [as 别名]
def save(self):
if self.cleaned_data['paypal_id']:
if (self.addon.paypal_id
and self.addon.paypal_id != self.cleaned_data['paypal_id']
and self.addon.premium
and self.addon.premium.paypal_permissions_token):
# If a user changes their paypal id, then we need
# to nuke the token.
self.addon.premium.paypal_permissions_token = ''
self.addon.premium.save()
self.addon.paypal_id = self.cleaned_data['paypal_id']
self.addon.support_email = self.cleaned_data['support_email']
self.addon.save()
if self.cleaned_data['price']:
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['do_upsell'] and
self.cleaned_data['text'] and self.cleaned_data['free']):
if not upsell:
upsell = AddonUpsell(premium=self.addon)
upsell.text = self.cleaned_data['text']
upsell.free = self.cleaned_data['free']
upsell.save()
elif not self.cleaned_data['do_upsell'] and upsell:
upsell.delete()
示例6: save_upsold
# 需要导入模块: from addons.models import AddonUpsell [as 别名]
# 或者: from addons.models.AddonUpsell import free [as 别名]
def save_upsold(self, obj, upsold):
current_upsell = obj.upsold
if upsold and upsold != obj.upsold.free:
if not current_upsell:
log.debug('[[email protected]%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('[[email protected]%s] Deleting the app upsell' % obj.pk)
current_upsell.delete()
示例7: test_free_with_in_app_deletes_upsell
# 需要导入模块: from addons.models import AddonUpsell [as 别名]
# 或者: from addons.models.AddonUpsell import free [as 别名]
def test_free_with_in_app_deletes_upsell(self):
self.make_premium(self.webapp)
new_upsell_app = Addon.objects.create(type=self.webapp.type,
status=self.webapp.status, name='upsell-%s' % self.webapp.id,
premium_type=amo.ADDON_FREE)
new_upsell = AddonUpsell(premium=self.webapp)
new_upsell.free = new_upsell_app
new_upsell.save()
assert self.webapp.upsold is not None
res = self.client.post(
self.url, self.get_postdata({'price': 'free',
'allow_inapp': 'True'}), follow=True)
eq_(self.get_webapp().upsold, None)
示例8: update_upsell
# 需要导入模块: from addons.models import AddonUpsell [as 别名]
# 或者: from addons.models.AddonUpsell import free [as 别名]
def update_upsell(self, bundle):
if 'upsold' in bundle.data:
if bundle.obj.premium_type in amo.ADDON_FREES:
raise fields.ApiFieldError('Free apps cannot have upsells.')
free_app = self.fields['upsold'].hydrate(bundle).obj
current_upsell = bundle.obj.upsold
if not current_upsell:
log.debug('[[email protected]%s] Creating app upsell' % bundle.obj.pk)
current_upsell = AddonUpsell(premium=bundle.obj)
current_upsell.free = free_app
current_upsell.save()
# smack that cached property right back out
del bundle.obj.__dict__['upsold']
return bundle
示例9: test_free_with_in_app_deletes_upsell
# 需要导入模块: from addons.models import AddonUpsell [as 别名]
# 或者: from addons.models.AddonUpsell import free [as 别名]
def test_free_with_in_app_deletes_upsell(self):
self.make_premium(self.webapp)
new_upsell_app = Addon.objects.create(
type=self.webapp.type,
status=self.webapp.status,
name="upsell-%s" % self.webapp.id,
premium_type=amo.ADDON_FREE,
)
new_upsell = AddonUpsell(premium=self.webapp)
new_upsell.free = new_upsell_app
new_upsell.save()
assert self.webapp.upsold is not None
self.client.post(
self.url,
self.get_postdata({"price": "free", "allow_inapp": "True", "regions": ALL_PAID_REGION_IDS}),
follow=True,
)
eq_(self.get_webapp().upsold, None)
示例10: save
# 需要导入模块: from addons.models import AddonUpsell [as 别名]
# 或者: from addons.models.AddonUpsell import free [as 别名]
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('[[email protected]%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('[[email protected]%s] Deleting the app upsell' % self.addon.pk)
current_upsell.delete()