From d4a349126df498a9f8d4424a02d843e2937fec50 Mon Sep 17 00:00:00 2001 From: Dudás Ádám Date: Fri, 27 Sep 2013 15:17:46 +0200 Subject: [PATCH] storage, vm: add missing *Activity model helper methods --- circle/storage/models.py | 12 ++++++++++++ circle/vm/models.py | 11 +++++++++++ 2 files changed, 23 insertions(+) diff --git a/circle/storage/models.py b/circle/storage/models.py index c0e1602..ccc5dc0 100644 --- a/circle/storage/models.py +++ b/circle/storage/models.py @@ -6,6 +6,7 @@ import uuid from django.contrib.auth.models import User from django.db.models import (Model, BooleanField, CharField, DateTimeField, ForeignKey, TextField) +from django.utils import timezone from django.utils.translation import ugettext_lazy as _ from model_utils.models import TimeStampedModel from sizefield.models import FileSizeField @@ -172,3 +173,14 @@ class DiskActivity(TimeStampedModel): result = TextField(verbose_name=_('result'), blank=True, null=True) state = CharField(verbose_name=_('state'), default='PENDING', max_length=50) + + def update_state(self, new_state): + self.state = new_state + self.save() + + def finish(self, result=None): + if not self.finished: + self.finished = timezone.now() + self.result = result + self.state = 'COMPLETED' + self.save() diff --git a/circle/vm/models.py b/circle/vm/models.py index 2d73e99..addbda3 100644 --- a/circle/vm/models.py +++ b/circle/vm/models.py @@ -121,6 +121,17 @@ class NodeActivity(TimeStampedModel): status = CharField(verbose_name=_('status'), default='PENDING', max_length=50, help_text=_('Actual state of activity')) + def update_state(self, new_state): + self.state = new_state + self.save() + + def finish(self, result=None): + if not self.finished: + self.finished = timezone.now() + self.result = result + self.state = 'COMPLETED' + self.save() + class Lease(Model): -- libgit2 0.26.0