diff --git a/lib/App/Netdisco/Web.pm b/lib/App/Netdisco/Web.pm
index 96d56e7f..88d1b352 100644
--- a/lib/App/Netdisco/Web.pm
+++ b/lib/App/Netdisco/Web.pm
@@ -173,12 +173,12 @@ hook after_error_render => sub { setting('layout' => 'main') };
map {{ name => $_, %{ setting('sidebar_defaults')->{'device_ports'}->{$_} } }}
grep { $_ =~ m/^c_/ } keys %{ setting('sidebar_defaults')->{'device_ports'} };
- splice @port_columns, setting('device_port_col_idx_left'), 0,
- grep {$_->{position} eq 'left'} @{ setting('_extra_device_port_cols') };
- splice @port_columns, setting('device_port_col_idx_mid'), 0,
- grep {$_->{position} eq 'mid'} @{ setting('_extra_device_port_cols') };
- splice @port_columns, setting('device_port_col_idx_right'), 0,
+ splice @port_columns, setting('device_port_col_idx_right') + 1, 0,
grep {$_->{position} eq 'right'} @{ setting('_extra_device_port_cols') };
+ splice @port_columns, setting('device_port_col_idx_mid') + 1, 0,
+ grep {$_->{position} eq 'mid'} @{ setting('_extra_device_port_cols') };
+ splice @port_columns, setting('device_port_col_idx_left') + 1, 0,
+ grep {$_->{position} eq 'left'} @{ setting('_extra_device_port_cols') };
set('port_columns' => \@port_columns);
diff --git a/share/config.yml b/share/config.yml
index 96fa76d2..fa5398c2 100644
--- a/share/config.yml
+++ b/share/config.yml
@@ -162,9 +162,9 @@ sidebar_defaults:
report_portutilization:
age_num: { default: 3 }
age_unit: { default: months }
-device_port_col_idx_left: 0
-device_port_col_idx_mid: 2
-device_port_col_idx_right: -1
+device_port_col_idx_left: 7
+device_port_col_idx_mid: 18
+device_port_col_idx_right: 22
jobqueue_refresh: 10
safe_password_store: true
reports: []
diff --git a/share/views/ajax/device/ports.tt b/share/views/ajax/device/ports.tt
index d1ff2f8b..05ea13c7 100644
--- a/share/views/ajax/device/ports.tt
+++ b/share/views/ajax/device/ports.tt
@@ -58,30 +58,6 @@
[% END %]
- [% FOREACH config IN settings._extra_device_port_cols %]
- [% NEXT UNLESS config.position == 'left' AND params.${config.name} %]
-
- [% TRY %]
-
- [% INCLUDE "plugin/${config.name}/device_port_column.tt" %]
- |
- [% CATCH %]
- [% CLEAR %]
- [% IF config.editable AND user_can_port_control AND params.c_admin AND row.portctl %]
-
-
- [% ELSE %]
- |
- [% END %]
-
- [% row.get_column(config.field) | html_entity %]
-
- |
- [% END %]
-
- [% END %]
-
[% IF params.c_port %]
[% IF user_can_port_control AND params.c_admin AND row.portctl %]
[% IF row.up_admin == 'up' %]
@@ -135,30 +111,6 @@
[% END %]
- [% FOREACH config IN settings._extra_device_port_cols %]
- [% NEXT UNLESS config.position == 'mid' AND params.${config.name} %]
-
- [% TRY %]
-
- [% INCLUDE "plugin/${config.name}/device_port_column.tt" %]
- |
- [% CATCH %]
- [% CLEAR %]
- [% IF config.editable AND user_can_port_control AND params.c_admin AND row.portctl %]
-
-
- [% ELSE %]
- |
- [% END %]
-
- [% row.get_column(config.field) | html_entity %]
-
- |
- [% END %]
-
- [% END %]
-
[% IF params.c_descr %]
[% row.descr | html_entity %] |
[% END %]
@@ -193,6 +145,30 @@
[% END %]
+ [% FOREACH config IN settings._extra_device_port_cols %]
+ [% NEXT UNLESS config.position == 'left' AND params.${config.name} %]
+
+ [% TRY %]
+
+ [% INCLUDE "plugin/${config.name}/device_port_column.tt" %]
+ |
+ [% CATCH %]
+ [% CLEAR %]
+ [% IF config.editable AND user_can_port_control AND params.c_admin AND row.portctl %]
+
+
+ [% ELSE %]
+ |
+ [% END %]
+
+ [% row.get_column(config.field) | html_entity %]
+
+ |
+ [% END %]
+
+ [% END %]
+
[% IF params.c_speed_admin %]
[% row.speed_admin | html_entity %] |
[% END %]
@@ -332,6 +308,30 @@
[% END %]
+ [% FOREACH config IN settings._extra_device_port_cols %]
+ [% NEXT UNLESS config.position == 'mid' AND params.${config.name} %]
+
+ [% TRY %]
+
+ [% INCLUDE "plugin/${config.name}/device_port_column.tt" %]
+ |
+ [% CATCH %]
+ [% CLEAR %]
+ [% IF config.editable AND user_can_port_control AND params.c_admin AND row.portctl %]
+
+
+ [% ELSE %]
+ |
+ [% END %]
+
+ [% row.get_column(config.field) | html_entity %]
+
+ |
+ [% END %]
+
+ [% END %]
+
[% IF params.c_nodes OR params.c_neighbors %]
[% IF params.c_neighbors AND (row.remote_ip OR row.is_uplink) %]
|