Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 83381f25

Von Moritz Bunkus vor fast 11 Jahren hinzugefügt

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.

Unterschiede anzeigen:

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