def post(self, request, *args, **kwargs): if not self.user_is_loggedin(request): form = SignupForm(request.POST) if form.is_valid(): account = form.save() if not request.user.is_staff: cart = get_cartid(request) cart.client = account cart.save() login(request, account) messages.success(request, account.first_name + ' عزیز، خوش آمدید.') return redirect('/home/') messages.success(request, 'کاربر جدید ایجاد شد.') return redirect('/account/all/') else: cart = get_cartid(request) return render(request, 'account/signup.html', {'form': form, 'states': states, 'cartid': cart.id}) messages.warning(request, 'شما قبلا ثبت نام کرده اید.') return redirect('/home/')
def get(self, request, id, *args, **kwargs): if user_is_permitted_to_view(request, id): account = get_account_or_404(id) cart = get_cartid(request) return render(request, 'account/detail.html', {'account': account, 'cartid': cart.id}) messages.error(request, 'دسترسی به این صفحه مجاز نیست.') return redirect('/home/')
def get(self, request, id, *args, **kwargs): from cart.views import get_cartid from cart.views import product_is_already_in_cart product = get_product_or_404(id) cart = get_cartid(request) forms = [AddToCartForm(initial={'pid': id, 'count': 1})] submits = ['اضافه به سبد'] actions = ['/cart/' + str(cart.id) + '/add/' + str(id) + '/'] methods = ['POST'] if product_is_already_in_cart(cart, product, 0): forms.append(DeleteFromCartForm()) submits.append('حذف از سبد') actions.append('/cart/' + str(cart.id) + '/delete/' + str(id) + '/') methods.append('GET') return render( request, 'product/detail.html', { 'product': product, 'forms': forms, 'submits': submits, 'actions': actions, 'methods': methods, 'cartid': cart.id })
def get(self, request, *args, **kwargs): products = Product.objects.all() from cart.views import get_cartid cart = get_cartid(request) return render(request, 'product/list.html', { 'products': products, 'cartid': cart.id })
def get(self, request, *args, **kwargs): if request.user.is_authenticated: from cart.views import get_cartid cart = get_cartid(request) return render(request, 'home/dashboard.html', {'cartid': cart.id}) messages.error(request, 'دسترسی به این صفحه مجاز نیست.') return redirect('/home/')
def get(self, request, id, *args, **kwargs): category = get_category_or_404(id) cart = get_cartid(request) return render(request, 'category/detail.html', { 'category': category, 'cartid': cart.id })
def get(self, request, *args, **kwargs): if self.user_is_loggedin(request): messages.warning(request, 'شما قبلا ثبت نام کرده اید.') return redirect('/home/') form = SignupForm() cart = get_cartid(request) return render(request, 'account/signup.html', {'form': form, 'states': states, 'cartid': cart.id})
def get(self, request, *args, **kwargs): if self.user_is_permitted_to_view_list(request): accounts = Account.objects.all() cart = get_cartid(request) return render(request, 'account/list.html', {'accounts': accounts, 'cartid': cart.id}) messages.error(request, 'دسترسی به این صفحه مجاز نیست.') return redirect('/home/')
def get(self, request, *args, **kwargs): categories = Category.objects.all() cart = get_cartid(request) return render(request, 'category/list.html', { 'categories': categories, 'cartid': cart.id })
def get(self, request, *args, **kwargs): if request.user.is_authenticated: messages.warning(request, 'شما قبلا وارد شده اید.') return redirect('/home/') form = LoginForm() cart = get_cartid(request) return render(request, 'account/login.html', {'form': form, 'cartid': cart.id})
def get(self, request, id, *args, **kwargs): if user_is_permitted_to_view(request, id): form = self.get_account_return_form(request, id) cart = get_cartid(request) return render(request, 'account/edit.html', {'form': form, 'states': states, 'cartid': cart.id}) messages.error(request, 'دسترسی به این صفحه مجاز نیست.') return redirect('/home/')
def get(self, request, search_string, *args, **kwargs): products = Product.objects.all().filter(name__contains=search_string) from cart.views import get_cartid cart = get_cartid(request) return render( request, 'product/list.html', { 'products': products, 'cartid': cart.id, 'search_string': search_string })
def login_user_or_show_error(request, user, form): if user is not None: login(request, user) messages.success(request, user.first_name + ' عزیز، خوش آمدید.') return redirect('/home/') else: cart = get_cartid(request) messages.error(request, 'نام کاربری یا کلمه عبور اشتباه است.') return render(request, 'account/login.html', {'form': form, 'cartid': cart.id})
def get(self, request, *args, **kwargs): if user_is_staff(request): form = CategoryForm() cart = get_cartid(request) return render(request, 'category/create.html', { 'form': form, 'cartid': cart.id }) messages.error(request, 'دسترسی به این صفحه مجاز نیست.') return redirect('/home/')
def get(self, request, *args, **kwargs): if user_is_staff(request): products = Product.objects.all() from cart.views import get_cartid cart = get_cartid(request) return render(request, 'product/list2.html', { 'products': products, 'cartid': cart.id }) messages.error(request, 'دسترسی به این صفحه مجاز نیست.') return redirect('/home/')
def post(self, request, *args, **kwargs): if request.user.is_authenticated: messages.warning(request, 'شما قبلا وارد شده اید.') return redirect('/home/') form = LoginForm(request.POST) if form.is_valid(): user = self.get_user_or_none(form) return self.login_user_or_show_error(request, user, form) else: cart = get_cartid(request) return render(request, 'account/login.html', {'form': form, 'cartid': cart.id})
def get(self, request, id, *args, **kwargs): if user_is_staff(request): product = get_product_or_404(id) form = ProductForm(instance=product) cart = get_cartid(request) return render(request, 'product/edit.html', { 'form': form, 'cartid': cart.id }) messages.error(request, 'دسترسی به این صفحه مجاز نیست.') return redirect('/home/')
def post(self, request, id, *args, **kwargs): if user_is_permitted_to_view(request, id): form = self.get_account_return_form(request, id) if form.is_valid(): account = form.save() login(request, account) messages.success(request, 'پروفایل کاربر با موفقیت ویرایش شد.') return redirect('/account/' + str(id) + '/') else: cart = get_cartid(request) return render(request, 'account/edit.html', {'form': form, 'states': states, 'cartid': cart.id}) messages.error(request, 'دسترسی به این صفحه مجاز نیست.') return redirect('/home/')
def post(self, request, id, *args, **kwargs): if user_is_staff(request): product = get_product_or_404(id) form = ProductForm(request.POST, request.FILES, instance=product) if form.is_valid(): form.save() messages.success(request, 'محصول با موفقیت ویرایش شد') return redirect('/product/' + str(id) + '/') cart = get_cartid(request) return render(request, 'product/edit.html', { 'form': form, 'cartid': cart.id }) messages.error(request, 'دسترسی به این صفحه مجاز نیست.') return redirect('/home/')
def post(self, request, *args, **kwargs): if user_is_staff(request): form = ProductForm(request.POST, request.FILES) if form.is_valid(): form.save() messages.success(request, 'محصول با موفقیت ایجاد شد ') return redirect('/product/allforadmin/') cart = get_cartid(request) return render(request, 'product/create.html', { 'form': form, 'cartid': cart.id }) messages.error(request, 'دسترسی به این صفحه مجاز نیست.') return redirect('/home/')
def post(self, request, *args, **kwargs): if user_is_staff(request): form = CategoryForm(request.POST) if form.is_valid(): form.save() messages.success(request, 'دسته با موفقیت اضافه شد.') return redirect('/product/category/all/') cart = get_cartid(request) return render(request, 'category/edit.html', { 'form': form, 'cartid': cart.id }) messages.error(request, 'دسترسی به این صفحه مجاز نیست.') return redirect('/home/')
def test_add_to_cart(self): response = self.client.get('/cart/1/add/1/') self.assertEqual(response.status_code, 200) account = Account.objects.create_user(username='******', email='*****@*****.**', password='******', is_staff=True) self.login({'username': '******', 'password': '******'}) category = Category.objects.create(name='c1') product = Product.objects.create(name='p1', category=category, price=10, description='text', photo='1') response = self.client.get('/product/1/') self.assertEqual(len(response.context['forms']), 1) from cart.views import get_cartid request = response.wsgi_request cartid = get_cartid(request).id cart_item = CartItem.objects.create(product=Product.objects.get(pk=1), count=1, cart=Cart.objects.get(pk=cartid)) cart = Cart.objects.get(pk=1) cart.total = 10 cart.save() response = self.client.get('/product/1/') self.assertEqual(len(response.context['forms']), 2) post_data = {'count': 3} response = self.client.post('/cart/1/add/1/', data=post_data) self.assertEqual(Cart.objects.get(pk=1).total, 40) response = self.client.get('/cart/1/delete/1/') self.assertEqual(Cart.objects.get(pk=1).total, 0)
def get(self, request, *args, **kwargs): from cart.views import get_cartid cart = get_cartid(request) return render(request, 'home/home.html', {'cartid': cart.id})
def test_cart_detail_view(self): response = self.client.get('/cart/1/') self.assertEqual(response.status_code, 302) messages = list(get_messages(response.wsgi_request)) self.assertEqual(str(messages[len(messages) - 1]), 'صفحه مورد نظر پیدا نشد.') from cart.views import get_cartid request = response.wsgi_request cartid = get_cartid(request).id category = Category.objects.create(name='c1') product = Product.objects.create(name='p1', category=category, price=10, description='text', photo='1') response = self.client.get('/product/1/') request = response.wsgi_request cartid = get_cartid(request).id post_data = {'count': 3} response = self.client.post('/cart/' + str(cartid) + '/add/1/', data=post_data) self.assertEqual(Cart.objects.get(pk=cartid).total, 30) request = response.wsgi_request cartid = get_cartid(request).id response = self.client.get('/cart/' + str(cartid) + '/') self.assertEqual(response.context['cart'].total, 30) self.assertTemplateUsed(response, 'cart/detail.html') cart = Cart.objects.create() cart_item = CartItem.objects.create(cart=cart, product=product, count=1) response = self.client.get('/cart/1/') self.assertEqual(response.status_code, 302) messages = list(get_messages(response.wsgi_request)) self.assertEqual(str(messages[len(messages) - 1]), 'دسترسی به این صفحه مجاز نیست.') self.create_user_and_login() from cart.views import get_cartid request = response.wsgi_request cartid = get_cartid(request).id self.assertEqual(cartid, 4) Account.objects.create_user(username='******', email='*****@*****.**', password='******', is_staff=True) self.login({'username': '******', 'password': '******'}) request = response.wsgi_request cartid = get_cartid(request).id response = self.client.get('/cart/' + str(cartid) + '/') self.assertEqual(response.context['cart'].total, 0) self.assertTemplateUsed(response, 'cart/detail.html') self.login() request = response.wsgi_request cartid = get_cartid(request).id
def add_to_cart_return_message(self, request, form, id): count = form.cleaned_data['count'] from cart.views import get_cartid, AddToCart cart = get_cartid(request) message = AddToCart.get(AddToCart, request, cart.id, id, count).content return message