Source code for shuup.admin.modules.shops.views.wizard
from django.conf import settings
from django.utils.translation import gettext_lazy as _
from shuup.admin.modules.shops.forms import ShopAddressWizardForm, ShopWizardForm
from shuup.admin.views.wizard import TemplatedWizardFormDef, WizardFormDef, WizardPane
from shuup.core.models import TaxClass
[docs]
class ShopWizardPane(WizardPane):
identifier = "general"
icon = "shuup_admin/img/configure.png"
title = _("Shop Details")
text = _("Add an address so you can get paid")
[docs]
def valid(self):
from shuup.admin.utils.permissions import has_permission
return has_permission(self.request.user, "shop.edit")
[docs]
def get_form_defs(self):
return [
TemplatedWizardFormDef(
name="shop",
template_name="shuup/admin/shops/_wizard_base_shop_form.jinja",
extra_js="shuup/admin/shops/_wizard_base_shop_script.jinja",
form_class=ShopWizardForm,
kwargs={"instance": self.object, "languages": settings.LANGUAGES},
),
WizardFormDef(
name="address",
form_class=ShopAddressWizardForm,
kwargs={
"instance": self.object.contact_address,
"user": self.request.user,
},
),
]
[docs]
def form_valid(self, form):
form["shop"].save()
addr = form["address"].save()
self.object.contact_address = addr
self.object.save()
tax_class, created = TaxClass.objects.get_or_create(identifier="default")
tax_class.name = _("Default Tax Class")
tax_class.save()