Ejemplo n.º 1
0
    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/')
Ejemplo n.º 2
0
 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/')
Ejemplo n.º 3
0
    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
            })
Ejemplo n.º 4
0
 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
     })
Ejemplo n.º 5
0
    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/')
Ejemplo n.º 6
0
    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
        })
Ejemplo n.º 7
0
    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})
Ejemplo n.º 8
0
    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/')
Ejemplo n.º 9
0
    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
        })
Ejemplo n.º 10
0
    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})
Ejemplo n.º 11
0
    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/')
Ejemplo n.º 12
0
 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
         })
Ejemplo n.º 13
0
    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})
Ejemplo n.º 14
0
    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/')
Ejemplo n.º 15
0
    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/')
Ejemplo n.º 16
0
    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})
Ejemplo n.º 17
0
    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/')
Ejemplo n.º 18
0
    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/')
Ejemplo n.º 19
0
    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/')
Ejemplo n.º 20
0
    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/')
Ejemplo n.º 21
0
    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/')
Ejemplo n.º 22
0
    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)
Ejemplo n.º 23
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})
Ejemplo n.º 24
0
    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
Ejemplo n.º 25
0
 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