File Coverage

blib/lib/Tapper/Reports/Web/Controller/Base.pm
Criterion Covered Total %
statement 25 30 83.3
branch 3 6 50.0
condition n/a
subroutine 6 7 85.7
pod n/a
total 34 43 79.0


line stmt bran cond sub pod time code
1             package Tapper::Reports::Web::Controller::Base;
2             our $AUTHORITY = 'cpan:TAPPER';
3             $Tapper::Reports::Web::Controller::Base::VERSION = '5.0.15';
4 12     12   7489 use strict;
  12         32  
  12         449  
5 12     12   80 use warnings;
  12         25  
  12         444  
6              
7 12     12   71 use parent qw(Catalyst::Controller::HTML::FormFu);
  12         28  
  12         104  
8              
9              
10             sub reduced_filter_path
11             {
12 0     0   0 my ($self, $filters, $remove) = @_;
13 0         0 my %new_filters = %$filters;
14 0         0 delete $new_filters{$remove};
15 0         0 return join('/', %new_filters );
16             }
17              
18              
19             sub prepare_filter_path
20             {
21 2     2   10 my ($self, $c, $days) = @_;
22 2         7 my @args = @{$c->req->arguments};
  2         7  
23 2         109 my %args;
24 2 50       13 %args = @args if (int @args % 2 == 0);
25              
26 2 50       9 $args{days} = $days if $days;
27              
28 2         26 return join('/', %args );
29             }
30              
31              
32             sub begin :Private
33             {
34 21     21   137017 my ( $self, $c ) = @_;
35              
36 21         186 require Tapper::Config;
37 21 50       240 if (Tapper::Config->subconfig->{web}->{we_have_a_problem}) {
38 0         0 $c->stash->{we_have_a_problem} = Tapper::Config->subconfig->{web}->{we_have_a_problem};
39             }
40 21         232 $c->stash->{logo} = Tapper::Config->subconfig->{web}{logo};
41 21         1465 $c->stash->{title} = Tapper::Config->subconfig->{web}{title};
42 21         1326 $c->stash->{footer} = Tapper::Config->subconfig->{web}{footer};
43 12     12   7664336 }
  12         36  
  12         124  
44              
45              
46             1;
47              
48             __END__
49              
50             =pod
51              
52             =encoding UTF-8
53              
54             =head1 NAME
55              
56             Tapper::Reports::Web::Controller::Base
57              
58             =head2 reduced_filter_path
59              
60             Create a filter path out of the filters given as first argument that
61             does not contain the second argument.
62              
63             @param hash ref - current filter settings
64             @param string - new path without that filter (should be a key in the hash)
65              
66             @return string - new path
67              
68             =head2 prepare_filter_path
69              
70             Create the URL part for the current filter setting with the requested
71             number of days.
72              
73             @param catalyst context
74             @param int - number of days
75              
76             @return url part
77              
78             =head1 AUTHORS
79              
80             =over 4
81              
82             =item *
83              
84             AMD OSRC Tapper Team <tapper@amd64.org>
85              
86             =item *
87              
88             Tapper Team <tapper-ops@amazon.com>
89              
90             =back
91              
92             =head1 COPYRIGHT AND LICENSE
93              
94             This software is Copyright (c) 2020 by Advanced Micro Devices, Inc..
95              
96             This is free software, licensed under:
97              
98             The (two-clause) FreeBSD License
99              
100             =cut