def get_context_data(self, **kwargs): context = super(OrderItemsCreate, self).get_context_data(**kwargs) order_form_set = inlineformset_factory(Order, OrderItem, form=OrderItemForm, extra=1) if self.request.POST: formset = order_form_set(self.request.POST) else: basket_items = get_basket(self.request.user) if len(basket_items): order_form_set = inlineformset_factory(Order, OrderItem, form=OrderItemForm, extra=len(basket_items)) formset = order_form_set() for num, form in enumerate(formset.forms): form.initial['product'] = basket_items[num].product form.initial['quantity'] = basket_items[num].quantity form.initial['price'] = basket_items[num].product.price basket_items.delete() else: formset = order_form_set() context['order_items'] = formset page_name(context, 'New order') return context
def product(request, pk): current_product = get_product(pk) product_categories = get_categories() context = { 'product_categories': product_categories, 'product': current_product, } page_name(context, current_product.name) return render(request, 'mainapp/product.html', context)
def main(request): all_products = get_products() keys = [item.pk for item in all_products] context = {'products': all_products, 'new_products': all_products.filter(is_new=True), 'featured_products': all_products.filter(is_featured=True), 'hot_products': all_products.filter(is_hot=True), 'trending_products': all_products.filter(pk__lte=min(keys) + 5) } page_name(context, 'Home page') return render(request, 'mainapp/index.html', context)
def products(request, pk=None): product_categories = get_categories() all_products = get_products().order_by('price') if pk is None: context = {'product_categories': product_categories, 'hot_product': all_products.filter(is_hot=True).first(), } page_name(context, 'Hot Deal') return render(request, 'mainapp/hot_product.html', context) else: if pk > 0: all_products = get_products_in_category(pk).order_by('price') context = {'product_categories': product_categories, 'products': all_products, } page_name(context, 'Our Product Range') return render(request, 'mainapp/products.html', context)
def edit(request, pk): get_user = get_object_or_404(ShopUser, pk=pk) edit_form = ShopUserEditForm(instance=get_user) profile_form = ShopUserProfileEditForm(instance=get_user.shopuserprofile) if request.method == 'POST': edit_form = ShopUserEditForm(request.POST, request.FILES, instance=get_user) profile_form = ShopUserProfileEditForm(request.POST, instance=get_user.shopuserprofile) if edit_form.is_valid() and profile_form.is_valid(): edit_form.save() return HttpResponseRedirect(reverse('auth_urls:edit', kwargs={'pk': pk})) context = { 'edit_form': edit_form, 'profile_form': profile_form, 'submit_label': 'Применить', } page_name(context, 'Edit profile') return render(request, 'authapp/edit.html', context)
def get_context_data(self, **kwargs): context = super(OrderItemsUpdate, self).get_context_data(**kwargs) order_form_set = inlineformset_factory(Order, OrderItem, form=OrderItemForm, extra=1) if self.request.POST: context['order_items'] = order_form_set(self.request.POST, instance=self.object) else: queryset = self.object.order_items.select_related() formset = order_form_set(instance=self.object, queryset=queryset) for form in formset.forms: if form.instance.pk: form.initial['price'] = form.instance.product.price context['order_items'] = formset page_name(context, 'Update order') return context
def contacts(request): context = {} page_name(context, 'Contact Us') return render(request, 'mainapp/contacts.html', context)
def showroom(request): context = {} page_name(context, 'Showroom') return render(request, 'mainapp/showroom.html', context)
def history(request): context = {} page_name(context, 'History') return render(request, 'mainapp/history.html', context)
def read(request): context = {} page_name(context, 'Basket') return render(request, 'basketapp/basket.html', context)
def get_context_data(self, **kwargs): context = super(OrderList, self).get_context_data(**kwargs) page_name(context, 'Your orders') return context
def get_context_data(self, **kwargs): context = super(OrderRead, self).get_context_data(**kwargs) page_name(context, 'Заказ/Просмотр') return context