shoop.campaigns package

Submodules

shoop.campaigns.apps module

class shoop.campaigns.apps.CampaignAppConfig(*args, **kwargs)[source]

Bases: shoop.apps.AppConfig

name = 'shoop.campaigns'
verbose_name = 'Shoop Campaigns'
label = 'campaigns'
provides = {'admin_contact_group_form_part': ['shoop.campaigns.admin_module.form_parts:SalesRangesFormPart'], 'campaign_basket_condition': ['shoop.campaigns.admin_module.forms:BasketTotalProductAmountConditionForm', 'shoop.campaigns.admin_module.forms:BasketTotalAmountConditionForm', 'shoop.campaigns.admin_module.forms:BasketMaxTotalProductAmountConditionForm', 'shoop.campaigns.admin_module.forms:BasketMaxTotalAmountConditionForm', 'shoop.campaigns.admin_module.forms:ProductsInBasketConditionForm', 'shoop.campaigns.admin_module.forms:ContactGroupBasketConditionForm', 'shoop.campaigns.admin_module.forms:ContactBasketConditionForm'], 'campaign_product_discount_effect_form': ['shoop.campaigns.admin_module.forms:ProductDiscountAmountForm', 'shoop.campaigns.admin_module.forms:ProductDiscountPercentageForm'], 'campaign_context_condition': ['shoop.campaigns.admin_module.forms:ContactGroupConditionForm', 'shoop.campaigns.admin_module.forms:ContactConditionForm'], 'discount_module': ['shoop.campaigns.modules:CatalogCampaignModule'], 'admin_module': ['shoop.campaigns.admin_module:CampaignAdminModule'], 'campaign_catalog_filter': ['shoop.campaigns.admin_module.forms:ProductTypeFilterForm', 'shoop.campaigns.admin_module.forms:ProductFilterForm', 'shoop.campaigns.admin_module.forms:CategoryFilterForm'], 'order_source_modifier_module': ['shoop.campaigns.modules:BasketCampaignModule'], 'campaign_basket_discount_effect_form': ['shoop.campaigns.admin_module.forms:BasketDiscountAmountForm', 'shoop.campaigns.admin_module.forms:BasketDiscountPercentageForm'], 'campaign_basket_line_effect_form': ['shoop.campaigns.admin_module.forms:FreeProductLineForm', 'shoop.campaigns.admin_module.forms:DiscountFromProductForm']}
ready()[source]

shoop.campaigns.modules module

class shoop.campaigns.modules.CatalogCampaignModule[source]

Bases: shoop.core.pricing.DiscountModule

identifier = 'catalog_campaigns'
name = <django.utils.functional.lazy.<locals>.__proxy__ object>
discount_price(context, product, price_info)[source]

Get the discounted price for context.

Best discount is selected. Minimum price will be selected if the cheapest price is under that.

class shoop.campaigns.modules.BasketCampaignModule[source]

Bases: shoop.core.order_creator.OrderSourceModifierModule

identifier = 'basket_campaigns'
name = <django.utils.functional.lazy.<locals>.__proxy__ object>
get_new_lines(order_source, lines)[source]
can_use_code(order_source, code)[source]
use_code(order, code)[source]
clear_codes(order)[source]

shoop.campaigns.signal_handlers module

shoop.campaigns.signal_handlers.update_customers_groups(sender, instance, **kwargs)[source]

shoop.campaigns.utils module

shoop.campaigns.utils.get_total_sales(shop, customer)[source]
shoop.campaigns.utils.assign_to_group_based_on_sales(cls, shop, customer, sales_range=None)[source]
shoop.campaigns.utils.get_contacts_in_sales_range(shop, min_value, max_value)[source]

Module contents