Revision 83381f25
Von Moritz Bunkus vor fast 11 Jahren hinzugefügt
bin/mozilla/ic.pl | ||
---|---|---|
1608 | 1608 |
$form->{bin_id} ||= $default_bin_id || $form->{WAREHOUSES}->[$max -1]->{BINS}->[0]->{id}; |
1609 | 1609 |
} |
1610 | 1610 |
|
1611 |
$form->{LANGUAGES} = SL::DB::Manager::Language->get_all_sorted; |
|
1612 |
$form->{translations_map} = { map { ($_->{language_id} => $_) } @{ $form->{translations} || [] } }; |
|
1611 | 1613 |
|
1612 | 1614 |
IC->retrieve_buchungsgruppen(\%myconfig, $form); |
1613 | 1615 |
@{ $form->{BUCHUNGSGRUPPEN} } = grep { $_->{id} eq $form->{buchungsgruppen_id} || ($form->{id} && $form->{orphaned}) || !$form->{id} } @{ $form->{BUCHUNGSGRUPPEN} }; |
... | ... | |
2063 | 2065 |
$lxdebug->leave_sub(); |
2064 | 2066 |
} |
2065 | 2067 |
|
2066 |
sub parts_language_selection { |
|
2067 |
$lxdebug->enter_sub(); |
|
2068 |
|
|
2069 |
$auth->assert('part_service_assembly_edit'); |
|
2070 |
|
|
2071 |
my $languages = IC->retrieve_languages(\%myconfig, $form); |
|
2072 |
|
|
2073 |
if ($form->{language_values} ne "") { |
|
2074 |
foreach my $item (split(/---\+\+\+---/, $form->{language_values})) { |
|
2075 |
my ($language_id, $translation, $longdescription) = split(/--\+\+--/, $item); |
|
2076 |
|
|
2077 |
foreach my $language (@{ $languages }) { |
|
2078 |
next unless ($language->{id} == $language_id); |
|
2079 |
|
|
2080 |
$language->{translation} = $translation; |
|
2081 |
$language->{longdescription} = $longdescription; |
|
2082 |
|
|
2083 |
$language->{translation_area} = ($language->{translation_rows} = $form->numtextrows($language->{translation}, 40)) > 1; |
|
2084 |
$language->{longdescription_rows} = max 4, $form->numtextrows($language->{longdescription}, 40); |
|
2085 |
|
|
2086 |
last; |
|
2087 |
} |
|
2088 |
} |
|
2089 |
} |
|
2090 |
|
|
2091 |
my @header_sort = qw(name longdescription); |
|
2092 |
my %header_title = ( "name" => $locale->text("Name"), |
|
2093 |
"longdescription" => $locale->text("Long Description"), |
|
2094 |
); |
|
2095 |
|
|
2096 |
my @header = |
|
2097 |
map(+{ "column_title" => $header_title{$_}, |
|
2098 |
"column" => $_, |
|
2099 |
}, |
|
2100 |
@header_sort); |
|
2101 |
|
|
2102 |
$form->{"title"} = $locale->text("Language Values"); |
|
2103 |
$form->header(); |
|
2104 |
print $form->parse_html_template("ic/parts_language_selection", { "HEADER" => \@header, |
|
2105 |
"LANGUAGES" => $languages, }); |
|
2106 |
|
|
2107 |
$lxdebug->leave_sub(); |
|
2108 |
} |
|
2109 |
|
|
2110 | 2068 |
sub ajax_autocomplete { |
2111 | 2069 |
$main::lxdebug->enter_sub(); |
2112 | 2070 |
|
Auch abrufbar als: Unified diff
Artikelstammdaten: Spracheinstellungen rein in eigenem Tab bearbeiten
Der alte Mechanismus öffnete ein normales Popup-Fenster, in dem eine
URL geladen wurde, die dann die Maske angezeigt hat. Das
Zurückschreiben geschah schon via JavaScript.
Mit der Methode gibt's zwei Probleme:
1. Es ist langsam, weil ein überflüssiger Roundtrip zum Server gemacht
wird. Die Informationen sind bereits alle beim initialen Anzeigen
der Maske vorhanden.
2. Es handelt sich um einen GET-Request, an den sämtliche
Übersetzungen als GET-Parameter angehängt werden. Damit kann man
problemlos in die Größenbeschränkung bei GET-Requests laufen.