Bugzilla – Attachment 95375 Details for
Bug 23765
After TranslateNotices is set to 'Don't allow', email settings still show multiple languages
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 23765: Do not display localized templates if TranslateNotices is off
Bug-23765-Do-not-display-localized-templates-if-Tr.patch (text/plain), 6.55 KB, created by
Katrin Fischer
on 2019-11-13 13:22:10 UTC
(
hide
)
Description:
Bug 23765: Do not display localized templates if TranslateNotices is off
Filename:
MIME Type:
Creator:
Katrin Fischer
Created:
2019-11-13 13:22:10 UTC
Size:
6.55 KB
patch
obsolete
>From fc774083bb1e0b95e4ca430ad678b5a39d24df02 Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Thu, 7 Nov 2019 11:41:29 +0100 >Subject: [PATCH] Bug 23765: Do not display localized templates if > TranslateNotices is off > >To test: >1. Enable multi-languages >2. Set the preference 'TranslateNotices' on 'Allow' >3. Go to: tools==>Notices & slips==>Edit, make sure it has multilingual >email templates. >4. Set the preference TranslateNotices on 'Don't allow'. >5. Go to: tools==>Notices & slips==>Edit, the template shows several tab >for the same transport type. >6. Apply the patch. >7. Repeat the steps 4 and 5 >8. Success. It only shows the default template when TranslateNotices is >'Dont allow'. > >Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> > >Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> >--- > C4/Letters.pm | 26 ++++++++++++------------ > t/db_dependent/Letters/GetLetterTemplates.t | 31 +++++++++++++++++------------ > 2 files changed, 31 insertions(+), 26 deletions(-) > >diff --git a/C4/Letters.pm b/C4/Letters.pm >index bdb213a49e..097096a501 100644 >--- a/C4/Letters.pm >+++ b/C4/Letters.pm >@@ -37,6 +37,7 @@ use Koha::SMS::Providers; > > use Koha::Email; > use Koha::Notice::Messages; >+use Koha::Notice::Templates; > use Koha::DateUtils qw( format_sqldatetime dt_from_string ); > use Koha::Patrons; > use Koha::Subscriptions; >@@ -122,19 +123,18 @@ sub GetLetterTemplates { > my $code = $params->{code}; > my $branchcode = $params->{branchcode} // ''; > my $dbh = C4::Context->dbh; >- my $letters = $dbh->selectall_arrayref( >- q| >- SELECT module, code, branchcode, name, is_html, title, content, message_transport_type, lang >- FROM letter >- WHERE module = ? >- AND code = ? >- and branchcode = ? >- | >- , { Slice => {} } >- , $module, $code, $branchcode >- ); >- >- return $letters; >+ return Koha::Notice::Templates->search( >+ { >+ module => $module, >+ code => $code, >+ branchcode => $branchcode, >+ ( >+ C4::Context->preference('TranslateNotices') >+ ? () >+ : ( lang => 'default' ) >+ ) >+ } >+ )->unblessed; > } > > =head2 GetLettersAvailableForALibrary >diff --git a/t/db_dependent/Letters/GetLetterTemplates.t b/t/db_dependent/Letters/GetLetterTemplates.t >index 65d05f8fb8..31a8571150 100644 >--- a/t/db_dependent/Letters/GetLetterTemplates.t >+++ b/t/db_dependent/Letters/GetLetterTemplates.t >@@ -1,9 +1,10 @@ > use Modern::Perl; >-use Test::More tests => 7; >+use Test::More tests => 8; > > use C4::Context; > use C4::Letters qw( GetLetterTemplates ); > use Koha::Database; >+use t::lib::Mocks; > > my $schema = Koha::Database->new->schema; > $schema->storage->txn_begin; >@@ -21,6 +22,7 @@ my $letters = [ > title => 'default title for code1 email', > content => 'default content for code1 email', > message_transport_type => 'email', >+ lang => 'default', > }, > { > module => 'circulation', >@@ -31,6 +33,7 @@ my $letters = [ > title => 'default title for code1 sms', > content => 'default content for code1 sms', > message_transport_type => 'sms', >+ lang => 'es-ES', > }, > { > module => 'circulation', >@@ -41,6 +44,7 @@ my $letters = [ > title => 'default title for code2 email', > content => 'default content for code2 email', > message_transport_type => 'email', >+ lang => 'default', > }, > { > module => 'circulation', >@@ -51,6 +55,7 @@ my $letters = [ > title => 'default title for code3 email', > content => 'default content for code3 email', > message_transport_type => 'email', >+ lang => 'default', > }, > > { >@@ -62,6 +67,7 @@ my $letters = [ > title => 'default title for code1 cat email', > content => 'default content for code1 cat email', > message_transport_type => 'email', >+ lang => 'default', > }, > > { >@@ -73,6 +79,7 @@ my $letters = [ > title => 'CPL title for code1 email', > content => 'CPL content for code1 email', > message_transport_type => 'email', >+ lang => 'default', > }, > { > module => 'circulation', >@@ -83,27 +90,19 @@ my $letters = [ > title => 'CPL title for code1 sms', > content => 'CPL content for code1 sms', > message_transport_type => 'sms', >- }, >- { >- module => 'circulation', >- code => 'code1', >- branchcode => 'MPL', >- name => 'B MPL name for code1 circ', >- is_html => 0, >- title => 'MPL title for code1 email', >- content => 'MPL content for code1 email', >- message_transport_type => 'email', >+ lang => 'default', > }, > ]; > > my $sth = $dbh->prepare( >-q|INSERT INTO letter(module, code, branchcode, name, title, content, message_transport_type) VALUES (?, ?, ?, ?, ?, ?, ?)| >+q|INSERT INTO letter(module, code, branchcode, name, title, content, message_transport_type, lang) VALUES (?, ?, ?, ?, ?, ?, ?, ?)| > ); > for my $l (@$letters) { > $sth->execute( $l->{module}, $l->{code}, $l->{branchcode}, $l->{name}, >- $l->{title}, $l->{content}, $l->{message_transport_type} ); >+ $l->{title}, $l->{content}, $l->{message_transport_type}, $l->{lang} ); > } > >+t::lib::Mocks::mock_preference('TranslateNotices', 1); > my $letter_templates; > $letter_templates = C4::Letters::GetLetterTemplates; > is_deeply( $letter_templates, [], >@@ -129,3 +128,9 @@ $letter_templates = C4::Letters::GetLetterTemplates( > { module => 'circulation', code => 'code1' } ); > is( scalar( @$letter_templates ), > 2, '2 default templates should exist for circulation code1 (even if branchcode is not given)' ); >+ >+t::lib::Mocks::mock_preference('TranslateNotices', 0); >+$letter_templates = C4::Letters::GetLetterTemplates( >+ { module => 'circulation', code => 'code1' } ); >+is( scalar( @$letter_templates ), >+ 1, 'There should exist only 1 template circulation code1 for default language' ); >-- >2.11.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 23765
:
93887
|
93903
|
95136
|
95306
| 95375