diff options
author | Matthew Somerville <matthew-github@dracos.co.uk> | 2018-08-06 17:05:52 +0100 |
---|---|---|
committer | Matthew Somerville <matthew-github@dracos.co.uk> | 2018-08-06 17:05:52 +0100 |
commit | 4223fc78261aad3f16b8ed8000a6bef77f41f708 (patch) | |
tree | d2b70a12cd1737cae5fc158735fc6c3ecd5d02d8 | |
parent | e46125e56cb922ebe8bbae527a53d06b28c173cc (diff) | |
parent | a292b3a8bcca53f870a46d6868d288e22a595c58 (diff) |
Merge branch 'issues/commercial/1123-fixed-state-thing'
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | perllib/Open311/GetServiceRequestUpdates.pm | 6 | ||||
-rw-r--r-- | t/open311/getservicerequestupdates.t | 20 |
3 files changed, 25 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index b26064f0a..97b7386d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ - Update Google Maps directions link. - Open311 improvements: - CLOSED status maps to 'closed' state if extended statuses are enabled. + - Don't generate template comment text on move between fixed states. - Development improvements: - Cobrand hook for presenting custom search results. #2183 - Cobrand hook to allow extra login conditions #2092 diff --git a/perllib/Open311/GetServiceRequestUpdates.pm b/perllib/Open311/GetServiceRequestUpdates.pm index 4b1642506..480a78cf1 100644 --- a/perllib/Open311/GetServiceRequestUpdates.pm +++ b/perllib/Open311/GetServiceRequestUpdates.pm @@ -201,8 +201,10 @@ sub comment_text_for_request { return $request->{description} if $request->{description}; - # Response templates are only triggered if the state/external status has changed - my $state_changed = $state ne $old_state; + # Response templates are only triggered if the state/external status has changed. + # And treat any fixed state as fixed. + my $state_changed = $state ne $old_state + && !( $problem->is_fixed && FixMyStreet::DB::Result::Problem->fixed_states()->{$state} ); my $ext_code_changed = $ext_code ne $old_ext_code; if ($state_changed || $ext_code_changed) { my $state_params = { diff --git a/t/open311/getservicerequestupdates.t b/t/open311/getservicerequestupdates.t index 27064574b..9383b8476 100644 --- a/t/open311/getservicerequestupdates.t +++ b/t/open311/getservicerequestupdates.t @@ -32,6 +32,12 @@ my $response_template = $bodies{2482}->response_templates->create({ auto_response => 1, state => "investigating" }); +my $response_template_fixed = $bodies{2482}->response_templates->create({ + title => "fixed template", + text => "We have fixed this report.", + auto_response => 1, + state => "fixed - council" +}); my $requests_xml = qq{<?xml version="1.0" encoding="utf-8"?> <service_requests_updates> @@ -370,6 +376,19 @@ for my $test ( end_state => 'investigating', }, { + desc => 'change in fixed state does not trigger auto-response template', + description => '', + xml_description => '', + external_id => 638344, + start_state => 'fixed - user', + comment_status => 'FIXED', + mark_fixed => 0, + mark_open => 0, + problem_state => undef, + end_state => 'fixed - user', + comment_state => 'hidden', + }, + { desc => 'unchanging state does not trigger auto-response template', description => '', xml_description => '', @@ -898,6 +917,7 @@ foreach my $test ( { } } +$response_template_fixed->delete; foreach my $test ( { desc => 'normally blank text produces a warning', num_alerts => 1, |