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'))
def supplier_details(request, supplier_id): return render( request, 'suppliers/details.html', { 'header': '供应商信息', 'supplier': Supplier.objects.get(id=supplier_id), 'breadcrumb': get_breadcrumb(request) })
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) })
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) })
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) })
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) })
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) })
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) })
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) })
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) })
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) })
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) })
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) })
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) })
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) })
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) })
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) })
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) })
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) })
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) })
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) })
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) })
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) })
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) })
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) })
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) })
def select_type(request): return render(request, 'clients/select_type.html', { 'header': '入驻身份选择', 'breadcrumb': get_breadcrumb(request) })