예제 #1
0
    def post(self, request, purchase_id):
        purchaseUpdate = PurchaseProduct.objects.get(id=purchase_id)
        supplier = Supplier.objects.get(id=request.POST["supplier_id"])
        sizeProduct = SizeProduct.objects.get(
            id=request.POST["sizeProduct_id"])

        purchaseUpdate.supplier = supplier
        purchaseUpdate.sizeProduct = sizeProduct
        purchaseUpdate.amount = request.POST["amount"]

        # Hoan thanh thi cong sl trong don vao sl san pham ton kho
        if purchaseUpdate.complete != True:

            purchaseUpdate.complete = request.POST["complete"]

            sizeProduct.amount = sizeProduct.amount + int(
                purchaseUpdate.amount)
            product = Product.objects.get(id=sizeProduct.product.id)

            product.amount = product.amount + int(purchaseUpdate.amount)
            product.save()
            sizeProduct.save()

        purchaseUpdate.save()
        return redirect('manager:viewPurchase')
예제 #2
0
 def form_valid(self, form):
     product = form.save(commit=False)
     product.id_usuario = self.request.user
     token = token_urlsafe(16)
     product.slug = token
     product.save()
     return super(ProductCreate, self).form_valid(form)
예제 #3
0
    def test_product_release_infos_is_nullsfirst(self, session):
        product = Product(name="figure")
        initial_info = ProductReleaseInfo(price=12960, initial_release_date=date(2020, 2, 12))
        resale_info = ProductReleaseInfo(price=15800, initial_release_date=date(2021, 2, 12))
        stall_info = ProductReleaseInfo(price=16000)

        product.release_infos.extend([initial_info, resale_info, stall_info])
        product.save()
        session.commit()

        p = Product.get_by_id(product.id)
        assert p
        assert p.release_infos[0] == stall_info
예제 #4
0
    def test_fetech_product_last_product_release_infos(self, session):
        product = Product(name="figure")
        initial_info = ProductReleaseInfo(price=12960, initial_release_date=date(2020, 2, 12))
        resale_info = ProductReleaseInfo(price=15800, initial_release_date=date(2021, 2, 12))

        product.release_infos.extend([initial_info, resale_info])
        product.save()
        session.commit()

        f_p = product.first()
        assert f_p
        last_release = f_p.last_release()
        assert last_release is resale_info
예제 #5
0
 def post(self, request, product_id):
     horizontal = request.POST['horizontal']
     vertical = request.POST['vertical']
     sizeProduct = SizeProduct.objects.create(product_id=product_id,
                                              horizontal=horizontal,
                                              vertical=vertical)
     sizeProduct.save()
     product = Product.objects.get(id=product_id)
     # Neu san pham chua co size thi them size roi bat active
     if product.sizeproduct_set.count() <= 1:
         product.active = True
         product.save()
     return redirect(
         reverse('manager:sizeProductControl', args=[str(product.id)]))
예제 #6
0
    def test_product_has_many_official_images(self):
        product = Product(name="foo")

        image_1 = ProductOfficialImage(url="http://foo.com/img1.jpg")
        image_2 = ProductOfficialImage(url="http://foo.com/img2.jpg")

        product.official_images.append(image_1)
        product.official_images.append(image_2)
        product.save()

        assert isinstance(product.official_images, list)
        assert len(product.official_images) == 2
        assert image_1.order == 1
        assert image_2.order == 2
예제 #7
0
    def test_product_has_many_product_release_infos(self, session):
        product = Product(name="figure")
        initial_info = ProductReleaseInfo(price=12960, initial_release_date=date(2020, 2, 12))
        resale_info = ProductReleaseInfo(price=15800, initial_release_date=date(2021, 2, 12))

        product.release_infos.extend([initial_info, resale_info])
        product.save()
        session.commit()

        fetched_product = Product.get_by_id(product.id)
        assert fetched_product
        assert isinstance(fetched_product.release_infos, list)
        assert len(fetched_product.release_infos) == 2
        assert fetched_product.release_infos[-1] == resale_info
예제 #8
0
    def test_release_info_would_be_deleted_when_product_was_deleted(self, session):
        product = Product(name="foo")

        release_1 = ProductReleaseInfo(price=100)
        release_2 = ProductReleaseInfo(price=200)

        product.release_infos.append(release_1)
        product.release_infos.append(release_2)
        product.save()
        session.commit()

        Product.destroy([product.id])
        session.commit()

        assert not ProductReleaseInfo.all()
예제 #9
0
    def test_images_would_be_deleted_when_product_was_deleted(self, session):
        product = Product(name="foo")

        image_1 = ProductOfficialImage(url="http://foo.com/img1.jpg")
        image_2 = ProductOfficialImage(url="http://foo.com/img2.jpg")

        product.official_images.append(image_1)
        product.official_images.append(image_2)
        product.save()
        session.commit()

        Product.destroy([product.id])
        session.commit()

        assert not ProductOfficialImage.all()
예제 #10
0
    def test_product_belongs_to_many_worker(self):
        product = Product(name="foo")

        p1 = Paintwork(name="p1")
        p2 = Paintwork(name="p2")

        s1 = Sculptor(name="s1")
        s2 = Sculptor(name="s2")

        product.sculptors.append(s1)
        product.sculptors.append(s2)
        product.paintworks.append(p1)
        product.paintworks.append(p2)

        product.save()
        assert isinstance(product.sculptors, list)
        assert len(product.sculptors) == 2
        assert isinstance(product.paintworks, list)
        assert len(product.paintworks) == 2
예제 #11
0
    def post(self, request, order_id):
        user = User.objects.get(username=request.POST['user'])
        firstName = request.POST['firstName']
        lastName = request.POST['lastName']
        email = request.POST['email']
        phone = request.POST['phone']
        province = request.POST['province']
        district = request.POST['district']
        wards = request.POST['wards']
        address = request.POST['address']
        status = request.POST['status']

        order = Order.objects.get(id=order_id)

        order.first_name = firstName
        order.last_name = lastName
        order.email = email
        order.phone = phone
        order.province = province
        order.district = district
        order.wards = wards
        order.address = address
        order.date_ordered = datetime.now()
        order.transaction_id = order.cart.id
        order.status = status
        order.save()

        # cap nhat so luong da ban va ton kho cua san pham
        cart = Cart.objects.get(id=order.cart.id)
        for item in cart.cartitem_set.all():
            product = Product.objects.get(id=item.product.id)
            product.amount = product.amount - item.quantity
            product.amount_sell = product.amount_sell + item.quantity
            product.save()
        context = {'cart_id': order.cart.id}
        return redirect('manager:orderControl')
예제 #12
0
파일: views.py 프로젝트: WojtekF/djangoapp
 def form_valid(self,form):
     product = form.save(commit=False)
     product.whoModified = self.request.user
     product.save()
     return HttpResponseRedirect(self.get_success_url())
예제 #13
0
파일: views.py 프로젝트: WojtekF/djangoapp
 def form_valid(self, form):
     product = form.save(commit=False)
     product.whoModified = self.request.user
     product.save()
     return HttpResponseRedirect(self.get_success_url())