diff options
-rw-r--r-- | rrs/admin.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/rrs/admin.py b/rrs/admin.py index 07e09f4f4a..98cd0a02c8 100644 --- a/rrs/admin.py +++ b/rrs/admin.py @@ -53,6 +53,23 @@ class MaintenancePlanAdmin(admin.ModelAdmin): inlines = [ MaintenancePlanLayerBranchInline, ] + def save_model(self, request, obj, form, change): + # For new maintenance plans, copy releases from the first plan + if obj.pk is None: + copyfrom_mp = MaintenancePlan.objects.all().first() + else: + copyfrom_mp = None + super().save_model(request, obj, form, change) + if copyfrom_mp: + for release in copyfrom_mp.release_set.all(): + release.pk = None + release.plan = obj + release.save() + milestone = Milestone(release=release) + milestone.name='Default' + milestone.start_date = release.start_date + milestone.end_date = release.end_date + milestone.save() class ReleaseAdmin(admin.ModelAdmin): search_fields = ['name'] |