shop.modules.discount¶
Attributes¶
Lock to make the current_automatically_discounts cache thread-safe |
Classes¶
Abstract Class for all viur-shop sub/nested modules. |
Module Contents¶
- shop.modules.discount.logger¶
- shop.modules.discount.lock_current_automatically_discounts¶
Lock to make the current_automatically_discounts cache thread-safe
- class shop.modules.discount.Discount(moduleName=None, modulePath=None, shop=None, *args, **kwargs)¶
Bases:
shop.modules.abstract.ShopModuleAbstract,viur.core.prototypes.ListAbstract 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'¶
- kindName = '{{viur_shop_modulename}}_discount'¶
- adminInfo()¶
- Return type:
dict
- search(code=None, discount_key=None)¶
- Parameters:
code (str | None)
discount_key (viur.core.db.Key | None)
- Return type:
list[viur.core.skeleton.SkeletonInstance]
- apply(code=None, discount_key=None)¶
- Parameters:
code (str | None)
discount_key (viur.core.db.Key | None)
- Return type:
viur.shop.types.t.Any
- can_apply(skel, *, cart_key=None, article_skel=None, code=None, context=DiscountValidationContext.NORMAL)¶
- Parameters:
skel (viur.shop.types.SkeletonInstance_T[shop.skeletons.DiscountSkel])
cart_key (viur.core.db.Key | None)
article_skel (viur.core.skeleton.SkeletonInstance | None)
code (str | None)
context (viur.shop.types.DiscountValidationContext)
- Return type:
tuple[bool, shop.types.dc_scope.DiscountValidator | None]
- property current_automatically_discounts: list[viur.shop.types.SkeletonInstance_T[shop.skeletons.DiscountSkel]]¶
- Return type:
list[viur.shop.types.SkeletonInstance_T[shop.skeletons.DiscountSkel]]
- remove(discount_key)¶
- Parameters:
discount_key (viur.core.db.Key)
- Return type:
viur.shop.types.t.Any