aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Somerville <matthew-github@dracos.co.uk>2017-03-03 17:58:31 +0000
committerMatthew Somerville <matthew-github@dracos.co.uk>2017-03-10 16:53:14 +0000
commita91d9562c6c0ec836f10290df779e2012f18ddec (patch)
tree6e117020105d98bb6d3993af727eccc846c26cb9
parentc3c04c7dc01ed660c22c4bd43f308a01a47e7bcc (diff)
Add is_in_progress Problem helper.
-rw-r--r--perllib/FixMyStreet/DB/Result/Problem.pm10
-rw-r--r--t/app/model/problem.t16
-rw-r--r--templates/web/base/report/banner.html3
-rw-r--r--templates/web/fixmystreet.com/report/banner.html3
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 %]