from django.utils.translation import ugettext_lazy as _ from django.views.decorators.http import require_POST # lfs imports import lfs.core.utils from lfs.caching.utils import lfs_get_object_or_404 from lfs.core.models import Shop from lfs.core.signals import shop_changed from lfs.core.utils import import_module from lfs.core.utils import LazyEncoder from lfs.core.widgets.image import LFSImageInput from lfs.manage.views.lfs_portlets import portlets_inline # import registered order numbers app FORMS = import_module(settings.LFS_APP_ORDER_NUMBERS + ".forms") MODELS = import_module(settings.LFS_APP_ORDER_NUMBERS + ".models") class ShopDataForm(ModelForm): """Form to edit shop data. """ def __init__(self, *args, **kwargs): super(ShopDataForm, self).__init__(*args, **kwargs) self.fields["image"].widget = LFSImageInput() class Meta: model = Shop fields = ("name", "shop_owner", "from_email", "notification_emails", "description", "image", "static_block", "checkout_type", "confirm_toc", "google_analytics_id", "ga_site_tracking", "ga_ecommerce_tracking")
def handle(self, *args, **options): from lfs.core.models import ActionGroup from lfs.core.models import Action from lfs.core.models import Application from lfs.core.models import Country from lfs.core.models import Shop from lfs.core.utils import import_module from portlets.models import Slot from portlets.models import PortletAssignment from lfs.portlet.models import CartPortlet from lfs.portlet.models import CategoriesPortlet from lfs.portlet.models import PagesPortlet from lfs.payment.models import PaymentMethod from lfs.payment.settings import PM_BANK from lfs.page.models import Page from lfs.shipping.models import ShippingMethod # Country usa = Country.objects.create(code="us", name="USA") # Shop shop = Shop.objects.create(name="LFS", shop_owner="John Doe", from_email="*****@*****.**", notification_emails="*****@*****.**", description=SHOP_DESCRIPTION, default_country=usa) shop.invoice_countries.add(usa) shop.shipping_countries.add(usa) # Actions tabs = ActionGroup.objects.create(name="Tabs") footer = ActionGroup.objects.create(name="Footer") Action.objects.create(group=tabs, title="Contact", link="/contact", active=True, position=1) Action.objects.create(group=footer, title="Terms and Conditions", link="/page/terms-and-conditions", active=True, position=1) Action.objects.create(group=footer, title="Imprint", link="/page/imprint", active=True, position=2) # Portlets left_slot = Slot.objects.create(name="Left") right_slot = Slot.objects.create(name="Right") cart_portlet = CartPortlet.objects.create(title="Cart") PortletAssignment.objects.create(slot=right_slot, content=shop, portlet=cart_portlet) categories_portlet = CategoriesPortlet.objects.create(title="Categories") PortletAssignment.objects.create(slot=left_slot, content=shop, portlet=categories_portlet) pages_portlet = PagesPortlet.objects.create(title="Information") PortletAssignment.objects.create(slot=left_slot, content=shop, portlet=pages_portlet) # Payment methods PaymentMethod.objects.create(pk=1, name="Direct debit", priority=1, active=1, deletable=0, type=PM_BANK) PaymentMethod.objects.create(pk=2, name="Cash on delivery", priority=2, active=1, deletable=0) PaymentMethod.objects.create(pk=3, name="PayPal", priority=3, active=1, deletable=0) PaymentMethod.objects.create(pk=4, name="Prepayment", priority=4, active=1, deletable=0) # Shipping methods ShippingMethod.objects.create(name="Standard", priority=1, active=1) # Pages Page.objects.create(id=1, title="Root", slug="", active=1, exclude_from_navigation=1) Page.objects.create(title="Terms and Conditions", slug="terms-and-conditions", active=1, body="Enter your terms and conditions here.") Page.objects.create(title="Imprint", slug="imprint", active=1, body="Enter your imprint here.") # Order Numbers MODELS = import_module(settings.LFS_APP_ORDER_NUMBERS + ".models") MODELS.OrderNumberGenerator.objects.create(id="order_number") # Application object Application.objects.create(version="0.7")