TT#42767 Remove ALE dev config prefix and suffix

* Remove config prefix and suffix when fetching config
* Add support for trailing tag when fetching firmware

Change-Id: I36c2bc23e4886696ab3c620e3b84a03fc0a60d40
changes/76/22876/6
Andreas Granig 7 years ago
parent c21aa55124
commit b846044c0c

@ -56,7 +56,7 @@ sub base :Chained('/') :PathPart('device') :CaptureArgs(0) {
{ name => 'model', search => 1, title => $c->loc('Model') },
]);
my $devfw_rs = $c->model('DB')->resultset('autoprov_firmwares')->search_rs(undef,{'columns' => [qw/id device_id version filename/],
my $devfw_rs = $c->model('DB')->resultset('autoprov_firmwares')->search_rs(undef,{'columns' => [qw/id device_id version filename tag/],
});
$reseller_id and $devfw_rs = $devfw_rs->search({
'device.reseller_id' => $reseller_id,
@ -70,6 +70,7 @@ sub base :Chained('/') :PathPart('device') :CaptureArgs(0) {
{ name => 'device.model', search => 1, title => $c->loc('Device Model') },
{ name => 'filename', search => 1, title => $c->loc('Firmware File') },
{ name => 'version', search => 1, title => $c->loc('Version') },
{ name => 'tag', search => 1, title => $c->loc('Firmware Tag') },
]);
my $devconf_rs = $c->model('DB')->resultset('autoprov_configs')->search_rs(undef,{'columns' => [qw/id device_id version content_type/],
@ -1150,8 +1151,8 @@ sub dev_field_config :Chained('/') :PathPart('device/autoprov/config') :Args() {
return;
}
$id =~ s/\.cfg$//;
$id =~ s/\.ini$//;
$id =~ s/\.(cfg|ini|xml)$//;
$id =~ s/^config\.//;
$id =~ s/^([^\=]+)\=0$/$1/;
$id = lc $id;
@ -1944,7 +1945,7 @@ sub dev_field_firmware_next :Chained('dev_field_firmware_version_base') :PathPar
}
sub dev_field_firmware_latest :Chained('dev_field_firmware_version_base') :PathPart('latest') :Args {
my ($self, $c, $tmp) = @_;
my ($self, $c, $tag) = @_;
my $rs = $c->stash->{fw_rs}->search({
device_id => $c->stash->{dev}->profile->config->device->id,
@ -1952,6 +1953,11 @@ sub dev_field_firmware_latest :Chained('dev_field_firmware_version_base') :PathP
}, {
order_by => { -desc => 'version' },
});
if(defined $tag && length $tag > 0) {
$rs = $rs->search({
tag => $tag,
});
}
if(defined $c->req->params->{q}) {
$rs = $rs->search({
version => { 'like' => $c->req->params->{q} . '%' },

@ -23,6 +23,12 @@ has_field 'version' => (
label => 'Version',
);
has_field 'tag' => (
type => 'Text',
required => 0,
label => 'Firmware Tag',
);
has_field 'data' => (
type => 'Upload',
required => 1,
@ -40,7 +46,7 @@ has_field 'save' => (
has_block 'fields' => (
tag => 'div',
class => [qw/modal-body/],
render_list => [qw/device version data/],
render_list => [qw/device version tag data/],
);
has_block 'actions' => (

@ -41,10 +41,20 @@ has_field 'filename' => (
},
);
has_field 'tag' => (
type => 'Text',
required => 0,
label => 'Tag',
element_attr => {
rel => ['tooltip'],
title => ['A custom tag for this firmware.']
},
);
has_block 'fields' => (
tag => 'div',
class => [qw/modal-body/],
render_list => [qw/device_id version filename/],
render_list => [qw/device_id version filename tag/],
);
1;

Loading…
Cancel
Save