Commit dd7e8ada by Bach Dániel

common: fix issue #228 (return value of Operation._operation (if any) could be…

common: fix issue #228 (return value of Operation._operation (if any) could be the result of the activity"

closes #228
parent 88946e1a
...@@ -21,7 +21,8 @@ from logging import getLogger ...@@ -21,7 +21,8 @@ from logging import getLogger
from django.core.exceptions import PermissionDenied, ImproperlyConfigured from django.core.exceptions import PermissionDenied, ImproperlyConfigured
from django.utils.translation import ugettext_noop from django.utils.translation import ugettext_noop
from .models import activity_context, has_suffix, humanize_exception from .models import (activity_context, has_suffix, humanize_exception,
HumanReadableObject)
logger = getLogger(__name__) logger = getLogger(__name__)
...@@ -110,8 +111,12 @@ class Operation(object): ...@@ -110,8 +111,12 @@ class Operation(object):
arguments.update(auxargs) arguments.update(auxargs)
with activity_context(allargs['activity'], on_abort=self.on_abort, with activity_context(allargs['activity'], on_abort=self.on_abort,
on_commit=self.on_commit): on_commit=self.on_commit) as act:
return self._operation(**arguments) retval = self._operation(**arguments)
if (act.result is None and isinstance(
retval, (basestring, int, HumanReadableObject))):
act.result = retval
return retval
def _operation(self, **kwargs): def _operation(self, **kwargs):
"""This method is the operation's particular implementation. """This method is the operation's particular implementation.
......
...@@ -986,7 +986,7 @@ class RenewOperation(InstanceOperation): ...@@ -986,7 +986,7 @@ class RenewOperation(InstanceOperation):
if save: if save:
self.instance.lease = lease self.instance.lease = lease
self.instance.save() self.instance.save()
activity.result = create_readable(ugettext_noop( return create_readable(ugettext_noop(
"Renewed to suspend at %(suspend)s and destroy at %(delete)s."), "Renewed to suspend at %(suspend)s and destroy at %(delete)s."),
suspend=suspend, delete=delete) suspend=suspend, delete=delete)
...@@ -1357,7 +1357,7 @@ class ResourcesOperation(InstanceOperation): ...@@ -1357,7 +1357,7 @@ class ResourcesOperation(InstanceOperation):
self.instance.full_clean() self.instance.full_clean()
self.instance.save() self.instance.save()
activity.result = create_readable(ugettext_noop( return create_readable(ugettext_noop(
"Priority: %(priority)s, Num cores: %(num_cores)s, " "Priority: %(priority)s, Num cores: %(num_cores)s, "
"Ram size: %(ram_size)s"), priority=priority, num_cores=num_cores, "Ram size: %(ram_size)s"), priority=priority, num_cores=num_cores,
ram_size=ram_size ram_size=ram_size
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment