custom fields on devices and ports in the web from config (#945)

* custom device field web display and edit

* make display work; relies on T::T calling dict slot or method with same syntax

* add storing port custom fields

* use resultset method instead, use cf_ prefix

* update Pg min ver for jsonb

* allow override of position and default for port custom fields

* support hidden for custom fields

* update description of Objects API class

* allow left and mid position for custom fields

* add custom fields in csv

* change port control sidebar label

* fix default missing bug on backend jobs
This commit is contained in:
Oliver Gorwits
2022-12-09 10:20:26 +00:00
committed by GitHub
parent d03eab02db
commit 1c7c749f0e
15 changed files with 225 additions and 44 deletions

View File

@@ -23,8 +23,7 @@ ajax '/ajax/content/device/details' => require_login sub {
'+as' => ['has_snapshot'],
join => 'snapshot',
},
)->with_times()
->hri->all;
)->with_times->with_custom_fields->hri->all;
my @power
= schema(vars->{'tenant'})->resultset('DevicePower')

View File

@@ -20,7 +20,7 @@ get '/ajax/content/device/ports' => require_login sub {
my $device = schema(vars->{'tenant'})->resultset('Device')
->search_for_device($q) or send_error('Bad device', 400);
my $set = $device->ports->with_properties;
my $set = $device->ports->with_properties->with_custom_fields;
# refine by ports if requested
my $f = param('f');