ActionBar: Verwendung beim Massendruck
[kivitendo-erp.git] / bin / mozilla / generictranslations.pl
1 use SL::Auth;
2 use SL::Form;
3 use SL::GenericTranslations;
4
5 use strict;
6
7 sub edit_greetings {
8   $main::lxdebug->enter_sub();
9
10   $main::auth->assert('config');
11
12   my $form     = $main::form;
13   my $locale   = $main::locale;
14
15   $form->get_lists('languages' => 'LANGUAGES');
16
17   my $translation_list = GenericTranslations->list();
18   my %translations     = ();
19
20   my @types            = qw(male female);
21
22   foreach my $translation (@{ $translation_list }) {
23     $translation->{language_id}                                                          ||= 'default';
24     $translations{$translation->{language_id} . '::' . $translation->{translation_type}}   = $translation;
25   }
26
27   unshift @{ $form->{LANGUAGES} }, { 'id' => 'default', };
28
29   foreach my $language (@{ $form->{LANGUAGES} }) {
30     foreach my $type (@types) {
31       $language->{$type} = { };
32       my $translation    = $translations{"$language->{id}::greetings::${type}"} || { };
33       $language->{$type} = $translation->{translation};
34     }
35   }
36
37   $form->{title} = $locale->text('Edit greetings');
38   $form->header();
39   print $form->parse_html_template('generictranslations/edit_greetings');
40
41   $main::lxdebug->leave_sub();
42 }
43
44 sub save_greetings {
45   $main::lxdebug->enter_sub();
46
47   $main::auth->assert('config');
48
49   my $form     = $main::form;
50   my $locale   = $main::locale;
51
52   $form->get_lists('languages' => 'LANGUAGES');
53
54   unshift @{ $form->{LANGUAGES} }, { };
55
56   my @types  = qw(male female);
57
58   foreach my $language (@{ $form->{LANGUAGES} }) {
59     foreach my $type (@types) {
60       GenericTranslations->save('translation_type' => "greetings::${type}",
61                                 'translation_id'   => undef,
62                                 'language_id'      => $language->{id},
63                                 'translation'      => $form->{"translation__" . ($language->{id} || 'default') . "__${type}"},);
64     }
65   }
66
67   $form->{message} = $locale->text('The greetings have been saved.');
68
69   edit_greetings();
70
71   $main::lxdebug->leave_sub();
72 }
73
74 sub edit_sepa_strings {
75   $main::lxdebug->enter_sub();
76
77   $main::auth->assert('config');
78
79   my $form     = $main::form;
80   my $locale   = $main::locale;
81
82   $form->get_lists('languages' => 'LANGUAGES');
83
84   my $translation_list = GenericTranslations->list(translation_type => 'sepa_remittance_info_pfx');
85   my %translations     = map { ( ($_->{language_id} || 'default') => $_->{translation} ) } @{ $translation_list };
86
87   my $translation_list_vc = GenericTranslations->list(translation_type => 'sepa_remittance_vc_no_pfx');
88   my %translations_vc     =  map { ( ($_->{language_id} || 'default') => $_->{translation} ) } @{ $translation_list_vc };
89
90   unshift @{ $form->{LANGUAGES} }, { 'id' => 'default', };
91
92   foreach my $language (@{ $form->{LANGUAGES} }) {
93     $language->{translation}    = $translations{$language->{id}};
94     $language->{translation_vc} = $translations_vc{$language->{id}};
95   }
96
97   $form->{title} = $locale->text('Edit SEPA strings');
98   $form->header();
99   print $form->parse_html_template('generictranslations/edit_sepa_strings');
100
101   $main::lxdebug->leave_sub();
102 }
103
104 sub save_sepa_strings {
105   $main::lxdebug->enter_sub();
106
107   $main::auth->assert('config');
108
109   my $form     = $main::form;
110   my $locale   = $main::locale;
111
112   $form->get_lists('languages' => 'LANGUAGES');
113
114   unshift @{ $form->{LANGUAGES} }, { };
115
116   foreach my $language (@{ $form->{LANGUAGES} }) {
117     GenericTranslations->save('translation_type' => 'sepa_remittance_info_pfx',
118                               'translation_id'   => undef,
119                               'language_id'      => $language->{id},
120                               'translation'      => $form->{"translation__" . ($language->{id} || 'default')},);
121     GenericTranslations->save('translation_type' => 'sepa_remittance_vc_no_pfx',
122                               'translation_id'   => undef,
123                               'language_id'      => $language->{id},
124                               'translation'      => $form->{"translation__" . ($language->{id} || 'default') . "__vc" },);
125   }
126
127   $form->{message} = $locale->text('The SEPA strings have been saved.');
128
129   edit_sepa_strings();
130
131   $main::lxdebug->leave_sub();
132 }
133
134 1;