Bug 19134: C4::SMS falils on long driver name
authorMagnus Enger <magnus@libriotech.no>
Thu, 17 Aug 2017 20:48:07 +0000 (22:48 +0200)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 25 Aug 2017 13:51:24 +0000 (10:51 -0300)
Code in C4::SMS takes the part of the SMS::Send-driver that comes after
SMS::Send and tries to turn it into part of a path to a YAML file
that can contain additional parameters to SMS::Send. The current
code works for e.g. SMS::Send::A::B, but if there is one or more
extra names, it fails to turn :: into /. So we have:
SMS::Send::A::B    -> SMS/Send/A/B
SMS::Send::A::B::C -> SMS/Send/A/B::C
This patch makes sure all occurrences of :: are turned into /, by
adding a "g" modifier at the end of the regex.

Testing:
Testing this preperly would take a whole lot of setup for a very
small change. I would suggest that the following two oneliners
are enough to demonstrate that the change makes sense:
$ perl -e '$x = "a::b::c"; $x =~ s|::|/|; print $x, "\n";'
$ perl -e '$x = "a::b::c"; $x =~ s|::|/|g; print $x, "\n";'

So:
- Check that the output of these oneliners make sense
- Check that the patch changes the code in a similar way to the
  change from the first oneliner to the second.

Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
C4/SMS.pm

index 1043c0b..eff72b3 100644 (file)
--- a/C4/SMS.pm
+++ b/C4/SMS.pm
@@ -92,7 +92,7 @@ sub send_sms {
     my ($sent, $sender);
 
     my $subpath = $driver;
-    $subpath =~ s|::|/|;
+    $subpath =~ s|::|/|g;
 
     my $sms_send_config = C4::Context->config('sms_send_config');
     my $conf_file = defined $sms_send_config