shop.modules.discount_condition

Module Contents

Classes

DiscountCondition

Abstract Class for all viur-shop sub/nested modules.

Attributes

shop.modules.discount_condition.logger
shop.modules.discount_condition.CODE_CHARS
shop.modules.discount_condition.CODE_LENGTH = 8
shop.modules.discount_condition.SUFFIX_LENGTH = 6
class shop.modules.discount_condition.DiscountCondition(moduleName=None, modulePath=None, shop=None, *args, **kwargs)

Bases: shop.modules.abstract.ShopModuleAbstract, viur.core.prototypes.List

Abstract Class for all viur-shop sub/nested modules.

The implementations should set moduleName as class variable, so the final module name for routing it not affected by the name of custom classes.

Parameters:
  • moduleName (str)

  • modulePath (str)

  • shop (viur.shop.Shop)

moduleName = 'discount_condition'
kindName = '{{viur_shop_modulename}}_discount_condition'
adminInfo()
Return type:

dict

canEdit(skel)
editSkel(*args, **kwargs)
Return type:

viur.core.skeleton.SkeletonInstance

onAdd(skel)
Parameters:

skel (viur.core.skeleton.SkeletonInstance)

onEdit(skel)
Parameters:

skel (viur.core.skeleton.SkeletonInstance)

onAdded(skel)
Parameters:

skel (viur.core.skeleton.SkeletonInstance)

onEdited(skel)
Parameters:

skel (viur.core.skeleton.SkeletonInstance)

on_change(skel, event)
Parameters:

event (str)

on_changed(skel, event)
Parameters:

event (str)

generate_subcodes(parent_key, prefix, amount)

Generate subcodes for a parent individual code.

Parameters:
  • parent_key (viur.core.db.Key)

  • prefix (str)

  • amount (int)

classmethod get_skel(key)
Parameters:

key (viur.core.db.Key)

Return type:

shop.types.SkeletonInstance_T[shop.skeletons.DiscountConditionSkel] | None

get_by_code(code=None)
Parameters:

code (str)

Return type:

Iterator[viur.core.skeleton.SkeletonInstance]

get_discounts_from_cart(cart_key)
Parameters:

cart_key (viur.core.db.Key)

Return type:

list[viur.core.db.Key]

static mark_discount_used(order_skel, payment)

Increase quantity_used on discount of an ordered cart