shuup.admin.modules.products.forms package

Submodules

shuup.admin.modules.products.forms.base_forms module

class shuup.admin.modules.products.forms.base_forms.ProductBaseForm(**kwargs)[source]

Bases: shuup.utils.multilanguage_model_form.MultiLanguageModelForm

class Meta[source]

Bases: object

model

alias of Product

fields = ('accounting_identifier', 'barcode', 'cost_center', 'depth', 'gross_weight', 'gtin', 'height', 'manufacturer', 'net_weight', 'profit_center', 'sales_unit', 'shipping_mode', 'sku', 'tax_class', 'type', 'width', 'description', 'short_description', 'keywords', 'name', 'slug', 'variation_name')
widgets = {'keywords': <django.forms.widgets.TextInput object>, 'sales_unit': <shuup.admin.forms.widgets.QuickAddSalesUnitSelect object>, 'tax_class': <shuup.admin.forms.widgets.QuickAddTaxClassSelect object>, 'description': <shuup.admin.forms.widgets.TextEditorWidget object>, 'short_description': <django.forms.widgets.TextInput object>}
clean_sku()[source]
save()[source]
clean()[source]
base_fields = OrderedDict([('accounting_identifier', <django.forms.fields.CharField object>), ('barcode', <django.forms.fields.CharField object>), ('cost_center', <django.forms.fields.CharField object>), ('depth', <shuup.core.fields.FormattedDecimalFormField object>), ('gross_weight', <shuup.core.fields.FormattedDecimalFormField object>), ('gtin', <django.forms.fields.CharField object>), ('height', <shuup.core.fields.FormattedDecimalFormField object>), ('manufacturer', <django.forms.models.ModelChoiceField object>), ('net_weight', <shuup.core.fields.FormattedDecimalFormField object>), ('profit_center', <django.forms.fields.CharField object>), ('sales_unit', <django.forms.models.ModelChoiceField object>), ('shipping_mode', <enumfields.forms.EnumChoiceField object>), ('sku', <django.forms.fields.CharField object>), ('tax_class', <django.forms.models.ModelChoiceField object>), ('type', <django.forms.models.ModelChoiceField object>), ('width', <shuup.core.fields.FormattedDecimalFormField object>), ('description', <django.forms.fields.CharField object>), ('short_description', <django.forms.fields.CharField object>), ('keywords', <django.forms.fields.CharField object>), ('name', <django.forms.fields.CharField object>), ('slug', <django.forms.fields.SlugField object>), ('variation_name', <django.forms.fields.CharField object>), ('file', <django.forms.fields.CharField object>)])
declared_fields = OrderedDict([('file', <django.forms.fields.CharField object>), ('name', <django.forms.fields.CharField object>), ('description', <django.forms.fields.CharField object>), ('short_description', <django.forms.fields.CharField object>), ('slug', <django.forms.fields.SlugField object>), ('keywords', <django.forms.fields.CharField object>), ('variation_name', <django.forms.fields.CharField object>)])
media
class shuup.admin.modules.products.forms.base_forms.ShopProductForm(**kwargs)[source]

Bases: shuup.utils.multilanguage_model_form.MultiLanguageModelForm

class Meta[source]

Bases: object

model

alias of ShopProduct

fields = ('default_price_value', 'minimum_price_value', 'suppliers', 'available_until', 'visibility', 'purchasable', 'visibility_limit', 'visibility_groups', 'purchase_multiple', 'minimum_purchase_quantity', 'backorder_maximum', 'display_unit', 'limit_shipping_methods', 'limit_payment_methods', 'shipping_methods', 'payment_methods', 'primary_category', 'categories', 'status_text')
help_texts = {'backorder_maximum': 'Number of units that can be purchased after the product is out of stock. Set to blank for product to be purchasable without limits.'}
widgets = {'display_unit': <shuup.admin.forms.widgets.QuickAddDisplayUnitSelect object>, 'payment_methods': <shuup.admin.forms.widgets.QuickAddPaymentMethodsSelect object>, 'shipping_methods': <shuup.admin.forms.widgets.QuickAddShippingMethodsSelect object>}
clean_minimum_purchase_quantity()[source]
clean_backorder_maximum()[source]
clean()[source]
base_fields = OrderedDict([('default_price_value', <shuup.core.fields.FormattedDecimalFormField object>), ('minimum_price_value', <shuup.core.fields.FormattedDecimalFormField object>), ('suppliers', <django.forms.models.ModelMultipleChoiceField object>), ('available_until', <django.forms.fields.DateTimeField object>), ('visibility', <enumfields.forms.EnumChoiceField object>), ('purchasable', <django.forms.fields.BooleanField object>), ('visibility_limit', <enumfields.forms.EnumChoiceField object>), ('visibility_groups', <django.forms.models.ModelMultipleChoiceField object>), ('purchase_multiple', <shuup.core.fields.FormattedDecimalFormField object>), ('minimum_purchase_quantity', <shuup.core.fields.FormattedDecimalFormField object>), ('backorder_maximum', <shuup.core.fields.FormattedDecimalFormField object>), ('display_unit', <django.forms.models.ModelChoiceField object>), ('limit_shipping_methods', <django.forms.fields.BooleanField object>), ('limit_payment_methods', <django.forms.fields.BooleanField object>), ('shipping_methods', <django.forms.models.ModelMultipleChoiceField object>), ('payment_methods', <django.forms.models.ModelMultipleChoiceField object>), ('primary_category', <django.forms.models.ModelChoiceField object>), ('categories', <django.forms.models.ModelMultipleChoiceField object>), ('status_text', <django.forms.fields.CharField object>)])
declared_fields = OrderedDict([('status_text', <django.forms.fields.CharField object>)])
media
class shuup.admin.modules.products.forms.base_forms.ProductAttributesForm(**kwargs)[source]

Bases: django.forms.forms.Form

save()[source]
base_fields = OrderedDict()
declared_fields = OrderedDict()
media
class shuup.admin.modules.products.forms.base_forms.BaseProductMediaForm(**kwargs)[source]

Bases: shuup.utils.multilanguage_model_form.MultiLanguageModelForm

class Meta[source]

Bases: object

model

alias of ProductMedia

fields = ('file', 'ordering', 'external_url', 'public', 'title', 'description', 'purchased', 'kind')
get_thumbnail(request)[source]

Get thumbnail url.

If thumbnail creation fails for whatever reason, an error message is displayed for user.

pre_master_save(instance)[source]
base_fields = OrderedDict([('file', <filer.fields.file.AdminFileFormField object>), ('ordering', <django.forms.fields.IntegerField object>), ('external_url', <django.forms.fields.URLField object>), ('public', <django.forms.fields.BooleanField object>), ('title', <django.forms.fields.CharField object>), ('description', <django.forms.fields.CharField object>), ('purchased', <django.forms.fields.BooleanField object>), ('kind', <enumfields.forms.EnumChoiceField object>)])
declared_fields = OrderedDict([('title', <django.forms.fields.CharField object>), ('description', <django.forms.fields.CharField object>)])
media
class shuup.admin.modules.products.forms.base_forms.BaseProductMediaFormSet(*args, **kwargs)[source]

Bases: django.forms.models.BaseModelFormSet

validate_min = False
min_num = 0
validate_max = False
max_num = 1000
absolute_max = 1000
model

alias of ProductMedia

can_delete = True
can_order = False
extra = 0
allowed_media_kinds = []
get_queryset()[source]
form(**kwargs)[source]
save(commit=True)[source]
class shuup.admin.modules.products.forms.base_forms.ProductMediaForm(**kwargs)[source]

Bases: shuup.admin.modules.products.forms.base_forms.BaseProductMediaForm

clean_external_url()[source]
base_fields = OrderedDict([('file', <filer.fields.file.AdminFileFormField object>), ('ordering', <django.forms.fields.IntegerField object>), ('external_url', <django.forms.fields.URLField object>), ('public', <django.forms.fields.BooleanField object>), ('title', <django.forms.fields.CharField object>), ('description', <django.forms.fields.CharField object>), ('purchased', <django.forms.fields.BooleanField object>), ('kind', <enumfields.forms.EnumChoiceField object>)])
declared_fields = OrderedDict([('title', <django.forms.fields.CharField object>), ('description', <django.forms.fields.CharField object>)])
media
class shuup.admin.modules.products.forms.base_forms.ProductMediaFormSet(*args, **kwargs)[source]

Bases: shuup.admin.modules.products.forms.base_forms.BaseProductMediaFormSet

form_class

alias of ProductMediaForm

allowed_media_kinds = [<ProductMediaKind.GENERIC_FILE: 1>, <ProductMediaKind.DOCUMENTATION: 3>, <ProductMediaKind.SAMPLE: 4>]
class shuup.admin.modules.products.forms.base_forms.ProductImageMediaForm(**kwargs)[source]

Bases: shuup.admin.modules.products.forms.base_forms.BaseProductMediaForm

base_fields = OrderedDict([('file', <filer.fields.file.AdminFileFormField object>), ('ordering', <django.forms.fields.IntegerField object>), ('external_url', <django.forms.fields.URLField object>), ('public', <django.forms.fields.BooleanField object>), ('title', <django.forms.fields.CharField object>), ('description', <django.forms.fields.CharField object>), ('purchased', <django.forms.fields.BooleanField object>), ('kind', <enumfields.forms.EnumChoiceField object>), ('is_primary', <django.forms.fields.BooleanField object>)])
clean_file()[source]
declared_fields = OrderedDict([('title', <django.forms.fields.CharField object>), ('description', <django.forms.fields.CharField object>), ('is_primary', <django.forms.fields.BooleanField object>)])
media
save(commit=True)[source]
class shuup.admin.modules.products.forms.base_forms.ProductImageMediaFormSet(*args, **kwargs)[source]

Bases: shuup.admin.modules.products.forms.base_forms.ProductMediaFormSet

allowed_media_kinds = [<ProductMediaKind.IMAGE: 2>]
form_class

alias of ProductImageMediaForm

save(commit=True)[source]

Save the form.

In addition add the first saved image as primary image for the product if none is selected as such.

shuup.admin.modules.products.forms.package_forms module

class shuup.admin.modules.products.forms.package_forms.PackageChildForm(**kwargs)[source]

Bases: django.forms.forms.Form

get_shop_products(user)[source]
get_stock_statuses(user=None)[source]
get_orderability_errors(user=None)[source]
base_fields = OrderedDict([('child', <django.forms.models.ModelChoiceField object>), ('quantity', <django.forms.fields.DecimalField object>)])
declared_fields = OrderedDict([('child', <django.forms.models.ModelChoiceField object>), ('quantity', <django.forms.fields.DecimalField object>)])
media
shuup.admin.modules.products.forms.package_forms.get_stock_statuses(product, shop_products)[source]
shuup.admin.modules.products.forms.package_forms.get_orderability_errors(product, shop_products)[source]
class shuup.admin.modules.products.forms.package_forms.PackageChildFormSet(**kwargs)[source]

Bases: shuup.admin.modules.products.forms.parent_forms.ProductChildBaseFormSet

deletion_label = ''
save()[source]
get_selected_and_removed()[source]

shuup.admin.modules.products.forms.parent_forms module

class shuup.admin.modules.products.forms.parent_forms.ProductChildBaseFormSet(**kwargs)[source]

Bases: django.forms.formsets.BaseFormSet

deletion_label = None

Module contents

class shuup.admin.modules.products.forms.BaseProductMediaForm(**kwargs)[source]

Bases: shuup.utils.multilanguage_model_form.MultiLanguageModelForm

class Meta[source]

Bases: object

fields = ('file', 'ordering', 'external_url', 'public', 'title', 'description', 'purchased', 'kind')
model

alias of ProductMedia

base_fields = OrderedDict([('file', <filer.fields.file.AdminFileFormField object>), ('ordering', <django.forms.fields.IntegerField object>), ('external_url', <django.forms.fields.URLField object>), ('public', <django.forms.fields.BooleanField object>), ('title', <django.forms.fields.CharField object>), ('description', <django.forms.fields.CharField object>), ('purchased', <django.forms.fields.BooleanField object>), ('kind', <enumfields.forms.EnumChoiceField object>)])
declared_fields = OrderedDict([('title', <django.forms.fields.CharField object>), ('description', <django.forms.fields.CharField object>)])
get_thumbnail(request)[source]

Get thumbnail url.

If thumbnail creation fails for whatever reason, an error message is displayed for user.

media
pre_master_save(instance)[source]
class shuup.admin.modules.products.forms.PackageChildForm(**kwargs)[source]

Bases: django.forms.forms.Form

base_fields = OrderedDict([('child', <django.forms.models.ModelChoiceField object>), ('quantity', <django.forms.fields.DecimalField object>)])
declared_fields = OrderedDict([('child', <django.forms.models.ModelChoiceField object>), ('quantity', <django.forms.fields.DecimalField object>)])
get_orderability_errors(user=None)[source]
get_shop_products(user)[source]
get_stock_statuses(user=None)[source]
media
class shuup.admin.modules.products.forms.PackageChildFormSet(**kwargs)[source]

Bases: shuup.admin.modules.products.forms.parent_forms.ProductChildBaseFormSet

deletion_label = ''
get_selected_and_removed()[source]
save()[source]
class shuup.admin.modules.products.forms.ProductAttributesForm(**kwargs)[source]

Bases: django.forms.forms.Form

base_fields = OrderedDict()
declared_fields = OrderedDict()
media
save()[source]
class shuup.admin.modules.products.forms.ProductBaseForm(**kwargs)[source]

Bases: shuup.utils.multilanguage_model_form.MultiLanguageModelForm

class Meta[source]

Bases: object

fields = ('accounting_identifier', 'barcode', 'cost_center', 'depth', 'gross_weight', 'gtin', 'height', 'manufacturer', 'net_weight', 'profit_center', 'sales_unit', 'shipping_mode', 'sku', 'tax_class', 'type', 'width', 'description', 'short_description', 'keywords', 'name', 'slug', 'variation_name')
model

alias of Product

widgets = {'keywords': <django.forms.widgets.TextInput object>, 'sales_unit': <shuup.admin.forms.widgets.QuickAddSalesUnitSelect object>, 'tax_class': <shuup.admin.forms.widgets.QuickAddTaxClassSelect object>, 'description': <shuup.admin.forms.widgets.TextEditorWidget object>, 'short_description': <django.forms.widgets.TextInput object>}
base_fields = OrderedDict([('accounting_identifier', <django.forms.fields.CharField object>), ('barcode', <django.forms.fields.CharField object>), ('cost_center', <django.forms.fields.CharField object>), ('depth', <shuup.core.fields.FormattedDecimalFormField object>), ('gross_weight', <shuup.core.fields.FormattedDecimalFormField object>), ('gtin', <django.forms.fields.CharField object>), ('height', <shuup.core.fields.FormattedDecimalFormField object>), ('manufacturer', <django.forms.models.ModelChoiceField object>), ('net_weight', <shuup.core.fields.FormattedDecimalFormField object>), ('profit_center', <django.forms.fields.CharField object>), ('sales_unit', <django.forms.models.ModelChoiceField object>), ('shipping_mode', <enumfields.forms.EnumChoiceField object>), ('sku', <django.forms.fields.CharField object>), ('tax_class', <django.forms.models.ModelChoiceField object>), ('type', <django.forms.models.ModelChoiceField object>), ('width', <shuup.core.fields.FormattedDecimalFormField object>), ('description', <django.forms.fields.CharField object>), ('short_description', <django.forms.fields.CharField object>), ('keywords', <django.forms.fields.CharField object>), ('name', <django.forms.fields.CharField object>), ('slug', <django.forms.fields.SlugField object>), ('variation_name', <django.forms.fields.CharField object>), ('file', <django.forms.fields.CharField object>)])
clean()[source]
clean_sku()[source]
declared_fields = OrderedDict([('file', <django.forms.fields.CharField object>), ('name', <django.forms.fields.CharField object>), ('description', <django.forms.fields.CharField object>), ('short_description', <django.forms.fields.CharField object>), ('slug', <django.forms.fields.SlugField object>), ('keywords', <django.forms.fields.CharField object>), ('variation_name', <django.forms.fields.CharField object>)])
media
save()[source]
class shuup.admin.modules.products.forms.ProductImageMediaForm(**kwargs)[source]

Bases: shuup.admin.modules.products.forms.base_forms.BaseProductMediaForm

base_fields = OrderedDict([('file', <filer.fields.file.AdminFileFormField object>), ('ordering', <django.forms.fields.IntegerField object>), ('external_url', <django.forms.fields.URLField object>), ('public', <django.forms.fields.BooleanField object>), ('title', <django.forms.fields.CharField object>), ('description', <django.forms.fields.CharField object>), ('purchased', <django.forms.fields.BooleanField object>), ('kind', <enumfields.forms.EnumChoiceField object>), ('is_primary', <django.forms.fields.BooleanField object>)])
clean_file()[source]
declared_fields = OrderedDict([('title', <django.forms.fields.CharField object>), ('description', <django.forms.fields.CharField object>), ('is_primary', <django.forms.fields.BooleanField object>)])
media
save(commit=True)[source]
class shuup.admin.modules.products.forms.ProductImageMediaFormSet(*args, **kwargs)[source]

Bases: shuup.admin.modules.products.forms.base_forms.ProductMediaFormSet

allowed_media_kinds = [<ProductMediaKind.IMAGE: 2>]
form_class

alias of ProductImageMediaForm

save(commit=True)[source]

Save the form.

In addition add the first saved image as primary image for the product if none is selected as such.

class shuup.admin.modules.products.forms.ProductMediaForm(**kwargs)[source]

Bases: shuup.admin.modules.products.forms.base_forms.BaseProductMediaForm

base_fields = OrderedDict([('file', <filer.fields.file.AdminFileFormField object>), ('ordering', <django.forms.fields.IntegerField object>), ('external_url', <django.forms.fields.URLField object>), ('public', <django.forms.fields.BooleanField object>), ('title', <django.forms.fields.CharField object>), ('description', <django.forms.fields.CharField object>), ('purchased', <django.forms.fields.BooleanField object>), ('kind', <enumfields.forms.EnumChoiceField object>)])
clean_external_url()[source]
declared_fields = OrderedDict([('title', <django.forms.fields.CharField object>), ('description', <django.forms.fields.CharField object>)])
media
class shuup.admin.modules.products.forms.ProductMediaFormSet(*args, **kwargs)[source]

Bases: shuup.admin.modules.products.forms.base_forms.BaseProductMediaFormSet

allowed_media_kinds = [<ProductMediaKind.GENERIC_FILE: 1>, <ProductMediaKind.DOCUMENTATION: 3>, <ProductMediaKind.SAMPLE: 4>]
form_class

alias of ProductMediaForm

class shuup.admin.modules.products.forms.ShopProductForm(**kwargs)[source]

Bases: shuup.utils.multilanguage_model_form.MultiLanguageModelForm

class Meta[source]

Bases: object

fields = ('default_price_value', 'minimum_price_value', 'suppliers', 'available_until', 'visibility', 'purchasable', 'visibility_limit', 'visibility_groups', 'purchase_multiple', 'minimum_purchase_quantity', 'backorder_maximum', 'display_unit', 'limit_shipping_methods', 'limit_payment_methods', 'shipping_methods', 'payment_methods', 'primary_category', 'categories', 'status_text')
help_texts = {'backorder_maximum': 'Number of units that can be purchased after the product is out of stock. Set to blank for product to be purchasable without limits.'}
model

alias of ShopProduct

widgets = {'display_unit': <shuup.admin.forms.widgets.QuickAddDisplayUnitSelect object>, 'payment_methods': <shuup.admin.forms.widgets.QuickAddPaymentMethodsSelect object>, 'shipping_methods': <shuup.admin.forms.widgets.QuickAddShippingMethodsSelect object>}
base_fields = OrderedDict([('default_price_value', <shuup.core.fields.FormattedDecimalFormField object>), ('minimum_price_value', <shuup.core.fields.FormattedDecimalFormField object>), ('suppliers', <django.forms.models.ModelMultipleChoiceField object>), ('available_until', <django.forms.fields.DateTimeField object>), ('visibility', <enumfields.forms.EnumChoiceField object>), ('purchasable', <django.forms.fields.BooleanField object>), ('visibility_limit', <enumfields.forms.EnumChoiceField object>), ('visibility_groups', <django.forms.models.ModelMultipleChoiceField object>), ('purchase_multiple', <shuup.core.fields.FormattedDecimalFormField object>), ('minimum_purchase_quantity', <shuup.core.fields.FormattedDecimalFormField object>), ('backorder_maximum', <shuup.core.fields.FormattedDecimalFormField object>), ('display_unit', <django.forms.models.ModelChoiceField object>), ('limit_shipping_methods', <django.forms.fields.BooleanField object>), ('limit_payment_methods', <django.forms.fields.BooleanField object>), ('shipping_methods', <django.forms.models.ModelMultipleChoiceField object>), ('payment_methods', <django.forms.models.ModelMultipleChoiceField object>), ('primary_category', <django.forms.models.ModelChoiceField object>), ('categories', <django.forms.models.ModelMultipleChoiceField object>), ('status_text', <django.forms.fields.CharField object>)])
clean()[source]
clean_backorder_maximum()[source]
clean_minimum_purchase_quantity()[source]
declared_fields = OrderedDict([('status_text', <django.forms.fields.CharField object>)])
media