[Koha-patches] [PATCH] Bug 14206 - Fixes deletion issue for non-email notices

Indranil Das Gupta idgbpo at gmail.com
Mon May 18 03:03:48 CEST 2015


message_transport_type was not being passed to routine in letter.pl
routines, so notices that did not include an email template couldn't
be deleted from Tools -> Notices & Slips page. This patch fixes that
issue.

Test plan
=========

1/ Go to Tools -> Notices & Slips. Add a new notice only for print,
   leave 'Library' and 'Koha module' options as default selections.
   Enter 'KOHA_14206' and 'Koha Test 14206' against Code and Name
   respectively, and 'Test' and 'Test Message' for subject and body.
   Leave the Email, Phone and SMS tabs blank. Save the notice.
2/ On the notices listing page the new notice will be listed. Try to
   delete it. It will load the 'Delete notice' dialog form, but the
   table will not show any data under <th>s - 'Library', 'Module',
   'Code' or 'Name'.
3/ Click the "Yes, delete" button. The page will be submitted and the
   Notices listing reloaded. The print-only KOHA_14206 notice should
   continue to exist. This is *wrong*.
4/ Apply the patch
5/ Reload the listings page and click on the 'Delete' link for Notice
   KOHA_14206. This time, it should show the data under 'Module',
   'Code' or 'Name' at least.
6/ Click on 'Yes, delete'. The page should submit and the listing page
   reload. This time KOHA_14206 will be gone.
7/ Run sql statement SELECT * FROM `letter` WHERE `code` = 'KOHA_14206'
   to check actual deletion from the database. No record should be
   returned.
8/ Re-add notice KOHA_14206, but this time also add fill in print,
   email, phone and sms delivery options.
9/ Delete the newly re-added notice KOHA_14206. It should no longer
   be shown in the listing. Confirm deletion by running step #7.
   No record should be returned.
10/ run koha qa test tools
---
 koha-tmpl/intranet-tmpl/prog/en/modules/tools/letter.tt | 4 ++--
 tools/letter.pl                                         | 9 +++++----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/letter.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/letter.tt
index 3106498..f842060 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/letter.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/letter.tt
@@ -231,7 +231,7 @@ $(document).ready(function() {
                   </td>
                   <td>
                     [% IF !lette.protected && can_edit %]
-                      <a href="/cgi-bin/koha/tools/letter.pl?op=delete_confirm&branchcode=[%lette.branchcode %]&module=[% lette.module %]&code=[% lette.code %]">Delete</a>
+                      <a href="/cgi-bin/koha/tools/letter.pl?op=delete_confirm&branchcode=[%lette.branchcode %]&module=[% lette.module %]&code=[% lette.code %]&mtt=[% lette.message_transport_type %]">Delete</a>
                     [% END %]
                   </td>
                 </tr>
@@ -444,7 +444,7 @@ $(document).ready(function() {
             </tr>
             </thead>
             <tr>
-                <td>[% Branches.GetName( letter.branchcode ) %]</td>
+                <td>[% IF letter.branchcode %][% Branches.GetName( letter.branchcode ) %][% ELSE %](All libraries)[% END %]</td>
                 <td>[% letter.module %]</td>
                 <td>[% letter.code %]</td>
                 <td>[% letter.name %]</td>
diff --git a/tools/letter.pl b/tools/letter.pl
index e9f39d9..82316fe 100755
--- a/tools/letter.pl
+++ b/tools/letter.pl
@@ -66,6 +66,7 @@ my $code        = $input->param('code');
 my $module      = $input->param('module') || '';
 my $content     = $input->param('content');
 my $op          = $input->param('op') || '';
+my $mtt         = $input->param('mtt') || '';
 my $dbh = C4::Context->dbh;
 
 our ( $template, $borrowernumber, $cookie, $staffflags ) = get_template_and_user(
@@ -112,7 +113,7 @@ elsif ( $op eq 'add_form' ) {
     add_form($branchcode, $module, $code);
 }
 elsif ( $op eq 'delete_confirm' ) {
-    delete_confirm($branchcode, $module, $code);
+    delete_confirm($branchcode, $module, $code, $mtt);
 }
 elsif ( $op eq 'delete_confirmed' ) {
     delete_confirmed($branchcode, $module, $code);
@@ -293,9 +294,9 @@ sub add_validate {
 }
 
 sub delete_confirm {
-    my ($branchcode, $module, $code) = @_;
+    my ($branchcode, $module, $code, $mtt) = @_;
     my $dbh = C4::Context->dbh;
-    my $letter = C4::Letters::getletter($module, $code, $branchcode);
+    my $letter = C4::Letters::getletter($module, $code, $branchcode, $mtt);
     my @values = values %$letter;
     $template->param(
         letter => $letter,
@@ -325,7 +326,7 @@ sub retrieve_letters {
 
     my $dbh = C4::Context->dbh;
     my ($sql, @where, @args);
-    $sql = "SELECT branchcode, module, code, name, branchname
+    $sql = "SELECT branchcode, module, code, name, branchname, message_transport_type
             FROM letter
             LEFT OUTER JOIN branches USING (branchcode)
     ";
-- 
1.9.1



More information about the Koha-patches mailing list