X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=bin%2Fmozilla%2Fgenerictranslations.pl;fp=bin%2Fmozilla%2Fgenerictranslations.pl;h=de7d924bd22a94697aac0b20d91df272f7f93c9a;hb=53593baa211863fbf66540cf1bcc36c8fb37257f;hp=7b8d4a196a8d4f9358ca667ed9965d143f08fd82;hpb=deb4d2dbb676d7d6f69dfe7815d6e0cb09bd4a44;p=kivitendo-erp.git diff --git a/bin/mozilla/generictranslations.pl b/bin/mozilla/generictranslations.pl index 7b8d4a196..de7d924bd 100644 --- a/bin/mozilla/generictranslations.pl +++ b/bin/mozilla/generictranslations.pl @@ -1,9 +1,30 @@ use SL::Auth; use SL::Form; use SL::GenericTranslations; +use SL::Locale::String qw(t8); use strict; +# convention: +# preset_text_$formname will generate a input textarea +# and will be preset in $form email dialog if the form name matches + +my %mail_strings = ( + salutation_male => t8('Salutation male'), + salutation_female => t8('Salutation female'), + salutation_general => t8('Salutation general'), + salutation_punctuation_mark => t8('Salutation punctuation mark'), + preset_text_sales_quotation => t8('Preset email text for sales quotations'), + preset_text_sales_order => t8('Preset email text for sales orders'), + preset_text_sales_delivery_order => t8('Preset email text for sales delivery orders'), + preset_text_invoice => t8('Preset email text for sales invoices'), + preset_text_invoice_direct_debit => t8('Preset email text for sales invoices with direct debit'), + preset_text_request_quotation => t8('Preset email text for requests (rfq)'), + preset_text_purchase_order => t8('Preset email text for purchase orders'), + preset_text_periodic_invoices_email_body => t8('Preset email body for periodic invoices'), + preset_text_periodic_invoices_email_subject => t8('Preset email subject for periodic invoices'), +); + sub edit_greetings { $main::lxdebug->enter_sub(); @@ -34,6 +55,8 @@ sub edit_greetings { } } + setup_generictranslations_edit_greetings_action_bar(); + $form->{title} = $locale->text('Edit greetings'); $form->header(); print $form->parse_html_template('generictranslations/edit_greetings'); @@ -84,12 +107,18 @@ sub edit_sepa_strings { my $translation_list = GenericTranslations->list(translation_type => 'sepa_remittance_info_pfx'); my %translations = map { ( ($_->{language_id} || 'default') => $_->{translation} ) } @{ $translation_list }; + my $translation_list_vc = GenericTranslations->list(translation_type => 'sepa_remittance_vc_no_pfx'); + my %translations_vc = map { ( ($_->{language_id} || 'default') => $_->{translation} ) } @{ $translation_list_vc }; + unshift @{ $form->{LANGUAGES} }, { 'id' => 'default', }; foreach my $language (@{ $form->{LANGUAGES} }) { - $language->{translation} = $translations{$language->{id}}; + $language->{translation} = $translations{$language->{id}}; + $language->{translation_vc} = $translations_vc{$language->{id}}; } + setup_generictranslations_edit_sepa_strings_action_bar(); + $form->{title} = $locale->text('Edit SEPA strings'); $form->header(); print $form->parse_html_template('generictranslations/edit_sepa_strings'); @@ -114,6 +143,10 @@ sub save_sepa_strings { 'translation_id' => undef, 'language_id' => $language->{id}, 'translation' => $form->{"translation__" . ($language->{id} || 'default')},); + GenericTranslations->save('translation_type' => 'sepa_remittance_vc_no_pfx', + 'translation_id' => undef, + 'language_id' => $language->{id}, + 'translation' => $form->{"translation__" . ($language->{id} || 'default') . "__vc" },); } $form->{message} = $locale->text('The SEPA strings have been saved.'); @@ -122,5 +155,159 @@ sub save_sepa_strings { $main::lxdebug->leave_sub(); } +sub edit_email_strings { + $main::lxdebug->enter_sub(); + + $main::auth->assert('config'); + + my $form = $main::form; + my $locale = $main::locale; + + $form->get_lists('languages' => 'LANGUAGES'); + unshift @{ $form->{LANGUAGES} }, { 'id' => 'default', }; + + my (%translations, $translation_list); + foreach (keys %mail_strings) { + $translation_list = GenericTranslations->list(translation_type => $_); + %translations = map { ( ($_->{language_id} || 'default') => $_->{translation} ) } @{ $translation_list }; + + foreach my $language (@{ $form->{LANGUAGES} }) { + $language->{$_} = $translations{$language->{id}}; + } + } + setup_generictranslations_edit_email_strings_action_bar(); + + $form->{title} = $locale->text('Edit preset email strings'); + $::request->{layout}->use_javascript(map { "${_}.js" } qw(ckeditor/ckeditor ckeditor/adapters/jquery)); + $form->header(); + print $form->parse_html_template('generictranslations/edit_email_strings',{ 'MAIL_STRINGS' => \%mail_strings }); + + $main::lxdebug->leave_sub(); +} + +sub save_email_strings { + $main::lxdebug->enter_sub(); + + $main::auth->assert('config'); + + my $form = $main::form; + my $locale = $main::locale; + + $form->get_lists('languages' => 'LANGUAGES'); + + unshift @{ $form->{LANGUAGES} }, { }; + foreach my $language (@{ $form->{LANGUAGES} }) { + foreach (keys %mail_strings) { + GenericTranslations->save('translation_type' => $_, + 'translation_id' => undef, + 'language_id' => $language->{id}, + 'translation' => $form->{"translation__" . ($language->{id} || 'default') . "__" . $_}, + ); + } + } + $form->{message} = $locale->text('The Mail strings have been saved.'); + + edit_email_strings(); + + $main::lxdebug->leave_sub(); +} + +sub edit_zugferd_notes { + $::auth->assert('config'); + + $::form->get_lists('languages' => 'LANGUAGES'); + + my $translation_list = GenericTranslations->list(translation_type => 'ZUGFeRD/notes'); + my %translations = map { ( ($_->{language_id} || 'default') => $_->{translation} ) } @{ $translation_list }; + + unshift @{ $::form->{LANGUAGES} }, { 'id' => 'default', }; + + foreach my $language (@{ $::form->{LANGUAGES} }) { + $language->{translation} = $translations{$language->{id}}; + } + + setup_generictranslations_edit_zugferd_notes_action_bar(); + + $::form->{title} = $::locale->text('Edit Factur-X/ZUGFeRD notes'); + $::form->header; + print $::form->parse_html_template('generictranslations/edit_zugferd_notes'); +} + +sub save_zugferd_notes { + $::auth->assert('config'); + + $::form->get_lists('languages' => 'LANGUAGES'); + + unshift @{ $::form->{LANGUAGES} }, { }; + + foreach my $language (@{ $::form->{LANGUAGES} }) { + GenericTranslations->save( + translation_type => 'ZUGFeRD/notes', + translation_id => undef, + language_id => $language->{id}, + translation => $::form->{"translation__" . ($language->{id} || 'default')}, + ); + } + + $::form->{message} = $::locale->text('The Factur-X/ZUGFeRD notes have been saved.'); + + edit_zugferd_notes(); +} + +sub setup_generictranslations_edit_greetings_action_bar { + my %params = @_; + + for my $bar ($::request->layout->get('actionbar')) { + $bar->add( + action => [ + t8('Save'), + submit => [ '#form', { action => "save_greetings" } ], + accesskey => 'enter', + ], + ); + } +} + +sub setup_generictranslations_edit_sepa_strings_action_bar { + my %params = @_; + + for my $bar ($::request->layout->get('actionbar')) { + $bar->add( + action => [ + t8('Save'), + submit => [ '#form', { action => "save_sepa_strings" } ], + accesskey => 'enter', + ], + ); + } +} + +sub setup_generictranslations_edit_email_strings_action_bar { + my %params = @_; + + for my $bar ($::request->layout->get('actionbar')) { + $bar->add( + action => [ + t8('Save'), + submit => [ '#form', { action => "save_email_strings" } ], + accesskey => 'enter', + ], + ); + } +} + +sub setup_generictranslations_edit_zugferd_notes_action_bar { + my %params = @_; + + for my $bar ($::request->layout->get('actionbar')) { + $bar->add( + action => [ + t8('Save'), + submit => [ '#form', { action => "save_zugferd_notes" } ], + accesskey => 'enter', + ], + ); + } +} 1;