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 9ccbb08e29
commit 09a0e579fa
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 2 additions and 4 deletions

View File

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

View File

@ -1181,7 +1181,6 @@ class ScriptView(BaseScriptView):
request=copy_safe_request(request),
job_timeout=script.python_class.job_timeout,
commit=form.cleaned_data.pop('_commit'),
name=script.name
)
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
cls.enqueue(
instance=job.object,
name=job.name,
user=job.user,
schedule_at=new_scheduled_time,
interval=job.interval,