Fixes: #17923, #17921 - Fix non-null constraint for script execution (#17932)

* Fix non-null constraint for script execution

With c34a0e2, validation of job object fields is enabled, so ScriptJob
must not set required fields to empty strings. This commit reverts
b18f193 and (hopefully) fixes this issue not only for UI views, but for
all interactions with scripts.

Fixes: #17923

* Fix name of recurring jobs

For recurring jobs, the name must be passed to the next job object when
the job is rescheduled.
This commit is contained in:
Alexander Haase 2024-11-21 14:43:59 +01:00 committed by GitHub
parent 8cbf49d51b
commit 2afb7b5c70
3 changed files with 2 additions and 4 deletions

View File

@ -22,9 +22,7 @@ class ScriptJob(JobRunner):
""" """
class Meta: class Meta:
# An explicit job name is not set because it doesn't make sense in this context. Currently, there's no scenario name = 'Run Script'
# where jobs other than this one are used. Therefore, it is hidden, resulting in a cleaner job table overview.
name = ''
def run_script(self, script, request, data, commit): def run_script(self, script, request, data, commit):
""" """

View File

@ -1181,7 +1181,6 @@ class ScriptView(BaseScriptView):
request=copy_safe_request(request), request=copy_safe_request(request),
job_timeout=script.python_class.job_timeout, job_timeout=script.python_class.job_timeout,
commit=form.cleaned_data.pop('_commit'), commit=form.cleaned_data.pop('_commit'),
name=script.name
) )
return redirect('extras:script_result', job_pk=job.pk) return redirect('extras:script_result', job_pk=job.pk)

View File

@ -72,6 +72,7 @@ class JobRunner(ABC):
kwargs["job_timeout"] = job.object.python_class.job_timeout kwargs["job_timeout"] = job.object.python_class.job_timeout
cls.enqueue( cls.enqueue(
instance=job.object, instance=job.object,
name=job.name,
user=job.user, user=job.user,
schedule_at=new_scheduled_time, schedule_at=new_scheduled_time,
interval=job.interval, interval=job.interval,