aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/Open311/GetServiceRequestUpdates.pm
diff options
context:
space:
mode:
authorDave Arter <davea@mysociety.org>2018-03-22 14:47:16 +0000
committerDave Arter <davea@mysociety.org>2018-03-29 16:04:31 +0100
commit779c6fefcfe7ffde967098697ece10357aa3f4cf (patch)
tree3e880a527ff361dcb89744646fb46cf5157cf209 /perllib/Open311/GetServiceRequestUpdates.pm
parent4893ad4538aa035a90979b85d45579592a72bf1e (diff)
Trigger response templates based on external_status_code
Diffstat (limited to 'perllib/Open311/GetServiceRequestUpdates.pm')
-rw-r--r--perllib/Open311/GetServiceRequestUpdates.pm13
1 files changed, 10 insertions, 3 deletions
diff --git a/perllib/Open311/GetServiceRequestUpdates.pm b/perllib/Open311/GetServiceRequestUpdates.pm
index 8d05a358f..661b039b0 100644
--- a/perllib/Open311/GetServiceRequestUpdates.pm
+++ b/perllib/Open311/GetServiceRequestUpdates.pm
@@ -116,7 +116,7 @@ sub update_comments {
problem => $p,
user => $self->system_user,
external_id => $request->{update_id},
- text => $self->comment_text_for_request($request, $p, $state),
+ text => $self->comment_text_for_request($request, $p, $state, $external_status_code),
mark_fixed => 0,
mark_open => 0,
anonymous => 0,
@@ -183,13 +183,20 @@ sub update_comments {
}
sub comment_text_for_request {
- my ($self, $request, $problem, $state) = @_;
+ my ($self, $request, $problem, $state, $external_status_code) = @_;
return $request->{description} if $request->{description};
+ my $state_params = {
+ 'me.state' => $state
+ };
+ if ($external_status_code) {
+ $state_params->{'me.external_status_code'} = $external_status_code;
+ };
+
if (my $template = $problem->response_templates->search({
auto_response => 1,
- 'me.state' => $state
+ -or => $state_params,
})->first) {
return $template->text;
}