def remove_condition(request,bid,eid,cid): '''remove_condition: removes a condition from being associated with a battery ''' battery = get_battery(bid,request) experiment = get_experiment(eid,request) credit_condition = CreditCondition.objects.filter(id=cid)[0] experiment.credit_conditions = [c for c in experiment.credit_conditions.all() if c != credit_condition] # Delete credit condition if not attached to experiments if len(Experiment.objects.filter(credit_conditions__id=cid)) == 0: credit_condition.delete() # Deletes condition from experiments, if not used from database, turns bonus/rejection on/off update_credits(experiment,cid) form = ExperimentForm(instance=experiment) context = {"form": form, "experiment":experiment, "battery":battery} return render(request, "experiments/edit_experiment.html", context)
def edit_experiment(request, bid, eid): '''edit_experiment view to edit experiment already added to battery ''' battery = get_battery(bid, request) experiment = get_experiment(eid, request) if request.method == "POST": form = ExperimentForm(request.POST, instance=experiment) if form.is_valid(): experiment = form.save(commit=False) experiment.save() for cc in experiment.credit_conditions: update_credits(experiment, cc.id) return HttpResponseRedirect(battery.get_absolute_url()) else: form = ExperimentForm(instance=experiment) context = {"form": form, "experiment": experiment, "battery": battery} return render(request, "experiments/edit_experiment.html", context)
def remove_condition(request, bid, eid, cid): '''remove_condition: removes a condition from being associated with a battery ''' battery = get_battery(bid, request) experiment = get_experiment(eid, request) credit_condition = CreditCondition.objects.filter(id=cid)[0] experiment.credit_conditions = [ c for c in experiment.credit_conditions.all() if c != credit_condition ] # Delete credit condition if not attached to experiments if len(Experiment.objects.filter(credit_conditions__id=cid)) == 0: credit_condition.delete() # Deletes condition from experiments, if not used from database, turns bonus/rejection on/off update_credits(experiment, cid) form = ExperimentForm(instance=experiment) context = {"form": form, "experiment": experiment, "battery": battery} return render(request, "experiments/edit_experiment.html", context)
def edit_experiment(request,bid,eid): '''edit_experiment view to edit experiment already added to battery ''' battery = get_battery(bid,request) experiment = get_experiment(eid,request) if request.method == "POST": form = ExperimentForm(request.POST, instance=experiment) if form.is_valid(): experiment = form.save(commit=False) experiment.save() for cc in experiment.credit_conditions.all(): update_credits(experiment,cc.id) return HttpResponseRedirect(battery.get_absolute_url()) else: form = ExperimentForm(instance=experiment) context = {"form": form, "experiment":experiment, "battery":battery} return render(request, "experiments/edit_experiment.html", context)