Merge branch 'develop' into feature

This commit is contained in:
Jeremy Stretch
2024-02-05 14:38:26 -05:00
106 changed files with 30533 additions and 2746 deletions

View File

@@ -1056,16 +1056,14 @@ class ReportView(ContentTypePermissionRequiredMixin, View):
def get(self, request, module, name):
module = get_report_module(module, request)
report = module.reports[name]()
jobs = module.get_jobs(report.class_name)
object_type = ContentType.objects.get(app_label='extras', model='reportmodule')
report.result = Job.objects.filter(
object_type=object_type,
object_id=module.pk,
name=report.name,
report.result = jobs.filter(
status__in=JobStatusChoices.TERMINAL_STATE_CHOICES
).first()
return render(request, 'extras/report.html', {
'job_count': jobs.count(),
'module': module,
'report': report,
'form': ReportForm(scheduling_enabled=report.scheduling_enabled),
@@ -1077,6 +1075,7 @@ class ReportView(ContentTypePermissionRequiredMixin, View):
module = get_report_module(module, request)
report = module.reports[name]()
jobs = module.get_jobs(report.class_name)
form = ReportForm(request.POST, scheduling_enabled=report.scheduling_enabled)
if form.is_valid():
@@ -1085,6 +1084,7 @@ class ReportView(ContentTypePermissionRequiredMixin, View):
if not get_workers_for_queue('default'):
messages.error(request, "Unable to run report: RQ worker process not running.")
return render(request, 'extras/report.html', {
'job_count': jobs.count(),
'report': report,
})
@@ -1102,6 +1102,7 @@ class ReportView(ContentTypePermissionRequiredMixin, View):
return redirect('extras:report_result', job_pk=job.pk)
return render(request, 'extras/report.html', {
'job_count': jobs.count(),
'module': module,
'report': report,
'form': form,
@@ -1116,8 +1117,10 @@ class ReportSourceView(ContentTypePermissionRequiredMixin, View):
def get(self, request, module, name):
module = get_report_module(module, request)
report = module.reports[name]()
jobs = module.get_jobs(report.class_name)
return render(request, 'extras/report/source.html', {
'job_count': jobs.count(),
'module': module,
'report': report,
'tab': 'source',
@@ -1132,13 +1135,7 @@ class ReportJobsView(ContentTypePermissionRequiredMixin, View):
def get(self, request, module, name):
module = get_report_module(module, request)
report = module.reports[name]()
object_type = ContentType.objects.get(app_label='extras', model='reportmodule')
jobs = Job.objects.filter(
object_type=object_type,
object_id=module.pk,
name=report.class_name
)
jobs = module.get_jobs(report.class_name)
jobs_table = JobTable(
data=jobs,
@@ -1148,6 +1145,7 @@ class ReportJobsView(ContentTypePermissionRequiredMixin, View):
jobs_table.configure(request)
return render(request, 'extras/report/jobs.html', {
'job_count': jobs.count(),
'module': module,
'report': report,
'table': jobs_table,
@@ -1231,19 +1229,11 @@ class ScriptView(ContentTypePermissionRequiredMixin, View):
def get(self, request, module, name):
module = get_script_module(module, request)
script = module.scripts[name]()
jobs = module.get_jobs(script.class_name)
form = script.as_form(initial=normalize_querydict(request.GET))
# Look for a pending Job (use the latest one by creation timestamp)
object_type = ContentType.objects.get(app_label='extras', model='scriptmodule')
script.result = Job.objects.filter(
object_type=object_type,
object_id=module.pk,
name=script.name,
).exclude(
status__in=JobStatusChoices.TERMINAL_STATE_CHOICES
).first()
return render(request, 'extras/script.html', {
'job_count': jobs.count(),
'module': module,
'script': script,
'form': form,
@@ -1255,6 +1245,7 @@ class ScriptView(ContentTypePermissionRequiredMixin, View):
module = get_script_module(module, request)
script = module.scripts[name]()
jobs = module.get_jobs(script.class_name)
form = script.as_form(request.POST, request.FILES)
# Allow execution only if RQ worker process is running
@@ -1278,6 +1269,7 @@ class ScriptView(ContentTypePermissionRequiredMixin, View):
return redirect('extras:script_result', job_pk=job.pk)
return render(request, 'extras/script.html', {
'job_count': jobs.count(),
'module': module,
'script': script,
'form': form,
@@ -1292,8 +1284,10 @@ class ScriptSourceView(ContentTypePermissionRequiredMixin, View):
def get(self, request, module, name):
module = get_script_module(module, request)
script = module.scripts[name]()
jobs = module.get_jobs(script.class_name)
return render(request, 'extras/script/source.html', {
'job_count': jobs.count(),
'module': module,
'script': script,
'tab': 'source',
@@ -1308,13 +1302,7 @@ class ScriptJobsView(ContentTypePermissionRequiredMixin, View):
def get(self, request, module, name):
module = get_script_module(module, request)
script = module.scripts[name]()
object_type = ContentType.objects.get(app_label='extras', model='scriptmodule')
jobs = Job.objects.filter(
object_type=object_type,
object_id=module.pk,
name=script.class_name
)
jobs = module.get_jobs(script.class_name)
jobs_table = JobTable(
data=jobs,
@@ -1324,6 +1312,7 @@ class ScriptJobsView(ContentTypePermissionRequiredMixin, View):
jobs_table.configure(request)
return render(request, 'extras/script/jobs.html', {
'job_count': jobs.count(),
'module': module,
'script': script,
'table': jobs_table,