shoop.admin.modules.products.forms package

Submodules

shoop.admin.modules.products.forms.base_forms module

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

Bases: shoop.utils.multilanguage_model_form.MultiLanguageModelForm

class Meta[source]

Bases: object

model

alias of Product

fields = ('accounting_identifier', 'barcode', 'category', 'cost_center', 'depth', 'gross_weight', 'gtin', 'height', 'manufacturer', 'net_weight', 'profit_center', 'sales_unit', 'shipping_mode', 'sku', 'stock_behavior', 'tax_class', 'type', 'width', 'description', 'keywords', 'name', 'status_text', 'variation_name')
widgets = {'keywords': <django.forms.widgets.TextInput object at 0x7f53029a62b0>}
ProductBaseForm.base_fields = OrderedDict([('accounting_identifier', <django.forms.fields.CharField object at 0x7f530303c7b8>), ('barcode', <django.forms.fields.CharField object at 0x7f530303c4a8>), ('category', <django.forms.models.ModelChoiceField object at 0x7f5302f59dd8>), ('cost_center', <django.forms.fields.CharField object at 0x7f530303ce10>), ('depth', <shoop.core.fields.FormattedDecimalFormField object at 0x7f5302e5e080>), ('gross_weight', <shoop.core.fields.FormattedDecimalFormField object at 0x7f5302e5ed68>), ('gtin', <django.forms.fields.CharField object at 0x7f530303ca20>), ('height', <shoop.core.fields.FormattedDecimalFormField object at 0x7f5302e5ef28>), ('manufacturer', <django.forms.models.ModelChoiceField object at 0x7f5302e5edd8>), ('net_weight', <shoop.core.fields.FormattedDecimalFormField object at 0x7f5302e5e860>), ('profit_center', <django.forms.fields.CharField object at 0x7f5303469ef0>), ('sales_unit', <django.forms.models.ModelChoiceField object at 0x7f5302f52a20>), ('shipping_mode', <enumfields.forms.EnumChoiceField object at 0x7f5302f52470>), ('sku', <django.forms.fields.CharField object at 0x7f530303c5f8>), ('stock_behavior', <enumfields.forms.EnumChoiceField object at 0x7f5302920748>), ('tax_class', <django.forms.models.ModelChoiceField object at 0x7f5302995da0>), ('type', <django.forms.models.ModelChoiceField object at 0x7f530303c208>), ('width', <shoop.core.fields.FormattedDecimalFormField object at 0x7f530298f1d0>), ('description', <django.forms.fields.CharField object at 0x7f530303dba8>), ('keywords', <django.forms.fields.CharField object at 0x7f53029a4908>), ('name', <django.forms.fields.CharField object at 0x7f530303d390>), ('status_text', <django.forms.fields.CharField object at 0x7f5302920860>), ('variation_name', <django.forms.fields.CharField object at 0x7f5302f523c8>)])
ProductBaseForm.declared_fields = OrderedDict([('name', <django.forms.fields.CharField object at 0x7f530303d390>), ('description', <django.forms.fields.CharField object at 0x7f530303dba8>), ('keywords', <django.forms.fields.CharField object at 0x7f53029a4908>), ('status_text', <django.forms.fields.CharField object at 0x7f5302920860>), ('variation_name', <django.forms.fields.CharField object at 0x7f5302f523c8>)])
ProductBaseForm.media
class shoop.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', 'visible', 'listed', 'purchasable', 'searchable', 'visibility_limit', 'visibility_groups', 'purchase_multiple', 'minimum_purchase_quantity', 'limit_shipping_methods', 'limit_payment_methods', 'shipping_methods', 'payment_methods', 'primary_category', 'categories')
ShopProductForm.clean_minimum_purchase_quantity()[source]
ShopProductForm.base_fields = OrderedDict([('default_price_value', <shoop.core.fields.FormattedDecimalFormField object at 0x7f530307b320>), ('minimum_price_value', <shoop.core.fields.FormattedDecimalFormField object at 0x7f530307beb8>), ('suppliers', <django.forms.models.ModelMultipleChoiceField object at 0x7f5302f59be0>), ('visible', <django.forms.fields.BooleanField object at 0x7f5302f59d30>), ('listed', <django.forms.fields.BooleanField object at 0x7f5302e5e780>), ('purchasable', <django.forms.fields.BooleanField object at 0x7f5302f590b8>), ('searchable', <django.forms.fields.BooleanField object at 0x7f5302ad3470>), ('visibility_limit', <enumfields.forms.EnumChoiceField object at 0x7f5302f59ba8>), ('visibility_groups', <django.forms.models.ModelMultipleChoiceField object at 0x7f5302f59898>), ('purchase_multiple', <shoop.core.fields.FormattedDecimalFormField object at 0x7f5303874be0>), ('minimum_purchase_quantity', <shoop.core.fields.FormattedDecimalFormField object at 0x7f5303874b70>), ('limit_shipping_methods', <django.forms.fields.BooleanField object at 0x7f53038740f0>), ('limit_payment_methods', <django.forms.fields.BooleanField object at 0x7f53038747b8>), ('shipping_methods', <django.forms.models.ModelMultipleChoiceField object at 0x7f53038746a0>), ('payment_methods', <django.forms.models.ModelMultipleChoiceField object at 0x7f5303874160>), ('primary_category', <django.forms.models.ModelChoiceField object at 0x7f53029fdda0>), ('categories', <django.forms.models.ModelMultipleChoiceField object at 0x7f5303874940>)])
ShopProductForm.declared_fields = OrderedDict()
ShopProductForm.media
class shoop.admin.modules.products.forms.base_forms.ProductAttributesForm(**kwargs)[source]

Bases: django.forms.forms.Form

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

Bases: shoop.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 0x7f5302b21ac8>), ('ordering', <django.forms.fields.IntegerField object at 0x7f5302920710>), ('external_url', <django.forms.fields.URLField object at 0x7f5302b218d0>), ('public', <django.forms.fields.BooleanField object at 0x7f5302b21160>), ('title', <django.forms.fields.CharField object at 0x7f530307b860>), ('description', <django.forms.fields.CharField object at 0x7f530307bc18>), ('purchased', <django.forms.fields.BooleanField object at 0x7f5302b21208>), ('shops', <django.forms.models.ModelMultipleChoiceField object at 0x7f5302b21630>), ('kind', <enumfields.forms.EnumChoiceField object at 0x7f5302b21898>)])
BaseProductMediaForm.declared_fields = OrderedDict([('title', <django.forms.fields.CharField object at 0x7f530307b860>), ('description', <django.forms.fields.CharField object at 0x7f530307bc18>)])
BaseProductMediaForm.media
class shoop.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 = 1
allowed_media_kinds = []
get_queryset()[source]
form(**kwargs)[source]
class shoop.admin.modules.products.forms.base_forms.ProductMediaForm(**kwargs)[source]

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

clean_external_url()[source]
base_fields = OrderedDict([('file', <filer.fields.file.AdminFileFormField object at 0x7f5302e6e518>), ('ordering', <django.forms.fields.IntegerField object at 0x7f5302e78208>), ('external_url', <django.forms.fields.URLField object at 0x7f5302e78780>), ('public', <django.forms.fields.BooleanField object at 0x7f5302e78eb8>), ('title', <django.forms.fields.CharField object at 0x7f530307b860>), ('description', <django.forms.fields.CharField object at 0x7f530307bc18>), ('purchased', <django.forms.fields.BooleanField object at 0x7f5302e78828>), ('shops', <django.forms.models.ModelMultipleChoiceField object at 0x7f5302b76f28>), ('kind', <enumfields.forms.EnumChoiceField object at 0x7f5302b76e80>)])
declared_fields = OrderedDict([('title', <django.forms.fields.CharField object at 0x7f530307b860>), ('description', <django.forms.fields.CharField object at 0x7f530307bc18>)])
media
class shoop.admin.modules.products.forms.base_forms.ProductMediaFormSet(*args, **kwargs)[source]

Bases: shoop.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 shoop.admin.modules.products.forms.base_forms.ProductImageMediaForm(**kwargs)[source]

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

clean_file()[source]
save(commit=True)[source]
base_fields = OrderedDict([('file', <filer.fields.file.AdminFileFormField object at 0x7f5302e03cc0>), ('ordering', <django.forms.fields.IntegerField object at 0x7f5302e03a58>), ('external_url', <django.forms.fields.URLField object at 0x7f5302e03b00>), ('public', <django.forms.fields.BooleanField object at 0x7f530351ada0>), ('title', <django.forms.fields.CharField object at 0x7f530307b860>), ('description', <django.forms.fields.CharField object at 0x7f530307bc18>), ('purchased', <django.forms.fields.BooleanField object at 0x7f530351ae80>), ('shops', <django.forms.models.ModelMultipleChoiceField object at 0x7f5302e78f28>), ('kind', <enumfields.forms.EnumChoiceField object at 0x7f5302e03b38>), ('is_primary', <django.forms.fields.BooleanField object at 0x7f5302e782e8>)])
declared_fields = OrderedDict([('title', <django.forms.fields.CharField object at 0x7f530307b860>), ('description', <django.forms.fields.CharField object at 0x7f530307bc18>), ('is_primary', <django.forms.fields.BooleanField object at 0x7f5302e782e8>)])
media
class shoop.admin.modules.products.forms.base_forms.ProductImageMediaFormSet(*args, **kwargs)[source]

Bases: shoop.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.

shoop.admin.modules.products.forms.package_forms module

class shoop.admin.modules.products.forms.package_forms.PackageChildForm(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 0x7f5303326080>), ('quantity', <django.forms.fields.DecimalField object at 0x7f530340b0b8>)])
declared_fields = OrderedDict([('child', <django.forms.models.ModelChoiceField object at 0x7f5303326080>), ('quantity', <django.forms.fields.DecimalField object at 0x7f530340b0b8>)])
media
class shoop.admin.modules.products.forms.package_forms.PackageChildFormSet(**kwargs)[source]

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

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

shoop.admin.modules.products.forms.parent_forms module

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

Bases: django.forms.formsets.BaseFormSet

deletion_label = None

shoop.admin.modules.products.forms.simple_variation_forms module

class shoop.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 0x7f530340b780>)])
declared_fields = OrderedDict([('child', <django.forms.models.ModelChoiceField object at 0x7f530340b780>)])
media
class shoop.admin.modules.products.forms.simple_variation_forms.SimpleVariationChildFormSet(**kwargs)[source]

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

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

shoop.admin.modules.products.forms.variable_variation_forms module

class shoop.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 shoop.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)[source]
process_val_datum(var, val_datum)[source]
save()[source]
base_fields = OrderedDict([('data', <django.forms.fields.CharField object at 0x7f530340ba20>)])
declared_fields = OrderedDict([('data', <django.forms.fields.CharField object at 0x7f530340ba20>)])
media

Module contents

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

Bases: shoop.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 0x7f5302b21ac8>), ('ordering', <django.forms.fields.IntegerField object at 0x7f5302920710>), ('external_url', <django.forms.fields.URLField object at 0x7f5302b218d0>), ('public', <django.forms.fields.BooleanField object at 0x7f5302b21160>), ('title', <django.forms.fields.CharField object at 0x7f530307b860>), ('description', <django.forms.fields.CharField object at 0x7f530307bc18>), ('purchased', <django.forms.fields.BooleanField object at 0x7f5302b21208>), ('shops', <django.forms.models.ModelMultipleChoiceField object at 0x7f5302b21630>), ('kind', <enumfields.forms.EnumChoiceField object at 0x7f5302b21898>)])
BaseProductMediaForm.declared_fields = OrderedDict([('title', <django.forms.fields.CharField object at 0x7f530307b860>), ('description', <django.forms.fields.CharField object at 0x7f530307bc18>)])
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 shoop.admin.modules.products.forms.PackageChildForm(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 0x7f5303326080>), ('quantity', <django.forms.fields.DecimalField object at 0x7f530340b0b8>)])
declared_fields = OrderedDict([('child', <django.forms.models.ModelChoiceField object at 0x7f5303326080>), ('quantity', <django.forms.fields.DecimalField object at 0x7f530340b0b8>)])
media
class shoop.admin.modules.products.forms.PackageChildFormSet(**kwargs)[source]

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

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

Bases: django.forms.forms.Form

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

Bases: shoop.utils.multilanguage_model_form.MultiLanguageModelForm

class Meta[source]

Bases: object

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

alias of Product

widgets = {'keywords': <django.forms.widgets.TextInput object at 0x7f53029a62b0>}
ProductBaseForm.base_fields = OrderedDict([('accounting_identifier', <django.forms.fields.CharField object at 0x7f530303c7b8>), ('barcode', <django.forms.fields.CharField object at 0x7f530303c4a8>), ('category', <django.forms.models.ModelChoiceField object at 0x7f5302f59dd8>), ('cost_center', <django.forms.fields.CharField object at 0x7f530303ce10>), ('depth', <shoop.core.fields.FormattedDecimalFormField object at 0x7f5302e5e080>), ('gross_weight', <shoop.core.fields.FormattedDecimalFormField object at 0x7f5302e5ed68>), ('gtin', <django.forms.fields.CharField object at 0x7f530303ca20>), ('height', <shoop.core.fields.FormattedDecimalFormField object at 0x7f5302e5ef28>), ('manufacturer', <django.forms.models.ModelChoiceField object at 0x7f5302e5edd8>), ('net_weight', <shoop.core.fields.FormattedDecimalFormField object at 0x7f5302e5e860>), ('profit_center', <django.forms.fields.CharField object at 0x7f5303469ef0>), ('sales_unit', <django.forms.models.ModelChoiceField object at 0x7f5302f52a20>), ('shipping_mode', <enumfields.forms.EnumChoiceField object at 0x7f5302f52470>), ('sku', <django.forms.fields.CharField object at 0x7f530303c5f8>), ('stock_behavior', <enumfields.forms.EnumChoiceField object at 0x7f5302920748>), ('tax_class', <django.forms.models.ModelChoiceField object at 0x7f5302995da0>), ('type', <django.forms.models.ModelChoiceField object at 0x7f530303c208>), ('width', <shoop.core.fields.FormattedDecimalFormField object at 0x7f530298f1d0>), ('description', <django.forms.fields.CharField object at 0x7f530303dba8>), ('keywords', <django.forms.fields.CharField object at 0x7f53029a4908>), ('name', <django.forms.fields.CharField object at 0x7f530303d390>), ('status_text', <django.forms.fields.CharField object at 0x7f5302920860>), ('variation_name', <django.forms.fields.CharField object at 0x7f5302f523c8>)])
ProductBaseForm.declared_fields = OrderedDict([('name', <django.forms.fields.CharField object at 0x7f530303d390>), ('description', <django.forms.fields.CharField object at 0x7f530303dba8>), ('keywords', <django.forms.fields.CharField object at 0x7f53029a4908>), ('status_text', <django.forms.fields.CharField object at 0x7f5302920860>), ('variation_name', <django.forms.fields.CharField object at 0x7f5302f523c8>)])
ProductBaseForm.media
class shoop.admin.modules.products.forms.ProductImageMediaForm(**kwargs)[source]

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

base_fields = OrderedDict([('file', <filer.fields.file.AdminFileFormField object at 0x7f5302e03cc0>), ('ordering', <django.forms.fields.IntegerField object at 0x7f5302e03a58>), ('external_url', <django.forms.fields.URLField object at 0x7f5302e03b00>), ('public', <django.forms.fields.BooleanField object at 0x7f530351ada0>), ('title', <django.forms.fields.CharField object at 0x7f530307b860>), ('description', <django.forms.fields.CharField object at 0x7f530307bc18>), ('purchased', <django.forms.fields.BooleanField object at 0x7f530351ae80>), ('shops', <django.forms.models.ModelMultipleChoiceField object at 0x7f5302e78f28>), ('kind', <enumfields.forms.EnumChoiceField object at 0x7f5302e03b38>), ('is_primary', <django.forms.fields.BooleanField object at 0x7f5302e782e8>)])
clean_file()[source]
declared_fields = OrderedDict([('title', <django.forms.fields.CharField object at 0x7f530307b860>), ('description', <django.forms.fields.CharField object at 0x7f530307bc18>), ('is_primary', <django.forms.fields.BooleanField object at 0x7f5302e782e8>)])
media
save(commit=True)[source]
class shoop.admin.modules.products.forms.ProductImageMediaFormSet(*args, **kwargs)[source]

Bases: shoop.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 shoop.admin.modules.products.forms.ProductMediaForm(**kwargs)[source]

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

base_fields = OrderedDict([('file', <filer.fields.file.AdminFileFormField object at 0x7f5302e6e518>), ('ordering', <django.forms.fields.IntegerField object at 0x7f5302e78208>), ('external_url', <django.forms.fields.URLField object at 0x7f5302e78780>), ('public', <django.forms.fields.BooleanField object at 0x7f5302e78eb8>), ('title', <django.forms.fields.CharField object at 0x7f530307b860>), ('description', <django.forms.fields.CharField object at 0x7f530307bc18>), ('purchased', <django.forms.fields.BooleanField object at 0x7f5302e78828>), ('shops', <django.forms.models.ModelMultipleChoiceField object at 0x7f5302b76f28>), ('kind', <enumfields.forms.EnumChoiceField object at 0x7f5302b76e80>)])
clean_external_url()[source]
declared_fields = OrderedDict([('title', <django.forms.fields.CharField object at 0x7f530307b860>), ('description', <django.forms.fields.CharField object at 0x7f530307bc18>)])
media
class shoop.admin.modules.products.forms.ProductMediaFormSet(*args, **kwargs)[source]

Bases: shoop.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 shoop.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', 'visible', 'listed', 'purchasable', 'searchable', 'visibility_limit', 'visibility_groups', 'purchase_multiple', 'minimum_purchase_quantity', 'limit_shipping_methods', 'limit_payment_methods', 'shipping_methods', 'payment_methods', 'primary_category', 'categories')
model

alias of ShopProduct

ShopProductForm.base_fields = OrderedDict([('default_price_value', <shoop.core.fields.FormattedDecimalFormField object at 0x7f530307b320>), ('minimum_price_value', <shoop.core.fields.FormattedDecimalFormField object at 0x7f530307beb8>), ('suppliers', <django.forms.models.ModelMultipleChoiceField object at 0x7f5302f59be0>), ('visible', <django.forms.fields.BooleanField object at 0x7f5302f59d30>), ('listed', <django.forms.fields.BooleanField object at 0x7f5302e5e780>), ('purchasable', <django.forms.fields.BooleanField object at 0x7f5302f590b8>), ('searchable', <django.forms.fields.BooleanField object at 0x7f5302ad3470>), ('visibility_limit', <enumfields.forms.EnumChoiceField object at 0x7f5302f59ba8>), ('visibility_groups', <django.forms.models.ModelMultipleChoiceField object at 0x7f5302f59898>), ('purchase_multiple', <shoop.core.fields.FormattedDecimalFormField object at 0x7f5303874be0>), ('minimum_purchase_quantity', <shoop.core.fields.FormattedDecimalFormField object at 0x7f5303874b70>), ('limit_shipping_methods', <django.forms.fields.BooleanField object at 0x7f53038740f0>), ('limit_payment_methods', <django.forms.fields.BooleanField object at 0x7f53038747b8>), ('shipping_methods', <django.forms.models.ModelMultipleChoiceField object at 0x7f53038746a0>), ('payment_methods', <django.forms.models.ModelMultipleChoiceField object at 0x7f5303874160>), ('primary_category', <django.forms.models.ModelChoiceField object at 0x7f53029fdda0>), ('categories', <django.forms.models.ModelMultipleChoiceField object at 0x7f5303874940>)])
ShopProductForm.clean_minimum_purchase_quantity()[source]
ShopProductForm.declared_fields = OrderedDict()
ShopProductForm.media
class shoop.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 0x7f530340b780>)])
declared_fields = OrderedDict([('child', <django.forms.models.ModelChoiceField object at 0x7f530340b780>)])
media
class shoop.admin.modules.products.forms.SimpleVariationChildFormSet(**kwargs)[source]

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

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

Bases: django.forms.forms.Form

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

Bases: django.forms.forms.Form

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