Bug 16217: Resync names of notices

Bug 12752 has fixed a bug for installations upgrading from 3.14, but has
not fixed the problem for new installations.
Because of some wrong data manipulations, the names for a given letter
code may diverge.

In particular OVERDUE and PREDUE names of phone notices have been
wrongly modify by bug 11867: they have been set to the name of the first HOLD
notice.

Trying to be back on our feet, this update DB entry will try to guess
and set back up the correct name.

To know if your install is affected by this bug, the following SQL query
can help you:
  SELECT code, name, message_transport_type
  FROM letter
  WHERE code="PREDUE" OR code="OVERDUE";

If the names are different for the same code, something went wrong.
Executing this update DB entry should fix the divergence.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Fix the problem, see comment #6 for test.
No koha-qa errors

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit f04e991975)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
This commit is contained in:
Jonathan Druart 2016-04-06 16:35:23 +01:00 committed by Julian Maurice
parent 0b663b6444
commit cfbd258c53
1 changed files with 14 additions and 0 deletions

View File

@ -0,0 +1,14 @@
my $dbh = C4::Context->dbh;
my $letters = $dbh->selectall_arrayref(q|
SELECT code, name
FROM letter
WHERE message_transport_type="email"
|, { Slice => {} });
for my $letter ( @$letters ) {
$dbh->do(q|
UPDATE letter
SET name = ?
WHERE code = ?
AND message_transport_type <> "email"
|, undef, $letter->{name}, $letter->{code});
}