shop.modules.discount_condition

Attributes

logger

CODE_CHARS

CODE_LENGTH

SUFFIX_LENGTH

lock_get_skel

Lock to make the get_skel cache thread-safe

Classes

Module Contents

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
shop.modules.discount_condition.lock_get_skel

Lock to make the get_skel cache thread-safe

class shop.modules.discount_condition.DiscountCondition

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

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)

onClone(skel, src_skel)
Parameters:
  • skel (viur.core.skeleton.SkeletonInstance)

  • src_skel (viur.core.skeleton.SkeletonInstance)

onAdded(skel)
Parameters:

skel (viur.core.skeleton.SkeletonInstance)

onEdited(skel)
Parameters:

skel (viur.core.skeleton.SkeletonInstance)

onCloned(skel, src_skel)
Parameters:
  • skel (viur.core.skeleton.SkeletonInstance)

  • src_skel (viur.core.skeleton.SkeletonInstance)

on_change(skel, event)
Parameters:
  • skel (viur.core.skeleton.SkeletonInstance)

  • event (str)

Return type:

None

on_changed(skel, event)
Parameters:
  • skel (viur.core.skeleton.SkeletonInstance)

  • event (str)

Return type:

None

generate_subcodes(parent_key, prefix, amount)

Generate subcodes for a parent individual code.

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

  • prefix (str)

  • amount (int)

Return type:

None

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, *args, **kwargs)

Increase quantity_used on discount of an ordered cart

Parameters:

order_skel (shop.types.SkeletonInstance_T[shop.skeletons.OrderSkel])

Return type:

None