Commit 02116654 by Bach Dániel

Merge branch 'feature-op-retval' into 'master'

Feature op retval 

closes #228

See merge request !328
parents 0c706599 30bd9787
...@@ -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.
......
...@@ -28,6 +28,7 @@ import time ...@@ -28,6 +28,7 @@ import time
from urlparse import urlsplit from urlparse import urlsplit
from django.core.exceptions import PermissionDenied, SuspiciousOperation from django.core.exceptions import PermissionDenied, SuspiciousOperation
from django.core.urlresolvers import reverse
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext_lazy as _, ugettext_noop from django.utils.translation import ugettext_lazy as _, ugettext_noop
from django.conf import settings from django.conf import settings
...@@ -794,7 +795,10 @@ class SaveAsTemplateOperation(InstanceOperation): ...@@ -794,7 +795,10 @@ class SaveAsTemplateOperation(InstanceOperation):
tmpl.delete() tmpl.delete()
raise raise
else: else:
return tmpl return create_readable(
ugettext_noop("New template: %(template)s"),
template=reverse('dashboard.views.template-detail',
kwargs={'pk': tmpl.pk}))
@register_operation @register_operation
...@@ -986,7 +990,7 @@ class RenewOperation(InstanceOperation): ...@@ -986,7 +990,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 +1361,7 @@ class ResourcesOperation(InstanceOperation): ...@@ -1357,7 +1361,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