diff --git a/lib/NGCP/Panel/Controller/Device.pm b/lib/NGCP/Panel/Controller/Device.pm index 1d5e6376f4..f50f664742 100644 --- a/lib/NGCP/Panel/Controller/Device.pm +++ b/lib/NGCP/Panel/Controller/Device.pm @@ -56,6 +56,7 @@ sub base :Chained('/') :PathPart('device') :CaptureArgs(0) { $c->stash->{devfw_dt_columns} = NGCP::Panel::Utils::Datatables::set_columns($c, [ { name => 'id', search => 1, title => '#' }, + { name => 'device.reseller.name', search => 1, title => 'Reseller' }, { name => 'device.vendor', search => 1, title => 'Device Vendor' }, { name => 'device.model', search => 1, title => 'Device Model' }, { name => 'filename', search => 1, title => 'Firmware File' }, @@ -79,6 +80,7 @@ sub base :Chained('/') :PathPart('device') :CaptureArgs(0) { $c->stash->{devconf_dt_columns} = NGCP::Panel::Utils::Datatables::set_columns($c, [ { name => 'id', search => 1, title => '#' }, + { name => 'device.reseller.name', search => 1, title => 'Reseller' }, { name => 'device.vendor', search => 1, title => 'Device Vendor' }, { name => 'device.model', search => 1, title => 'Device Model' }, { name => 'version', search => 1, title => 'Version' }, @@ -100,6 +102,7 @@ sub base :Chained('/') :PathPart('device') :CaptureArgs(0) { } $c->stash->{devprof_dt_columns} = NGCP::Panel::Utils::Datatables::set_columns($c, [ { name => 'id', search => 1, title => '#' }, + { name => 'config.device.reseller.name', search => 1, title => 'Reseller' }, { name => 'name', search => 1, title => 'Name' }, { name => 'config.device.vendor', search => 1, title => 'Device Vendor' }, { name => 'config.device.model', search => 1, title => 'Device Model' }, diff --git a/lib/NGCP/Panel/Utils/Datatables.pm b/lib/NGCP/Panel/Utils/Datatables.pm index d050a6280a..37cb3177e1 100644 --- a/lib/NGCP/Panel/Utils/Datatables.pm +++ b/lib/NGCP/Panel/Utils/Datatables.pm @@ -35,8 +35,14 @@ sub process { '+select' => [ $parts[1].'.'.$parts[2] ], '+as' => [ $c->{accessor} ], }); - } elsif(@parts > 3) { - # TODO throw an error for now as we only support one and two levels + } elsif(@parts == 4) { + $rs = $rs->search_rs(undef, { + join => { $parts[0] => { $parts[1] => $parts[2] } }, + '+select' => [ $parts[2].'.'.$parts[3] ], + '+as' => [ $c->{accessor} ], + }); + } elsif(@parts > 4) { + # TODO throw an error for now as we only support up to 3 levels } } @@ -188,6 +194,8 @@ sub _get_joined_column_name { $name = $cname; } elsif(@parts == 3) { $name = $parts[1].'.'.$parts[2]; + } elsif(@parts == 4) { + $name = $parts[1].'.'.$parts[2].'.'.$parts[3]; } else { # TODO throw an error for now as we only support one and two level }