diff --git a/circle/vm/models/node.py b/circle/vm/models/node.py index 8fa1e6a..78e3389 100644 --- a/circle/vm/models/node.py +++ b/circle/vm/models/node.py @@ -77,18 +77,19 @@ class Node(TimeStampedModel): num_cores = property(get_num_cores) + STATES = {False: {False: ('OFFLINE', _('offline')), + True: ('DISABLED', _('disabled'))}, + True: {False: ('MISSING', _('missing')), + True: ('ONLINE', _('online'))}} + @property def state(self): """The state combined of online and enabled attributes. """ - if self.enabled and self.online: - return 'ONLINE' - elif self.enabled and not self.online: - return 'MISSING' - elif not self.enabled and self.online: - return 'DISABLED' - else: - return 'OFFLINE' + return self.STATES[self.enabled][self.online][0] + + def get_status_display(self): + return self.STATES[self.enabled][self.online][1] def disable(self, user=None): ''' Disable the node.'''