From b660cbfb5e282ecc014105178ab91baa957dff99 Mon Sep 17 00:00:00 2001 From: Carmelo Romeo Date: Mon, 29 Oct 2018 18:01:19 +0100 Subject: [PATCH] Fixed some minor bugs and improved change fleet management for boards Change-Id: Iec9848fb2a1cbb951591a6dad420543d9e7b6a8c --- iotronic_ui/iot/boards/forms.py | 14 ++++++++- iotronic_ui/iot/boards/tables.py | 3 +- .../templates/boards/_detail_overview.html | 2 ++ iotronic_ui/iot/boards/views.py | 30 +++++++++++++------ iotronic_ui/iot/fleets/tables.py | 5 ++-- iotronic_ui/iot/fleets/views.py | 2 +- 6 files changed, 42 insertions(+), 14 deletions(-) diff --git a/iotronic_ui/iot/boards/forms.py b/iotronic_ui/iot/boards/forms.py index 908e032..fc3b3dc 100644 --- a/iotronic_ui/iot/boards/forms.py +++ b/iotronic_ui/iot/boards/forms.py @@ -100,7 +100,19 @@ class UpdateBoardForm(forms.SelfHandlingForm): def __init__(self, *args, **kwargs): super(UpdateBoardForm, self).__init__(*args, **kwargs) - self.fields["fleet_list"].choices = kwargs["initial"]["fleet_list"] + + # Populate fleets + fleets = iotronic.fleet_list(self.request, None) + fleets.sort(key=lambda b: b.name) + + fleet_list = [] + fleet_list.append((None, _("-"))) + for fleet in fleets: + fleet_list.append((fleet.uuid, _(fleet.name))) + + # LOG.debug("FLEETS: %s", fleet_list) + self.fields["fleet_list"].choices = fleet_list + self.fields["fleet_list"].initial = kwargs["initial"]["fleet_id"] # LOG.debug("INITIAL: %s", kwargs["initial"]) diff --git a/iotronic_ui/iot/boards/tables.py b/iotronic_ui/iot/boards/tables.py index 7715774..3432a77 100644 --- a/iotronic_ui/iot/boards/tables.py +++ b/iotronic_ui/iot/boards/tables.py @@ -175,7 +175,8 @@ class BoardsTable(tables.DataTable): type = tables.Column('type', verbose_name=_('Type')) # mobile = tables.Column('mobile', verbose_name=_('Mobile')) uuid = tables.Column('uuid', verbose_name=_('Board ID')) - fleet = tables.Column('fleet', verbose_name=_('Fleet ID')) + # fleet = tables.Column('fleet', verbose_name=_('Fleet ID')) + fleet_name = tables.Column('fleet_name', verbose_name=_('Fleet Name')) # code = tables.Column('code', verbose_name=_('Code')) status = tables.Column('status', verbose_name=_('Status')) # location = tables.Column('location', verbose_name=_('Geo')) diff --git a/iotronic_ui/iot/boards/templates/boards/_detail_overview.html b/iotronic_ui/iot/boards/templates/boards/_detail_overview.html index 4628ae0..70cd7fb 100644 --- a/iotronic_ui/iot/boards/templates/boards/_detail_overview.html +++ b/iotronic_ui/iot/boards/templates/boards/_detail_overview.html @@ -25,6 +25,8 @@
{{ board.mobile }}
{% trans "Extra" %}
{{ board.extra }}
+
{% trans "Fleet Name" %}
+
{{ board.fleet_name }}
{% trans "Fleet ID" %}
{{ board.fleet }}
diff --git a/iotronic_ui/iot/boards/views.py b/iotronic_ui/iot/boards/views.py index c87c33c..cb320da 100644 --- a/iotronic_ui/iot/boards/views.py +++ b/iotronic_ui/iot/boards/views.py @@ -77,6 +77,16 @@ class IndexView(tables.DataTableView): # board.__dict__.update(dict(services=board_services)) board._info.update(dict(services=board_services)) + + if board.fleet != None: + fleet_info = api.iotronic.fleet_get(self.request, + board.fleet, + None) + + board.fleet_name = fleet_info.name + else: + board.fleet_name = None + return boards @@ -123,19 +133,11 @@ class UpdateView(forms.ModalFormView): board = self.get_object() location = board.location[0] - # Populate fleets - fleets = api.iotronic.fleet_list(self.request, None) - fleets.sort(key=lambda b: b.name) - - fleet_list = [] - for fleet in fleets: - fleet_list.append((fleet.uuid, _(fleet.name))) - return {'uuid': board.uuid, 'name': board.name, 'mobile': board.mobile, 'owner': board.owner, - 'fleet_list': fleet_list, + 'fleet_id': board.fleet, 'latitude': location["latitude"], 'longitude': location["longitude"], 'altitude': location["altitude"]} @@ -499,6 +501,16 @@ class DetailView(tabs.TabView): board_id) board._info.update(dict(plugins=board_plugins)) + # Adding fleet name + if board.fleet != None: + fleet_info = api.iotronic.fleet_get(self.request, + board.fleet, + None) + + board.fleet_name = fleet_info.name + else: + board.fleet_name = None + # LOG.debug("BOARD: %s\n\n%s", board, board._info) except Exception: diff --git a/iotronic_ui/iot/fleets/tables.py b/iotronic_ui/iot/fleets/tables.py index 744e068..0b6ac58 100644 --- a/iotronic_ui/iot/fleets/tables.py +++ b/iotronic_ui/iot/fleets/tables.py @@ -93,7 +93,8 @@ class FleetsTable(tables.DataTable): class Meta(object): name = "fleets" verbose_name = _("fleets") - row_actions = (EditFleetLink, ActionFleetLink, - DeleteFleetsAction) + # row_actions = (EditFleetLink, ActionFleetLink, + # DeleteFleetsAction) + row_actions = (EditFleetLink, DeleteFleetsAction) table_actions = (FleetFilterAction, CreateFleetLink, DeleteFleetsAction) diff --git a/iotronic_ui/iot/fleets/views.py b/iotronic_ui/iot/fleets/views.py index 06d87b5..b2a42d2 100644 --- a/iotronic_ui/iot/fleets/views.py +++ b/iotronic_ui/iot/fleets/views.py @@ -193,7 +193,7 @@ class DetailView(tabs.TabView): fleet = iotronic.fleet_get(self.request, fleet_id, None) boards = iotronic.fleet_get_boards(self.request, fleet_id) - LOG.debug('XXXX: %s', boards) + # LOG.debug('Boards: %s', boards) for board in boards: fleet_boards.append(board._info)