diff options
Diffstat (limited to 'dashboard/src/workflow/snapshot_workflow.py')
-rw-r--r-- | dashboard/src/workflow/snapshot_workflow.py | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/dashboard/src/workflow/snapshot_workflow.py b/dashboard/src/workflow/snapshot_workflow.py index 4ddc397..5414784 100644 --- a/dashboard/src/workflow/snapshot_workflow.py +++ b/dashboard/src/workflow/snapshot_workflow.py @@ -8,13 +8,13 @@ ############################################################################## -import datetime +from django.utils import timezone import json from booking.models import Booking from resource_inventory.models import Host, Image from workflow.models import WorkflowStep -from workflow.forms import SnapshotMetaForm, SnapshotHostSelectForm +from workflow.forms import BasicMetaForm, SnapshotHostSelectForm class Select_Host_Step(WorkflowStep): @@ -27,7 +27,7 @@ class Select_Host_Step(WorkflowStep): context = super(Select_Host_Step, self).get_context() context['form'] = SnapshotHostSelectForm() booking_hosts = {} - now = datetime.datetime.now() + now = timezone.now() user = self.repo_get(self.repo.SESSION_USER) bookings = Booking.objects.filter(start__lt=now, end__gt=now, owner=user) for booking in bookings: @@ -52,11 +52,11 @@ class Select_Host_Step(WorkflowStep): def post_render(self, request): host_data = request.POST.get("host") if not host_data: - self.metastep.set_invalid("Please select a host") + self.set_invalid("Please select a host") return self.render(request) host = json.loads(host_data) if 'name' not in host or 'booking' not in host: - self.metastep.set_invalid("Invalid host selected") + self.set_invalid("Invalid host selected") return self.render(request) name = host['name'] booking_id = host['booking'] @@ -75,7 +75,7 @@ class Select_Host_Step(WorkflowStep): snap_confirm['host'] = name confirm['snapshot'] = snap_confirm self.repo_put(self.repo.CONFIRMATION, confirm) - self.metastep.set_valid("Success") + self.set_valid("Success") return self.render(request) @@ -87,11 +87,18 @@ class Image_Meta_Step(WorkflowStep): def get_context(self): context = super(Image_Meta_Step, self).get_context() - context['form'] = SnapshotMetaForm() + name = self.repo_get(self.repo.SNAPSHOT_NAME, False) + desc = self.repo_get(self.repo.SNAPSHOT_DESC, False) + form = None + if name and desc: + form = BasicMetaForm(initial={"name": name, "description": desc}) + else: + form = BasicMetaForm() + context['form'] = form return context def post_render(self, request): - form = SnapshotMetaForm(request.POST) + form = BasicMetaForm(request.POST) if form.is_valid(): name = form.cleaned_data['name'] self.repo_put(self.repo.SNAPSHOT_NAME, name) @@ -105,8 +112,8 @@ class Image_Meta_Step(WorkflowStep): confirm['snapshot'] = snap_confirm self.repo_put(self.repo.CONFIRMATION, confirm) - self.metastep.set_valid("Success") + self.set_valid("Success") else: - self.metastep.set_invalid("Please Fill out the Form") + self.set_invalid("Please Fill out the Form") return self.render(request) |