def register(req): if req.method == "POST": form = VendorForm(req.POST) if form.is_valid(): new = Vendor( user=req.user, vendorname=form.cleaned_data["vendorname"], profile=form.cleaned_data["profile"], pubkey=form.cleaned_data["pubkey"], ) new.save() return HttpResponseRedirect("/account/thanks") else: form = VendorForm() return render(req, "vendor/register.html", {"form": form})
def index(request): isvendor = Vendor.is_vendor(request.user) if isvendor: listings = Listing.objects.filter(vendor=request.user) else: listings = [] return render(request, 'account/index.html', { 'username': request.user.username, 'isvendor': isvendor, 'listings': listings })
def add_sample(request,vendor_id=None): output={} vendor=None if vendor_id: vendor = Vendor.objects.get(id=vendor_id,active=1) if request.method=="POST": if request.POST.get("edit",None): output=Vendor.update(request) else: from api.views import check_basic_validations #TODO Put all in decorators with csrf invalid=check_basic_validations("vendor_registration",request,"POST") if invalid: output=invalid else: output=Vendor.create(request) if vendor: output["request_data"]={} output["request_data"]["email"]=vendor.user.username output["request_data"]["name"]=vendor.name output["request_data"]["vendor_type"]=vendor.vendor_type.key output["request_data"]["contact_number"]=vendor.contact_number output["request_data"]["address"]=vendor.address output["request_data"]["dynamic_info"]=vendor.dynamic_info return TemplateResponse(request, "add_sample.html", { "output" :output, "vendor_types":VENDOR_TYPES, "vendors":Vendor.objects.filter(active=1), "vendor":vendor } )
def banksetup_view(request): logger.info("entered") # ignore requests from users # that are not staff if not request.user.is_staff: logger.info("User it nost staff! Returning 404.") raise Http404 bank1 = Bank.objects.get(pk=1) if request.POST: if request.POST['bank'] == "": logger.info("No bank selected") return HttpResponse("No bank selected!") bank_id = int(request.POST['bank']) bank = Bank.objects.get(pk=bank_id) logger.info("Copying into bank: {}".format(bank)) # copy the Bank Text bank.report_risk_ass_ratings_message = bank1.report_risk_ass_ratings_message bank.report_risk_scoring_by_source_message = bank1.report_risk_scoring_by_source_message bank.report_vendor_ass_message = bank1.report_vendor_ass_message bank.report_dist_by_type_message = bank1.report_dist_by_type_message bank.report_class_by_bu_message = bank1.report_class_by_bu_message bank.report_action_items_summary_message = bank1.report_action_items_summary_message bank.report_summary_conclusions_message = bank1.report_summary_conclusions_message bank.report_footer_message = bank1.report_footer_message bank.save() # copy risks from bank1 to bank for risk in BankRisk.objects.filter(bank=bank1): logger.info("Copying risk: {}".format(risk)) b = BankRisk() # ugly hack to clone the Risk to a BankRisk for attr in risk.__dict__: if attr != '_state' and attr != 'id': setattr(b, attr, getattr(risk, attr)) # do this after the copy, so we don't pick up the old value! b.bank = bank b.save() # now add the m2m stuff for rm in risk.riskManagers.all(): b.riskManagers.add(rm) for rt in risk.riskTypes.all(): b.riskTypes.add(rt) for rs in risk.riskSources.all(): b.riskSources.add(rs) # no need to save after m2ms, they are saved immediatly # copy vendors from vendor.models import Vendor for vendor in Vendor.objects.filter(bank=bank1): logger.info("Copying vendor: {}".format(vendor)) v = Vendor() # ugly hack to clone the Risk to a BankRisk for attr in vendor.__dict__: if attr != '_state' and attr != 'id': setattr(v, attr, getattr(vendor, attr)) # do this after the copy, so we don't pick up the old value! v.bank = bank v.save() # vendors have no m2m fields # copy exceptions from exception.models import Exception for ex in Exception.objects.filter(bank=bank1): logger.info("Copying exception: {}".format(ex)) e = Exception() # ugly hack to clone the Risk to a BankRisk for attr in ex.__dict__: if attr != '_state' and attr != 'id': setattr(e, attr, getattr(ex, attr)) # do this after the copy, so we don't pick up the old value! e.bank = bank e.save() # now add the m2m stuff for rs in ex.riskSources.all(): e.riskSources.add(rs) # this does not need to be pretty return HttpResponse("Copy complete.") # all banks except Bank 1 all_banks = Bank.objects.exclude(pk=1) return render('erm/banksetup.html', { 'module': 'erm', 'all_banks': all_banks, 'bank1': bank1, }, request)
def fillDB(request): vendor = Vendor( name = "Delhi Darbar", address = "Marathahalli" ) vendor.save() foodItem1 = FoodItem( name = "Paneer Palak Masala", price = 110, category = "Main Course\Veg" ) foodItem1.save() foodItem2 = FoodItem( name = "Chicken Chilli", price = 105, category = "Starter\Non Veg" ) foodItem2.save() order1 = Order( vendor = vendor, orderTime = calendar.timegm(time.gmtime()), action = 1 ) order1.save() order2 = Order( vendor = vendor, orderTime = calendar.timegm(time.gmtime())+120, action = 1 ) order2.save() order3 = Order( vendor = vendor, orderTime = calendar.timegm(time.gmtime())+360, action = 1 ) order3.save() orderDetail1 = OrderDetail( order = order1, foodItem = foodItem1, quantity = 2 ) orderDetail1.save() orderDetail2 = OrderDetail( order = order1, foodItem = foodItem2, quantity = 1 ) orderDetail2.save() orderDetail3 = OrderDetail( order = order2, foodItem = foodItem1, quantity = 1 ) orderDetail3.save() orderDetail4 = OrderDetail( order = order3, foodItem = foodItem2, quantity = 2 ) orderDetail4.save() return render(request, 'vendors/index.html')