Add more columns to server table

Change-Id: Ie38a0f17e490df4922928010ef1ed4b3aad91717
This commit is contained in:
Zhenguo Niu 2017-05-05 16:00:04 +08:00
parent a8af4b2972
commit 3bfd13cc20
3 changed files with 77 additions and 9 deletions

View File

@ -43,3 +43,14 @@ def server_list(request):
"""
server_manager = moganclient(request).server
return server_manager.list(detailed=True, all_projects=False)
def server_get(request, server_id):
"""Retrieve a list of servers.
:param request: HTTP request.
:param server_id: The uuid of the server.
:return: Server object.
"""
server_manager = moganclient(request).server
return server_manager.get(server_id)

View File

@ -13,18 +13,79 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from django.template.defaultfilters import title
from django.utils.translation import pgettext_lazy
from django.utils.translation import ugettext_lazy as _
from mogan_ui.api import mogan
from horizon import tables
from horizon.utils import filters
class UpdateRow(tables.Row):
ajax = True
def get_data(self, request, server_id):
server = mogan.server_get(request, server_id)
return server
STATUS_DISPLAY_CHOICES = (
("active", pgettext_lazy("Current status of a Server", u"Active")),
("stopped", pgettext_lazy("Current status of a Server", u"Stopped")),
("error", pgettext_lazy("Current status of a Server", u"Error")),
("rebuilding", pgettext_lazy("Current status of a Server",
u"Rebuilding")),
("building", pgettext_lazy("Current status of a Server", u"Building")),
("powering-on", pgettext_lazy("Current status of a Server",
u"Powering On")),
("powering-off", pgettext_lazy("Current status of a Server",
u"Powering Off")),
("rebooting", pgettext_lazy("Current status of a Server",
u"Rebooting")),
("deleting", pgettext_lazy("Current status of a Server",
u"Deleting")),
("soft-powering-off", pgettext_lazy("Current status of a Server",
u"Soft Powering Off")),
("soft-rebooting", pgettext_lazy("Current status of a Server",
u"Soft Rebooting")),
("maintenance", pgettext_lazy("Current status of a Server",
u"Maintenance")),
)
class ServersTable(tables.DataTable):
STATUS_CHOICES = (
("active", True),
("stopped", True),
("building", None),
("error", False),
("maintenance", False),
)
name = tables.WrappingColumn(
"name",
verbose_name=_("Name"))
verbose_name=_("Server Name"))
image = tables.Column("image_uuid",
verbose_name=_("Image"))
flavor = tables.Column("flavor_uuid",
sortable=False,
verbose_name=_("Flavor"))
status = tables.Column("status",
verbose_name=_("Status"))
filters=(title, filters.replace_underscores),
verbose_name=_("Status"),
status=True,
status_choices=STATUS_CHOICES,
display_choices=STATUS_DISPLAY_CHOICES)
az = tables.Column("availability_zone",
verbose_name=_("Availability Zone"))
state = tables.Column("power_state",
verbose_name=_("Power State"))
created = tables.Column("created_at",
verbose_name=_("Time since created"),
filters=(filters.parse_isotime,
filters.timesince_sortable),
attrs={'data-type': 'timesince'})
def get_object_id(self, obj):
return obj.uuid
@ -32,3 +93,5 @@ class ServersTable(tables.DataTable):
class Meta(object):
name = "servers"
verbose_name = _("Servers")
status_columns = ["status"]
row_class = UpdateRow

View File

@ -20,9 +20,3 @@ PANEL_GROUP_NAME = _('Bare Metal Compute')
PANEL_GROUP_DASHBOARD = 'project'
ADD_INSTALLED_APPS = ['mogan_ui']
ADD_ANGULAR_MODULES = [
'horizon.dashboard.baremetal_compute'
]
AUTO_DISCOVER_STATIC_FILES = True