diff options
author | Matthew Somerville <matthew-github@dracos.co.uk> | 2017-03-03 17:58:31 +0000 |
---|---|---|
committer | Matthew Somerville <matthew-github@dracos.co.uk> | 2017-03-10 16:53:14 +0000 |
commit | a91d9562c6c0ec836f10290df779e2012f18ddec (patch) | |
tree | 6e117020105d98bb6d3993af727eccc846c26cb9 | |
parent | c3c04c7dc01ed660c22c4bd43f308a01a47e7bcc (diff) |
Add is_in_progress Problem helper.
-rw-r--r-- | perllib/FixMyStreet/DB/Result/Problem.pm | 10 | ||||
-rw-r--r-- | t/app/model/problem.t | 16 | ||||
-rw-r--r-- | templates/web/base/report/banner.html | 3 | ||||
-rw-r--r-- | templates/web/fixmystreet.com/report/banner.html | 3 |
4 files changed, 28 insertions, 4 deletions
diff --git a/perllib/FixMyStreet/DB/Result/Problem.pm b/perllib/FixMyStreet/DB/Result/Problem.pm index dcd5ecc71..0ab52628e 100644 --- a/perllib/FixMyStreet/DB/Result/Problem.pm +++ b/perllib/FixMyStreet/DB/Result/Problem.pm @@ -549,6 +549,16 @@ sub is_open { return exists $self->open_states->{ $self->state } ? 1 : 0; } +=head2 is_in_progress + +Sees if the problem is in an open, not 'confirmed' state. + +=cut + +sub is_in_progress { + my $self = shift; + return $self->is_open && $self->state ne 'confirmed' ? 1 : 0; +} =head2 is_fixed diff --git a/t/app/model/problem.t b/t/app/model/problem.t index b942a5333..e9ec22b77 100644 --- a/t/app/model/problem.t +++ b/t/app/model/problem.t @@ -249,6 +249,7 @@ for my $test ( is_visible => 0, is_fixed => 0, is_open => 0, + is_in_progress => 0, is_closed => 0, }, { @@ -256,6 +257,7 @@ for my $test ( is_visible => 0, is_fixed => 0, is_open => 0, + is_in_progress => 0, is_closed => 0, }, { @@ -263,6 +265,7 @@ for my $test ( is_visible => 0, is_fixed => 0, is_open => 0, + is_in_progress => 0, is_closed => 0, }, { @@ -270,6 +273,7 @@ for my $test ( is_visible => 1, is_fixed => 0, is_open => 1, + is_in_progress => 0, is_closed => 0, }, { @@ -277,6 +281,7 @@ for my $test ( is_visible => 1, is_fixed => 0, is_open => 1, + is_in_progress => 1, is_closed => 0, }, { @@ -284,6 +289,7 @@ for my $test ( is_visible => 1, is_fixed => 0, is_open => 1, + is_in_progress => 1, is_closed => 0, }, { @@ -291,6 +297,7 @@ for my $test ( is_visible => 1, is_fixed => 0, is_open => 1, + is_in_progress => 1, is_closed => 0, }, { @@ -298,6 +305,7 @@ for my $test ( is_visible => 1, is_fixed => 0, is_open => 1, + is_in_progress => 1, is_closed => 0, }, { @@ -305,6 +313,7 @@ for my $test ( is_visible => 1, is_fixed => 0, is_open => 0, + is_in_progress => 0, is_closed => 1, }, { @@ -312,6 +321,7 @@ for my $test ( is_visible => 1, is_fixed => 0, is_open => 0, + is_in_progress => 0, is_closed => 1, }, { @@ -319,6 +329,7 @@ for my $test ( is_visible => 1, is_fixed => 0, is_open => 0, + is_in_progress => 0, is_closed => 1, }, { @@ -326,6 +337,7 @@ for my $test ( is_visible => 1, is_fixed => 1, is_open => 0, + is_in_progress => 0, is_closed => 0, }, { @@ -333,6 +345,7 @@ for my $test ( is_visible => 1, is_fixed => 1, is_open => 0, + is_in_progress => 0, is_closed => 0, }, { @@ -340,6 +353,7 @@ for my $test ( is_visible => 1, is_fixed => 1, is_open => 0, + is_in_progress => 0, is_closed => 0, }, { @@ -347,6 +361,7 @@ for my $test ( is_visible => 1, is_fixed => 0, is_open => 0, + is_in_progress => 0, is_closed => 1, }, ) { @@ -356,6 +371,7 @@ for my $test ( is $problem->is_fixed, $test->{is_fixed}, 'is_fixed'; is $problem->is_closed, $test->{is_closed}, 'is_closed'; is $problem->is_open, $test->{is_open}, 'is_open'; + is $problem->is_in_progress, $test->{is_in_progress}, 'is_in_progress'; }; } diff --git a/templates/web/base/report/banner.html b/templates/web/base/report/banner.html index 188e96502..c80d129eb 100644 --- a/templates/web/base/report/banner.html +++ b/templates/web/base/report/banner.html @@ -14,7 +14,6 @@ [% IF problem.is_closed %] [% INCLUDE banner, id = 'closed', text = loc('Closed') %] [% END %] -[% states = [ 'investigating', 'in progress', 'planned', 'action scheduled' ]; - IF states.grep(problem.state).size %] +[% IF problem.is_in_progress %] [% INCLUDE banner, id = 'progress', text = loc('In progress') %] [% END %] diff --git a/templates/web/fixmystreet.com/report/banner.html b/templates/web/fixmystreet.com/report/banner.html index 35d7be179..6fd74a7fe 100644 --- a/templates/web/fixmystreet.com/report/banner.html +++ b/templates/web/fixmystreet.com/report/banner.html @@ -20,8 +20,7 @@ [% INCLUDE banner, id = 'unknown', text = loc('Unknown') %] [% END %] - [% states = [ 'investigating', 'in progress', 'planned', 'action scheduled' ]; - IF states.grep(problem.state).size %] + [% IF problem.is_in_progress %] [% INCLUDE banner, id = 'progress', text = loc('In progress') %] [% END %] |