def add_item(self): sender = self.sender() if sender.name_field.text() and sender.price_field.text() and sender.p_price_field.text(): new_item = MenuItem( name=str(sender.name_field.text()), category=sender.cat, price=float(sender.price_field.text().replace(",", ".")) * 100, pPrice=float(sender.p_price_field.text().replace(",", ".")) * 100, ) new_item.save() self.update() self.emit(SIGNAL("settingsChanged()"))
def menuEdit(request): if request.method == 'POST': if 'delItem' in request.POST: print request.POST MenuItem.objects.filter(name=request.POST['delItem']).delete() return HttpResponseRedirect(".") elif 'addItem' in request.POST: try: priceVal = int(request.POST['price']) pPriceVal = int(request.POST['pPrice']) catId = int(request.POST['cat']) except ValueError: return HttpResponseRedirect(".") cat = Category.objects.filter(id=catId)[0] try: item = MenuItem(name=request.POST['name'], price=priceVal, pPrice=pPriceVal, category=cat) item.save() except IntegrityError: return HttpResponseRedirect(".") elif 'addCat' in request.POST: try: cat = Category(name=request.POST['cat']) cat.save() except IntegrityError: return HttpResponseRedirect(".") elif 'delCat' in request.POST: cat = Category.objects.filter(name=request.POST['delCat']) print cat print MenuItem.objects.filter(category=cat) MenuItem.objects.filter(category=cat).delete() cat.delete() return HttpResponseRedirect(".") itemDict = {} cats = Category.objects.all().order_by("name") for c in cats: cItems = MenuItem.objects.filter(category=c).order_by("name") itemDict[c] = cItems return render_to_response("pmenu_list_edit.html", { "itemDict":itemDict})