Skip to content

Commit f1f3b93

Browse files
committed
refactor: optimize get_object_or_404 calls in update_benchmark and update_benchmark_summary functions
1 parent eed485a commit f1f3b93

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

dojo/benchmark/views.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ def update_benchmark(request, pid, _type):
4646
field = request.POST.get("field")
4747
value = request.POST.get("value")
4848
value = {"true": True, "false": False}.get(value, value)
49+
product = get_object_or_404(Product, id=pid)
50+
bench = get_object_or_404(Benchmark_Product.objects.filter(product=product), id=bench_id)
4951

5052
if field in {
5153
"enabled",
@@ -54,7 +56,6 @@ def update_benchmark(request, pid, _type):
5456
"get_notes",
5557
"delete_notes",
5658
}:
57-
bench = Benchmark_Product.objects.get(id=bench_id)
5859
if field == "enabled":
5960
bench.enabled = value
6061
elif field == "pass_fail":
@@ -90,21 +91,22 @@ def update_benchmark(request, pid, _type):
9091
@user_is_authorized(Product, Permissions.Benchmark_Edit, "pid")
9192
def update_benchmark_summary(request, pid, _type, summary):
9293
if request.method == "POST":
94+
product = get_object_or_404(Product, id=pid)
95+
benchmark_summary = get_object_or_404(Benchmark_Product_Summary.objects.filter(product=product), id=summary)
9396
field = request.POST.get("field")
9497
value = request.POST.get("value")
9598
value = {"true": True, "false": False}.get(value, value)
9699

97100
if field in {"publish", "desired_level"}:
98-
summary = Benchmark_Product_Summary.objects.get(id=summary)
99101
data = {}
100102
if field == "publish":
101-
summary.publish = value
103+
benchmark_summary.publish = value
102104
data = {"publish": value}
103105
elif field == "desired_level":
104-
summary.desired_level = value
105-
data = {"desired_level": value, "text": asvs_level(summary)}
106+
benchmark_summary.desired_level = value
107+
data = {"desired_level": value, "text": asvs_level(benchmark_summary)}
106108

107-
summary.save()
109+
benchmark_summary.save()
108110
return JsonResponse(data)
109111

110112
return redirect_to_return_url_or_else(
@@ -290,9 +292,9 @@ def benchmark_view(request, pid, benchmark_type, cat=None):
290292
@user_is_authorized(Product, Permissions.Benchmark_Delete, "pid")
291293
def delete(request, pid, benchmark_type):
292294
product = get_object_or_404(Product, id=pid)
293-
benchmark_product_summary = Benchmark_Product_Summary.objects.filter(
294-
product=product, benchmark_type=benchmark_type,
295-
).first()
295+
benchmark_product_summary = get_object_or_404(
296+
Benchmark_Product_Summary.objects.filter(product=product), benchmark_type=benchmark_type,
297+
)
296298
form = DeleteBenchmarkForm(instance=benchmark_product_summary)
297299

298300
if request.method == "POST":

0 commit comments

Comments
 (0)