Bug 9745

Summary: Don't nuke translated permissions with changes introduced in bug 9382
Product: Koha Reporter: Liz Rea <liz>
Component: DatabaseAssignee: Galen Charlton <gmcharlt>
Status: CLOSED FIXED QA Contact: Katrin Fischer <katrin.fischer>
Severity: trivial    
Priority: P5 - low CC: bgkriegel, chris, magnus
Version: Main   
Hardware: All   
OS: All   
Change sponsored?: --- Patch complexity: Small patch
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:
Attachments: Bug 9745 - don't nuke translated strings in permissions on DB upgrade
Bug 9745 - don't nuke translated strings in permissions on DB upgrade
[PASSED QA] Bug 9745 - don't nuke translated strings in permissions on DB upgrade

Description Liz Rea 2013-03-04 22:08:46 UTC
We should not nuke translated sysprefs in the DB - we should look for the english strings instead.
Comment 1 Liz Rea 2013-03-04 22:52:05 UTC Comment hidden (obsolete)
Comment 2 Magnus Enger 2013-03-19 11:39:39 UTC Comment hidden (obsolete)
Comment 3 Katrin Fischer 2013-03-25 07:38:25 UTC
Working on this now.
Comment 4 Katrin Fischer 2013-03-26 21:14:46 UTC
Created attachment 16908 [details] [review]
[PASSED QA] 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.
Comment 5 Jared Camins-Esakov 2013-03-30 12:26:36 UTC
This patch has been pushed to master. I corrected incorrect field names in the last query in the patch that was pushed.
Comment 6 Chris Cormack 2013-03-31 01:55:40 UTC
Pushed to 3.10.x will be in 3.10.5