示例#1
0
def purchase_orders_dashboard(request):
    user = request.user

    if user.purchaser_set.all():
        purchaser = user.purchaser_set.all()[0]
        if request.GET:
            p_o = PurchaseOrder.objects.get(id=int(request.GET['order_id']))
            p_o.make_deal()
        return render(
            request, 'purchase_orders/dashboard.html', {
                'header':
                '我的订单',
                'purchase_order_lines_oc':
                purchaser.purchaseorderline_set.filter(
                    purchase_order__status=POST_ORDER_STATUS[0]),
                'purchase_order_lines_or':
                purchaser.purchaseorderline_set.filter(
                    purchase_order__status=POST_ORDER_STATUS[1]),
                'purchase_order_lines_cp':
                purchaser.purchaseorderline_set.filter(
                    purchase_order__status=POST_ORDER_STATUS[2]),
                "breadcrumb":
                get_breadcrumb(request)
            })
    else:
        return redirect(reverse('purchasers.new'))
示例#2
0
def supplier_details(request, supplier_id):
    return render(
        request, 'suppliers/details.html', {
            'header': '供应商信息',
            'supplier': Supplier.objects.get(id=supplier_id),
            'breadcrumb': get_breadcrumb(request)
        })
示例#3
0
def new_purchase_order(request, product_id):
    product = Product.objects.get(id=product_id)

    if request.method == "POST":
        purchaser = request.user.purchaser_set.all()[0]
        purchase_order = PurchaseOrder.objects.create(initiator=purchaser,
                                                      product=product)
        purchase_order.add_purchaser(purchaser=purchaser,
                                     amount=request.POST['amount'])
        purchase_order.save()
        return redirect(reverse('purchase_orders.dashboard'))

    return render(
        request, "purchase_orders/form.html", {
            "header":
            "发布采购订单",
            "product":
            product,
            "form":
            PurchaseOrderForm(),
            "action_url":
            reverse('purchase_orders.confirm.new', args=(product_id, )),
            "breadcrumb":
            get_breadcrumb(request)
        })
示例#4
0
def adopt_supply_offer(request, supply_offer_id):
    supply_offer = SupplyOffer.objects.get(id=supply_offer_id)

    if request.method == "POST":
        supply_offer.purchase_order.status = POST_ORDER_STATUS[2]
        supply_offer.save()
        supplier = supply_offer.supplier
        if supplier.manufacturer_set.count() == 0:
            return redirect(
                reverse('manufacturers.new',
                        args=(supply_offer.purchase_order.id, )))
        production = Production.objects.create(
            purchase_order=supply_offer.purchase_order,
            manufacturer=supplier.manufacturer_set.first())
        return redirect(reverse('production.details', args=(production.id, )))

    return render(
        request, "supply_offers/details.html", {
            "header": "确认生产",
            "purchase_order": supply_offer.purchase_order,
            "supply_offer": supply_offer,
            "price": supply_offer.price,
            "action_url": request.path,
            "btn_content": "确认生产",
            "breadcrumb": get_breadcrumb(request)
        })
示例#5
0
def production_details(request, production_id):
    production = Production.objects.get(id=production_id)
    return render(
        request, "production/details.html", {
            "header": "生产信息",
            "production": production,
            "breadcrumb": get_breadcrumb(request)
        })
示例#6
0
def products_dashboard(request):
    if len(request.user.purchaser_set.all()) == 0:
        return redirect(reverse('purchasers.new'))
    purchaser = request.user.purchaser_set.first()
    products = purchaser.product_set.all()
    return render(
        request, "stocks/products/dashboard.html", {
            'products': products,
            'header': '产品列表',
            'breadcrumb': get_breadcrumb(request)
        })
示例#7
0
def on_road_purchase_order(request, purchase_order_id):
    purchase_order = PurchaseOrder.objects.get(id=purchase_order_id)
    pol = purchase_order.purchaseorderline_set.get(
        purchaser=request.user.purchaser_set.first())
    return render(
        request, "purchase_orders/on_road.html", {
            "header": "待收货订单详情",
            "purchase_order_line": pol,
            "production": purchase_order.production_set.first(),
            "breadcrumb": get_breadcrumb(request)
        })
示例#8
0
def production_dashboard(request):
    manufacturer = request.user.manufacturer_set.first()
    if not manufacturer:
        manufacturer = request.user.supplier_set.first(
        ).manufacturer_set.first()
    productions = Production.objects.filter(manufacturer=manufacturer)
    return render(
        request, "production/dashboard.html", {
            "header": "生产管理",
            "productions": productions,
            "breadcrumb": get_breadcrumb(request)
        })
示例#9
0
def confirm_purchase_order(request, product_id):
    product = Product.objects.get(id=product_id)

    if request.method == "POST":
        return render(
            request, "purchase_orders/form.html", {
                "header": "确认采购订单",
                "product": product,
                "amount": request.POST["amount"],
                "action_url": reverse('purchase_orders.new',
                                      args=(product_id, )),
                "breadcrumb": get_breadcrumb(request)
            })
示例#10
0
def edit_production_record(request, record_id):
    pr = ProductionRecord.objects.get(id=record_id)
    if request.method == "POST":
        pr = ProductionRecordForm(request.POST, instance=pr).save()
        return redirect(
            reverse('production.details', args=(pr.production.id, )))
    return render(
        request, "production/records/form.html", {
            "header": "修改生产记录",
            "action_url": request.path,
            "form": ProductionRecordForm(instance=pr),
            "breadcrumb": get_breadcrumb(request, id=pr.production.id)
        })
示例#11
0
def edit_purchaser(request, purchaser_id):
    purchaser = Purchaser.objects.get(id=purchaser_id)
    form = PurchaserForm(instance=purchaser)
    if request.method == "POST":
        PurchaserForm(request.POST, instance=purchaser).save()
        return redirect(reverse('auth.account'))
    return render(
        request, 'purchasers/form.html', {
            'form': form,
            'action_url': request.path,
            'header': '修改采购商信息',
            'breadcrumb': get_breadcrumb(request)
        })
示例#12
0
def edit_product(request, product_id):
    old_p = Product.objects.get(id=product_id)
    form = ProductForm(instance=old_p)
    if request.method == "POST":
        ProductForm(request.POST, instance=old_p).save()
        return redirect(reverse('products.dashboard'))
    return render(
        request, 'stocks/products/form.html', {
            'form': form,
            'action_url': request.path,
            'header': '修改产品信息',
            'breadcrumb': get_breadcrumb(request)
        })
示例#13
0
def edit_supplier(request, supplier_id):
    supplier = Supplier.objects.get(id=supplier_id)
    form = SupplierForm(instance=supplier)
    if request.method == "POST":
        SupplierForm(request.POST, instance=supplier).save()
        return redirect(reverse('auth.account'))
    return render(
        request, 'suppliers/form.html', {
            'form': form,
            'action_url': request.path,
            'header': '修改供应商信息',
            'breadcrumb': get_breadcrumb(request)
        })
示例#14
0
def new_production_record(request, production_id):
    production = Production.objects.get(id=production_id)
    if request.method == "POST":
        pr = ProductionRecordForm(request.POST).save(commit=False)
        pr.production = production
        pr.save()
        return redirect(reverse('production.details', args=(production_id, )))
    return render(
        request, "production/records/form.html", {
            "header": "登记生产记录",
            "action_url": request.path,
            "form": ProductionRecordForm(),
            "breadcrumb": get_breadcrumb(request, id=production_id)
        })
示例#15
0
def new_product(request):
    if request.method == "POST":
        p = ProductForm(request.POST).save(commit=False)
        purchaser = request.user.purchaser_set.first()
        p.purchaser = purchaser
        p.save()
        return redirect(reverse('products.dashboard'))
    return render(
        request, 'stocks/products/form.html', {
            'form': ProductForm(),
            'url': '/stocks/products/new',
            'action_url': request.path,
            'header': "登记产品信息",
            'breadcrumb': get_breadcrumb(request)
        })
示例#16
0
def new_supplier(request):
    if request.method == "POST":
        supplier = SupplierForm(request.POST).save(commit=False)
        supplier.user = request.user
        supplier.save()
        return redirect('/')
    if len(request.user.supplier_set.all()):
        return redirect('/')
    return render(
        request, 'suppliers/form.html', {
            'form': SupplierForm(),
            'action_url': request.path,
            'header': '登记供应商信息',
            'breadcrumb': get_breadcrumb(request)
        })
示例#17
0
def confirm_new_supply_offer(request, purchase_order_id):
    purchase_order = PurchaseOrder.objects.get(id=purchase_order_id)
    if request.method == "POST":
        return render(
            request, "supply_offers/form.html", {
                "header":
                "确认报价",
                "purchase_order":
                purchase_order,
                "price":
                request.POST["price"],
                "action_url":
                reverse('supply_offers.new', args=(purchase_order_id, )),
                "breadcrumb":
                get_breadcrumb(request)
            })
示例#18
0
def confirm_new_join_purchase(request, purchase_order_id):
    purchase_order = PurchaseOrder.objects.get(id=purchase_order_id)
    if request.method == "POST":
        return render(
            request, "join_purchases/new.html", {
                "header":
                "确认拼购",
                "purchase_order":
                purchase_order,
                "amount":
                request.POST["amount"],
                "action_url":
                reverse('join_purchases.new', args=(purchase_order_id, )),
                "breadcrumb":
                get_breadcrumb(request)
            })
示例#19
0
def new_purchaser(request):
    if request.method == "POST":
        purchaser = PurchaserForm(request.POST).save(commit=False)
        purchaser.user = request.user
        purchaser.save()
        return redirect('/')
    if len(request.user.purchaser_set.all()):
        return redirect('/')
    return render(
        request, 'purchasers/form.html', {
            'form': PurchaserForm(),
            'url': request.path,
            'header': '登记采购商信息',
            'action_url': request.path,
            'breadcrumb': get_breadcrumb(request)
        })
示例#20
0
def supply_offers_dashboard(request):
    supplier = request.user.supplier_set.all()[0]
    return render(
        request, "supply_offers/dashboard.html", {
            "header":
            "我的报价",
            "adopted_supply_offers":
            SupplyOffer.objects.filter(
                purchase_order__status=POST_ORDER_STATUS[1]).filter(
                    supplier=supplier),
            "ongoing_supply_offers":
            SupplyOffer.objects.filter(
                purchase_order__status=POST_ORDER_STATUS[0]).filter(
                    supplier=supplier),
            "breadcrumb":
            get_breadcrumb(request)
        })
示例#21
0
def purchase_order_details(request, purchase_order_id):
    purchase_order = PurchaseOrder.objects.get(id=purchase_order_id)
    supply_offers = purchase_order.supplyoffer_set.all()
    join_purchases = purchase_order.purchaseorderline_set.exclude(
        purchaser=purchase_order.initiator)
    if request.GET:
        for id in request.GET['id']:
            supply_offer = SupplyOffer.objects.get(id=id)
            supply_offer.is_noticed = True
            supply_offer.save()
    return render(
        request, "purchase_orders/details.html", {
            'header': "{}采购单细节".format(purchase_order.product.name),
            'purchase_order': purchase_order,
            'supply_offers': supply_offers,
            'join_purchases': join_purchases,
            "breadcrumb": get_breadcrumb(request)
        })
示例#22
0
def confirm_edit_supply_offer(request, supply_offer_id):
    supply_offer = SupplyOffer.objects.get(id=supply_offer_id)
    if request.method == "POST":
        return render(
            request, "supply_offers/details.html", {
                "header":
                "确认报价修改",
                "purchase_order":
                supply_offer.purchase_order,
                "supply_offer":
                supply_offer,
                "price":
                request.POST["price"],
                "action_url":
                reverse('supply_offers.details', args=(supply_offer_id, )),
                "btn_content":
                "确认修改",
                "breadcrumb":
                get_breadcrumb(request)
            })
示例#23
0
def new_supply_offer(request, purchase_order_id):
    purchase_order = PurchaseOrder.objects.get(id=purchase_order_id)

    if request.method == "POST":
        supplier = request.user.supplier_set.all()[0]
        purchase_order.add_supplier(supplier=supplier,
                                    price=request.POST["price"])
        return redirect(reverse('supply_offers.dashboard'))

    return render(
        request, "supply_offers/form.html", {
            "header":
            "报价页面",
            "purchase_order":
            purchase_order,
            "form":
            SupplyOfferForm(),
            "action_url":
            reverse('supply_offers.confirm.new', args=(purchase_order_id, )),
            "breadcrumb":
            get_breadcrumb(request)
        })
示例#24
0
def new_join_purchase(request, purchase_order_id):
    purchase_order = PurchaseOrder.objects.get(id=purchase_order_id)

    if request.method == "POST":
        purchaser = request.user.purchaser_set.all()[0]
        purchase_order.add_purchaser(purchaser=purchaser,
                                     amount=request.POST["amount"])
        return redirect(reverse('purchase_orders.dashboard'))

    return render(
        request, "join_purchases/new.html", {
            "header":
            "拼购采购",
            "form":
            JoinPurchaseForm(),
            "purchase_order":
            purchase_order,
            "action_url":
            reverse('join_purchases.confirm.new', args=(purchase_order_id, )),
            "breadcrumb":
            get_breadcrumb(request)
        })
示例#25
0
def new_manufacturer(request, purchase_order_id):
    if request.method == "POST":
        supplier = request.user.supplier_set.first()
        user = User.objects.create(username=request.POST["username"])
        user.set_password(request.POST["password"])
        user.save()
        manufacturer = Manufacturer.objects.create(
            name=request.POST['name'],
            address=request.POST['address'],
            user=user,
            supplier=supplier)
        production = Production.objects.create(
            purchase_order=PurchaseOrder.objects.get(id=purchase_order_id),
            manufacturer=manufacturer)
        return redirect(reverse('production.details', args=(production.id, )))

    return render(
        request, "manufacturers/form.html", {
            "header": "登记工厂信息",
            "action_url": request.path,
            "form": ManufacturerForm(),
            'breadcrumb': get_breadcrumb(request)
        })
示例#26
0
def supply_offer_details(request, supply_offer_id):
    supply_offer = SupplyOffer.objects.get(id=supply_offer_id)

    if request.method == "POST":
        supply_offer.price = request.POST['price']
        supply_offer.offer_amount = supply_offer.purchase_order.total_amount
        supply_offer.save()
        return redirect(reverse('supply_offers.dashboard'))

    return render(
        request, "supply_offers/details.html", {
            "header":
            "报价详情",
            "purchase_order":
            supply_offer.purchase_order,
            "supply_offer":
            supply_offer,
            "form":
            SupplyOfferForm(instance=supply_offer),
            "action_url":
            reverse('supply_offers.confirm.edit', args=(supply_offer_id, )),
            "breadcrumb":
            get_breadcrumb(request)
        })
示例#27
0
def select_type(request):
    return render(request, 'clients/select_type.html', {
        'header': '入驻身份选择',
        'breadcrumb': get_breadcrumb(request)
    })