Bug 9745 - don't nuke translated strings in permissions on DB upgrade
authorLiz Rea <liz@catalyst.net.nz>
Mon, 4 Mar 2013 22:39:54 +0000 (11:39 +1300)
committerJared Camins-Esakov <jcamins@cpbibliography.com>
Sat, 30 Mar 2013 12:24:59 +0000 (08:24 -0400)
commit79e8b928ab009b8ba81f0db8b3c0f45605a89621
treeff57349aee178501a8cd312b167be915650a3cf9
parentd9e5486d85eaf67ab0436f7c8fd84fdb25beb588
Bug 9745 - don't nuke translated strings in permissions on DB upgrade

To test:

(this is best done by someone who has a database with translated
strings for user permissions - I'm looking towards Katrin. :))

Get a 3.6-3.8 era database loaded as test data - also please use
a low value test database.

Translate or change the strings in the database for the user
permissions that follow in mysql client (for those who didn't
install with a different language that has translated files
at install time) -

update userflags set flagdesc="Translated text 1" where flag
IN('catalogue','editauthorities','reports','management','serials',
'updatecharges','circulate','parameters','borrowers','tools',
'staffaccess','edit_patrons');
(you will notice that this changes all of the permission labels
in the interface to "translated text 1" for the affected
permission flags. This is why I don't want you to use a high
value test database.)

Update that to master + this patch - your "translations"
should be intact.

Blow that database away, and make a brand new one 3.6-3.8 era
with the english database definitions. Run the update again with
this patch, the strings should be updated correctly.

Signed-off-by: Magnus Enger <magnus@enger.priv.no>
There was a typo in the patch, the first database update had to be
changed from this: $dbh->do{(q{ to this: $dbh->do(q{

* Test 1:
- git checkout v3.06.05
- Run through the web installer in Norwegian, installing all
  Norwegian sample data
- git checkout <master + patch for bug 9745>
- Run web installer/upgrade
- Almost all of the permissions are still in Norwegian. The ones
  that are in English are not touched by the database update for
  3.11.00.016, so they must have been introduced by other updates.

* Test 2:
- git checkout v3.06.05
- Run through the web installer in English, installing all English
  sample data
- git checkout <master + patch for bug 9745>
- Run web installer/upgrade
- All permissions have been updated as expected, except "Perform
  batch modification of patrons" which is not in the 'userflags'
  table, but in the 'permissions' table. I have amended the patch
  to account for this.

Two fixes to the original patch, please give a shout if this
makes a second signoff necessary!

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
I tested this on an English and a German sample base updating
from 3.06.07 successfully.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Corrected incorrect field names in the last query (it's
permissions.description not permissions.flagdesc).
installer/data/mysql/updatedatabase.pl