mirror of
https://github.com/ansible/awx.git
synced 2026-01-14 19:30:39 -03:30
Merge pull request #2490 from AlanCoding/2413_allow_orphan_jobs
Allow launching an orphaned job
This commit is contained in:
commit
38aaf2d72b
@ -743,8 +743,10 @@ class Job(UnifiedJob, JobOptions):
|
||||
|
||||
def copy(self):
|
||||
presets = {}
|
||||
for kw in self.job_template._get_unified_job_field_names():
|
||||
for kw in JobTemplate._get_unified_job_field_names():
|
||||
presets[kw] = getattr(self, kw)
|
||||
if not self.job_template:
|
||||
self.job_template = JobTemplate(name='temporary')
|
||||
return self.job_template.create_unified_job(**presets)
|
||||
|
||||
# Job Credential required
|
||||
|
||||
@ -309,7 +309,8 @@ class UnifiedJobTemplate(PolymorphicModel, CommonModelNameNotUnique, Notificatio
|
||||
kwargs.pop('%s_id' % parent_field_name, None)
|
||||
create_kwargs = {}
|
||||
m2m_fields = {}
|
||||
create_kwargs[parent_field_name] = self
|
||||
if self.pk:
|
||||
create_kwargs[parent_field_name] = self
|
||||
for field_name in self._get_unified_job_field_names():
|
||||
# Foreign keys can be specified as field_name or field_name_id.
|
||||
id_field_name = '%s_id' % field_name
|
||||
|
||||
@ -35,3 +35,11 @@ def test_job_blocking_allow_simul(get, post, job_template, inventory):
|
||||
job_template.allow_simultaneous = False
|
||||
assert j1.is_blocked_by(j2)
|
||||
assert j2.is_blocked_by(j1)
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_orphan_unified_job_creation(instance, inventory):
|
||||
job = Job.objects.create(job_template=None, inventory=inventory, name='hi world')
|
||||
job2 = job.copy()
|
||||
assert job2.job_template is None
|
||||
assert job2.inventory == inventory
|
||||
assert job2.name == 'hi world'
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user