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', 'stock_behavior', 'tax_class', 'type', 'width', 'description', 'short_description', 'keywords', 'name', 'slug', 'status_text', 'variation_name')
widgets = {'description': <shuup.admin.forms.widgets.TextEditorWidget object at 0x7fabcd563710>, 'type': <shuup.admin.forms.widgets.QuickAddProductTypeSelect object at 0x7fabcd563ef0>, 'short_description': <django.forms.widgets.TextInput object at 0x7fabcd563d30>, 'keywords': <django.forms.widgets.TextInput object at 0x7fabcd563eb8>, 'manufacturer': <shuup.admin.forms.widgets.QuickAddManufacturerSelect object at 0x7fabcd563048>}
ProductBaseForm.clean_sku()[source]
ProductBaseForm.save()[source]
ProductBaseForm.base_fields = OrderedDict([('accounting_identifier', <django.forms.fields.CharField object at 0x7fabccf15ef0>), ('barcode', <django.forms.fields.CharField object at 0x7fabcd5d7c88>), ('cost_center', <django.forms.fields.CharField object at 0x7fabcdbeb240>), ('depth', <shuup.core.fields.FormattedDecimalFormField object at 0x7fabccf931d0>), ('gross_weight', <shuup.core.fields.FormattedDecimalFormField object at 0x7fabccf937f0>), ('gtin', <django.forms.fields.CharField object at 0x7fabce457278>), ('height', <shuup.core.fields.FormattedDecimalFormField object at 0x7fabccf93470>), ('manufacturer', <django.forms.models.ModelChoiceField object at 0x7fabccf93588>), ('net_weight', <shuup.core.fields.FormattedDecimalFormField object at 0x7fabccf933c8>), ('profit_center', <django.forms.fields.CharField object at 0x7fabcdbeb518>), ('sales_unit', <django.forms.models.ModelChoiceField object at 0x7fabcd55e048>), ('shipping_mode', <enumfields.forms.EnumChoiceField object at 0x7fabcdb6c7b8>), ('sku', <django.forms.fields.CharField object at 0x7fabcd56cb38>), ('stock_behavior', <enumfields.forms.EnumChoiceField object at 0x7fabcdb6c6a0>), ('tax_class', <django.forms.models.ModelChoiceField object at 0x7fabcd5d7630>), ('type', <django.forms.models.ModelChoiceField object at 0x7fabcd239fd0>), ('width', <shuup.core.fields.FormattedDecimalFormField object at 0x7fabccf93630>), ('description', <django.forms.fields.CharField object at 0x7fabccfa76d8>), ('short_description', <django.forms.fields.CharField object at 0x7fabcd2b0f98>), ('keywords', <django.forms.fields.CharField object at 0x7fabcd239f28>), ('name', <django.forms.fields.CharField object at 0x7fabcd563c50>), ('slug', <django.forms.fields.SlugField object at 0x7fabcd373e48>), ('status_text', <django.forms.fields.CharField object at 0x7fabcce10a90>), ('variation_name', <django.forms.fields.CharField object at 0x7fabcdb6c160>), ('file', <django.forms.fields.CharField object at 0x7fabccf9a908>)])
ProductBaseForm.declared_fields = OrderedDict([('file', <django.forms.fields.CharField object at 0x7fabccf9a908>), ('name', <django.forms.fields.CharField object at 0x7fabcd563c50>), ('description', <django.forms.fields.CharField object at 0x7fabccfa76d8>), ('short_description', <django.forms.fields.CharField object at 0x7fabcd2b0f98>), ('slug', <django.forms.fields.SlugField object at 0x7fabcd373e48>), ('keywords', <django.forms.fields.CharField object at 0x7fabcd239f28>), ('status_text', <django.forms.fields.CharField object at 0x7fabcce10a90>), ('variation_name', <django.forms.fields.CharField object at 0x7fabcdb6c160>)])
ProductBaseForm.media
class shuup.admin.modules.products.forms.base_forms.ShopProductForm(**kwargs)[source]

Bases: django.forms.models.ModelForm

class Meta[source]

Bases: object

model

alias of ShopProduct

fields = ('default_price_value', 'minimum_price_value', 'suppliers', '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')
help_texts = {'backorder_maximum': <django.utils.functional.lazy.<locals>.__proxy__ object at 0x7fabccffaa90>}
widgets = {'categories': <shuup.admin.forms.widgets.QuickAddCategoryMultiSelect object at 0x7fabcd839ef0>, 'payment_methods': <shuup.admin.forms.widgets.QuickAddPaymentMethodsSelect object at 0x7fabcd839c88>, 'primary_category': <shuup.admin.forms.widgets.QuickAddCategorySelect object at 0x7fabccf93e80>, 'shipping_methods': <shuup.admin.forms.widgets.QuickAddShippingMethodsSelect object at 0x7fabcd839160>}
ShopProductForm.clean_minimum_purchase_quantity()[source]
ShopProductForm.clean_backorder_maximum()[source]
ShopProductForm.clean()[source]
ShopProductForm.base_fields = OrderedDict([('default_price_value', <shuup.core.fields.FormattedDecimalFormField object at 0x7fabcd2b47f0>), ('minimum_price_value', <shuup.core.fields.FormattedDecimalFormField object at 0x7fabccfcae80>), ('suppliers', <django.forms.models.ModelMultipleChoiceField object at 0x7fabcd839128>), ('visibility', <enumfields.forms.EnumChoiceField object at 0x7fabcd2d0320>), ('purchasable', <django.forms.fields.BooleanField object at 0x7fabcd2d0438>), ('visibility_limit', <enumfields.forms.EnumChoiceField object at 0x7fabcd2d0518>), ('visibility_groups', <django.forms.models.ModelMultipleChoiceField object at 0x7fabcd629860>), ('purchase_multiple', <shuup.core.fields.FormattedDecimalFormField object at 0x7fabccfef0b8>), ('minimum_purchase_quantity', <shuup.core.fields.FormattedDecimalFormField object at 0x7fabcd596320>), ('backorder_maximum', <shuup.core.fields.FormattedDecimalFormField object at 0x7fabccbae5c0>), ('display_unit', <django.forms.models.ModelChoiceField object at 0x7fabccfca470>), ('limit_shipping_methods', <django.forms.fields.BooleanField object at 0x7fabcd596978>), ('limit_payment_methods', <django.forms.fields.BooleanField object at 0x7fabcd596f28>), ('shipping_methods', <django.forms.models.ModelMultipleChoiceField object at 0x7fabcd596438>), ('payment_methods', <django.forms.models.ModelMultipleChoiceField object at 0x7fabce49f2b0>), ('primary_category', <django.forms.models.ModelChoiceField object at 0x7fabcd2b4240>), ('categories', <django.forms.models.ModelMultipleChoiceField object at 0x7fabcd2b48d0>)])
ShopProductForm.declared_fields = OrderedDict()
ShopProductForm.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', 'shops', 'kind')
BaseProductMediaForm.get_thumbnail(request)[source]

Get thumbnail url.

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

BaseProductMediaForm.pre_master_save(instance)[source]
BaseProductMediaForm.base_fields = OrderedDict([('file', <filer.fields.file.AdminFileFormField object at 0x7fabcd5caac8>), ('ordering', <django.forms.fields.IntegerField object at 0x7fabcd51d390>), ('external_url', <django.forms.fields.URLField object at 0x7fabcdbe7cf8>), ('public', <django.forms.fields.BooleanField object at 0x7fabcd51d2e8>), ('title', <django.forms.fields.CharField object at 0x7fabccfca940>), ('description', <django.forms.fields.CharField object at 0x7fabcd5ca4e0>), ('purchased', <django.forms.fields.BooleanField object at 0x7fabcd51d940>), ('shops', <django.forms.models.ModelMultipleChoiceField object at 0x7fabcd5ca908>), ('kind', <enumfields.forms.EnumChoiceField object at 0x7fabcd5ca588>)])
BaseProductMediaForm.declared_fields = OrderedDict([('title', <django.forms.fields.CharField object at 0x7fabccfca940>), ('description', <django.forms.fields.CharField object at 0x7fabcd5ca4e0>)])
BaseProductMediaForm.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]
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 at 0x7fabcd50ad30>), ('ordering', <django.forms.fields.IntegerField object at 0x7fabcd50a940>), ('external_url', <django.forms.fields.URLField object at 0x7fabcd50ae80>), ('public', <django.forms.fields.BooleanField object at 0x7fabcd50ac50>), ('title', <django.forms.fields.CharField object at 0x7fabccfca940>), ('description', <django.forms.fields.CharField object at 0x7fabcd5ca4e0>), ('purchased', <django.forms.fields.BooleanField object at 0x7fabcd50a588>), ('shops', <django.forms.models.ModelMultipleChoiceField object at 0x7fabcd51d240>), ('kind', <enumfields.forms.EnumChoiceField object at 0x7fabcd50a8d0>)])
declared_fields = OrderedDict([('title', <django.forms.fields.CharField object at 0x7fabccfca940>), ('description', <django.forms.fields.CharField object at 0x7fabcd5ca4e0>)])
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

clean_file()[source]
save(commit=True)[source]
base_fields = OrderedDict([('file', <filer.fields.file.AdminFileFormField object at 0x7fabcd5039e8>), ('ordering', <django.forms.fields.IntegerField object at 0x7fabcd503940>), ('external_url', <django.forms.fields.URLField object at 0x7fabcd503dd8>), ('public', <django.forms.fields.BooleanField object at 0x7fabcd503a90>), ('title', <django.forms.fields.CharField object at 0x7fabccfca940>), ('description', <django.forms.fields.CharField object at 0x7fabcd5ca4e0>), ('purchased', <django.forms.fields.BooleanField object at 0x7fabce4b1da0>), ('shops', <django.forms.models.ModelMultipleChoiceField object at 0x7fabcd50a080>), ('kind', <enumfields.forms.EnumChoiceField object at 0x7fabcd6785c0>), ('is_primary', <django.forms.fields.BooleanField object at 0x7fabcd50a400>)])
declared_fields = OrderedDict([('title', <django.forms.fields.CharField object at 0x7fabccfca940>), ('description', <django.forms.fields.CharField object at 0x7fabcd5ca4e0>), ('is_primary', <django.forms.fields.BooleanField object at 0x7fabcd50a400>)])
media
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_stock_statuses()[source]
get_orderability_errors()[source]
base_fields = OrderedDict([('child', <django.forms.models.ModelChoiceField object at 0x7fabcd795860>), ('quantity', <django.forms.fields.DecimalField object at 0x7fabcd7952b0>)])
declared_fields = OrderedDict([('child', <django.forms.models.ModelChoiceField object at 0x7fabcd795860>), ('quantity', <django.forms.fields.DecimalField object at 0x7fabcd7952b0>)])
media
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

shuup.admin.modules.products.forms.simple_variation_forms module

class shuup.admin.modules.products.forms.simple_variation_forms.SimpleVariationChildForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False)[source]

Bases: django.forms.forms.Form

base_fields = OrderedDict([('child', <django.forms.models.ModelChoiceField object at 0x7fabcdc19080>)])
declared_fields = OrderedDict([('child', <django.forms.models.ModelChoiceField object at 0x7fabcdc19080>)])
media
class shuup.admin.modules.products.forms.simple_variation_forms.SimpleVariationChildFormSet(**kwargs)[source]

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

deletion_label = <django.utils.functional.lazy.<locals>.__proxy__ object>
save()[source]
get_selected_and_unlinked()[source]

shuup.admin.modules.products.forms.variable_variation_forms module

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

Bases: django.forms.forms.Form

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

Bases: django.forms.forms.Form

get_variable_data()[source]
get_editor_args()[source]
process_var_datum(var_datum, ordering)[source]
process_val_datum(var, val_datum, ordering)[source]
save()[source]
base_fields = OrderedDict([('data', <django.forms.fields.CharField object at 0x7fabcd75a320>)])
declared_fields = OrderedDict([('data', <django.forms.fields.CharField object at 0x7fabcd75a320>)])
media

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', 'shops', 'kind')
model

alias of ProductMedia

BaseProductMediaForm.base_fields = OrderedDict([('file', <filer.fields.file.AdminFileFormField object at 0x7fabcd5caac8>), ('ordering', <django.forms.fields.IntegerField object at 0x7fabcd51d390>), ('external_url', <django.forms.fields.URLField object at 0x7fabcdbe7cf8>), ('public', <django.forms.fields.BooleanField object at 0x7fabcd51d2e8>), ('title', <django.forms.fields.CharField object at 0x7fabccfca940>), ('description', <django.forms.fields.CharField object at 0x7fabcd5ca4e0>), ('purchased', <django.forms.fields.BooleanField object at 0x7fabcd51d940>), ('shops', <django.forms.models.ModelMultipleChoiceField object at 0x7fabcd5ca908>), ('kind', <enumfields.forms.EnumChoiceField object at 0x7fabcd5ca588>)])
BaseProductMediaForm.declared_fields = OrderedDict([('title', <django.forms.fields.CharField object at 0x7fabccfca940>), ('description', <django.forms.fields.CharField object at 0x7fabcd5ca4e0>)])
BaseProductMediaForm.get_thumbnail(request)[source]

Get thumbnail url.

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

BaseProductMediaForm.media
BaseProductMediaForm.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 at 0x7fabcd795860>), ('quantity', <django.forms.fields.DecimalField object at 0x7fabcd7952b0>)])
declared_fields = OrderedDict([('child', <django.forms.models.ModelChoiceField object at 0x7fabcd795860>), ('quantity', <django.forms.fields.DecimalField object at 0x7fabcd7952b0>)])
get_orderability_errors()[source]
get_stock_statuses()[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', 'stock_behavior', 'tax_class', 'type', 'width', 'description', 'short_description', 'keywords', 'name', 'slug', 'status_text', 'variation_name')
model

alias of Product

widgets = {'description': <shuup.admin.forms.widgets.TextEditorWidget object at 0x7fabcd563710>, 'type': <shuup.admin.forms.widgets.QuickAddProductTypeSelect object at 0x7fabcd563ef0>, 'short_description': <django.forms.widgets.TextInput object at 0x7fabcd563d30>, 'keywords': <django.forms.widgets.TextInput object at 0x7fabcd563eb8>, 'manufacturer': <shuup.admin.forms.widgets.QuickAddManufacturerSelect object at 0x7fabcd563048>}
ProductBaseForm.base_fields = OrderedDict([('accounting_identifier', <django.forms.fields.CharField object at 0x7fabccf15ef0>), ('barcode', <django.forms.fields.CharField object at 0x7fabcd5d7c88>), ('cost_center', <django.forms.fields.CharField object at 0x7fabcdbeb240>), ('depth', <shuup.core.fields.FormattedDecimalFormField object at 0x7fabccf931d0>), ('gross_weight', <shuup.core.fields.FormattedDecimalFormField object at 0x7fabccf937f0>), ('gtin', <django.forms.fields.CharField object at 0x7fabce457278>), ('height', <shuup.core.fields.FormattedDecimalFormField object at 0x7fabccf93470>), ('manufacturer', <django.forms.models.ModelChoiceField object at 0x7fabccf93588>), ('net_weight', <shuup.core.fields.FormattedDecimalFormField object at 0x7fabccf933c8>), ('profit_center', <django.forms.fields.CharField object at 0x7fabcdbeb518>), ('sales_unit', <django.forms.models.ModelChoiceField object at 0x7fabcd55e048>), ('shipping_mode', <enumfields.forms.EnumChoiceField object at 0x7fabcdb6c7b8>), ('sku', <django.forms.fields.CharField object at 0x7fabcd56cb38>), ('stock_behavior', <enumfields.forms.EnumChoiceField object at 0x7fabcdb6c6a0>), ('tax_class', <django.forms.models.ModelChoiceField object at 0x7fabcd5d7630>), ('type', <django.forms.models.ModelChoiceField object at 0x7fabcd239fd0>), ('width', <shuup.core.fields.FormattedDecimalFormField object at 0x7fabccf93630>), ('description', <django.forms.fields.CharField object at 0x7fabccfa76d8>), ('short_description', <django.forms.fields.CharField object at 0x7fabcd2b0f98>), ('keywords', <django.forms.fields.CharField object at 0x7fabcd239f28>), ('name', <django.forms.fields.CharField object at 0x7fabcd563c50>), ('slug', <django.forms.fields.SlugField object at 0x7fabcd373e48>), ('status_text', <django.forms.fields.CharField object at 0x7fabcce10a90>), ('variation_name', <django.forms.fields.CharField object at 0x7fabcdb6c160>), ('file', <django.forms.fields.CharField object at 0x7fabccf9a908>)])
ProductBaseForm.clean_sku()[source]
ProductBaseForm.declared_fields = OrderedDict([('file', <django.forms.fields.CharField object at 0x7fabccf9a908>), ('name', <django.forms.fields.CharField object at 0x7fabcd563c50>), ('description', <django.forms.fields.CharField object at 0x7fabccfa76d8>), ('short_description', <django.forms.fields.CharField object at 0x7fabcd2b0f98>), ('slug', <django.forms.fields.SlugField object at 0x7fabcd373e48>), ('keywords', <django.forms.fields.CharField object at 0x7fabcd239f28>), ('status_text', <django.forms.fields.CharField object at 0x7fabcce10a90>), ('variation_name', <django.forms.fields.CharField object at 0x7fabcdb6c160>)])
ProductBaseForm.media
ProductBaseForm.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 at 0x7fabcd5039e8>), ('ordering', <django.forms.fields.IntegerField object at 0x7fabcd503940>), ('external_url', <django.forms.fields.URLField object at 0x7fabcd503dd8>), ('public', <django.forms.fields.BooleanField object at 0x7fabcd503a90>), ('title', <django.forms.fields.CharField object at 0x7fabccfca940>), ('description', <django.forms.fields.CharField object at 0x7fabcd5ca4e0>), ('purchased', <django.forms.fields.BooleanField object at 0x7fabce4b1da0>), ('shops', <django.forms.models.ModelMultipleChoiceField object at 0x7fabcd50a080>), ('kind', <enumfields.forms.EnumChoiceField object at 0x7fabcd6785c0>), ('is_primary', <django.forms.fields.BooleanField object at 0x7fabcd50a400>)])
clean_file()[source]
declared_fields = OrderedDict([('title', <django.forms.fields.CharField object at 0x7fabccfca940>), ('description', <django.forms.fields.CharField object at 0x7fabcd5ca4e0>), ('is_primary', <django.forms.fields.BooleanField object at 0x7fabcd50a400>)])
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 at 0x7fabcd50ad30>), ('ordering', <django.forms.fields.IntegerField object at 0x7fabcd50a940>), ('external_url', <django.forms.fields.URLField object at 0x7fabcd50ae80>), ('public', <django.forms.fields.BooleanField object at 0x7fabcd50ac50>), ('title', <django.forms.fields.CharField object at 0x7fabccfca940>), ('description', <django.forms.fields.CharField object at 0x7fabcd5ca4e0>), ('purchased', <django.forms.fields.BooleanField object at 0x7fabcd50a588>), ('shops', <django.forms.models.ModelMultipleChoiceField object at 0x7fabcd51d240>), ('kind', <enumfields.forms.EnumChoiceField object at 0x7fabcd50a8d0>)])
clean_external_url()[source]
declared_fields = OrderedDict([('title', <django.forms.fields.CharField object at 0x7fabccfca940>), ('description', <django.forms.fields.CharField object at 0x7fabcd5ca4e0>)])
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: django.forms.models.ModelForm

class Meta[source]

Bases: object

fields = ('default_price_value', 'minimum_price_value', 'suppliers', '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')
help_texts = {'backorder_maximum': <django.utils.functional.lazy.<locals>.__proxy__ object at 0x7fabccffaa90>}
model

alias of ShopProduct

widgets = {'categories': <shuup.admin.forms.widgets.QuickAddCategoryMultiSelect object at 0x7fabcd839ef0>, 'payment_methods': <shuup.admin.forms.widgets.QuickAddPaymentMethodsSelect object at 0x7fabcd839c88>, 'primary_category': <shuup.admin.forms.widgets.QuickAddCategorySelect object at 0x7fabccf93e80>, 'shipping_methods': <shuup.admin.forms.widgets.QuickAddShippingMethodsSelect object at 0x7fabcd839160>}
ShopProductForm.base_fields = OrderedDict([('default_price_value', <shuup.core.fields.FormattedDecimalFormField object at 0x7fabcd2b47f0>), ('minimum_price_value', <shuup.core.fields.FormattedDecimalFormField object at 0x7fabccfcae80>), ('suppliers', <django.forms.models.ModelMultipleChoiceField object at 0x7fabcd839128>), ('visibility', <enumfields.forms.EnumChoiceField object at 0x7fabcd2d0320>), ('purchasable', <django.forms.fields.BooleanField object at 0x7fabcd2d0438>), ('visibility_limit', <enumfields.forms.EnumChoiceField object at 0x7fabcd2d0518>), ('visibility_groups', <django.forms.models.ModelMultipleChoiceField object at 0x7fabcd629860>), ('purchase_multiple', <shuup.core.fields.FormattedDecimalFormField object at 0x7fabccfef0b8>), ('minimum_purchase_quantity', <shuup.core.fields.FormattedDecimalFormField object at 0x7fabcd596320>), ('backorder_maximum', <shuup.core.fields.FormattedDecimalFormField object at 0x7fabccbae5c0>), ('display_unit', <django.forms.models.ModelChoiceField object at 0x7fabccfca470>), ('limit_shipping_methods', <django.forms.fields.BooleanField object at 0x7fabcd596978>), ('limit_payment_methods', <django.forms.fields.BooleanField object at 0x7fabcd596f28>), ('shipping_methods', <django.forms.models.ModelMultipleChoiceField object at 0x7fabcd596438>), ('payment_methods', <django.forms.models.ModelMultipleChoiceField object at 0x7fabce49f2b0>), ('primary_category', <django.forms.models.ModelChoiceField object at 0x7fabcd2b4240>), ('categories', <django.forms.models.ModelMultipleChoiceField object at 0x7fabcd2b48d0>)])
ShopProductForm.clean()[source]
ShopProductForm.clean_backorder_maximum()[source]
ShopProductForm.clean_minimum_purchase_quantity()[source]
ShopProductForm.declared_fields = OrderedDict()
ShopProductForm.media
class shuup.admin.modules.products.forms.SimpleVariationChildForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False)[source]

Bases: django.forms.forms.Form

base_fields = OrderedDict([('child', <django.forms.models.ModelChoiceField object at 0x7fabcdc19080>)])
declared_fields = OrderedDict([('child', <django.forms.models.ModelChoiceField object at 0x7fabcdc19080>)])
media
class shuup.admin.modules.products.forms.SimpleVariationChildFormSet(**kwargs)[source]

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

deletion_label = <django.utils.functional.lazy.<locals>.__proxy__ object>
get_selected_and_unlinked()[source]
save()[source]
class shuup.admin.modules.products.forms.VariableVariationChildrenForm(**kwargs)[source]

Bases: django.forms.forms.Form

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

Bases: django.forms.forms.Form

base_fields = OrderedDict([('data', <django.forms.fields.CharField object at 0x7fabcd75a320>)])
declared_fields = OrderedDict([('data', <django.forms.fields.CharField object at 0x7fabcd75a320>)])
get_editor_args()[source]
get_variable_data()[source]
media
process_val_datum(var, val_datum, ordering)[source]
process_var_datum(var_datum, ordering)[source]
save()[source]