Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision b6dc5623

Von Sven Schöling vor fast 17 Jahren hinzugefügt

  • ID b6dc5623d93c1be1c54248d4512e80f495af2899
  • Vorgänger ac517355
  • Nachfolger 270df900
  • Auslagerung der OE-Masken in Templates *

Diese Patch ist ein Merge der Revisionen
2866, 5349, 5365, 5370, 5408, 5413, 5470, 5473, 5475, 5519, 5520, 5521, 5524, 5526, 5591, 5618, 5622, 5814, 5881, 5882 und 5961
in das Unstable.

Hintergrund ist die Auslagerung der OE-Masken, das heisst aller Masken, die fuer Auftraege, Angebote und teilweise Rechnungen zustaendig sind.
Dadurch vereinfacht sich der Code an vielen Stellen deutlich, ausserdem konnten viele Berechnungen verkleinert werden, weil der Code fuer Angebote/Auftraege jetzt getrennt von Rechnungen liegt.

Ein Grossteil der bin/mozilla/io.pl wurde dafuer dubliziert, die Methoden die fuer Auftraege noetig sind liegen jetzt in der bin/mozilla/oe.pl (vor allem display_form und display_row, aber auch ein paar andere), ihr jeweiliges Pendant fuer Rechnungen wurde unveraendert in eine Datei invoice_io.pl ausgelagert die von den Skripten die sie benoetigen zusaetzlich zur io.pl eingelesen wird.

Wie der Name der Templates andeutet ist der Patch im Verkaufsbaum entstanden, im Verlauf der Programmierung habe cih aber nicht genug Unterschiede gefunden um separate Templates fuer Verkauf und Einkauf zu rechtfertigen. Eventuell werden die Templates noch umbenannt.

Komplexe Maskenaenderungen wie der Austausch von Drop-Down Menues bei zu grosser Anzahl durch Eingabefelder werden ebenfalls noch manuell gemacht.
Auch das wird in der naechsten Version ausgelagert um den Backend Code schlanker zu machen.

Die Berechnung fuer Units und Steuern wurde vereinfacht, und dabei einige unschoene Bugs gefixt, die aus der unvollstaendigen Abdeckung von Verzweigungen resultierten.

Zuletzt wurden noch fast alle serverseitigen Datenformatierungen ausgelagert in ein Templateplugin, welches Zahlen waehrend des Templatings formatiert (mehr dazu in der Dakumentation zu Template.pm).

Der Patch beinhaltet ausserdem die ueblichen Codekosmetika.

Unterschiede anzeigen:

bin/mozilla/ic.pl
46 46
our ($form, $locale, %myconfig, $lxdebug);
47 47

  
48 48
require "bin/mozilla/io.pl";
49
require "bin/mozilla/invoice_io.pl";
49 50
require "bin/mozilla/common.pl";
50 51
require "bin/mozilla/reportgenerator.pl";
51 52

  
......
109 110
     |;
110 111

  
111 112
    #write Trigger
112
    $jsscript =
113
      Form->write_trigger(\%myconfig, "2", "transdatefrom", "BL", "trigger1",
114
                          "transdateto", "BL", "trigger2");
113
    $jsscript = Form->write_trigger(\%myconfig, "2", "transdatefrom", "BL", "trigger1", "transdateto", "BL", "trigger2");
115 114
  } else {
116 115

  
117 116
    # without JavaScript Calendar
118
    $button1 = qq|
119
                              <td><input name=transdatefrom id=transdatefrom size=11 title="$myconfig{dateformat}"></td>|;
120
    $button2 = qq|
121
                              <td><input name=transdateto id=transdateto size=11 title="$myconfig{dateformat}"></td>|;
117
    $button1 = qq| <td><input name=transdatefrom id=transdatefrom size=11 title="$myconfig{dateformat}"></td>|;
118
    $button2 = qq| <td><input name=transdateto id=transdateto size=11 title="$myconfig{dateformat}"></td>|;
122 119
  }
123 120

  
124 121
  unless ($form->{searchitems} eq 'service') {
125 122

  
126
    $onhand = qq|
127
            <input name=itemstatus class=radio type=radio value=onhand>&nbsp;|
128
      . $locale->text('On Hand') . qq|
129
            <input name=itemstatus class=radio type=radio value=short>&nbsp;|
130
      . $locale->text('Short') . qq|
123
    $onhand = qq| <input name=itemstatus class=radio type=radio value=onhand>&nbsp;| . $locale->text('On Hand') . qq|
124
                  <input name=itemstatus class=radio type=radio value=short>&nbsp;| . $locale->text('Short') . qq|
131 125
|;
132 126

  
133 127
    $makemodel = qq|
134 128
        <tr>
135
          <th align=right nowrap>| . $locale->text('Make') . qq|</th>
136
          <td><input name=make size=20></td>
137
          <th align=right nowrap>| . $locale->text('Model') . qq|</th>
138
          <td><input name=model size=20></td>
129
          <th align=right nowrap>| . $locale->text('Make') . qq|</th> <td><input name=make size=20></td>
130
          <th align=right nowrap>| . $locale->text('Model') . qq|</th> <td><input name=model size=20></td>
139 131
        </tr>
140 132
|;
141 133

  
142 134
    $serialnumber = qq|
143
          <th align=right nowrap>| . $locale->text('Serial Number') . qq|</th>
144
          <td><input name=serialnumber size=20></td>
135
          <th align=right nowrap>| . $locale->text('Serial Number') . qq|</th> <td><input name=serialnumber size=20></td>
145 136
|;
146 137

  
147 138
    $l_serialnumber = qq|
148
        <td><input name=l_serialnumber class=checkbox type=checkbox value=Y>&nbsp;|
149
      . $locale->text('Serial Number') . qq|</td>
139
        <td><input name=l_serialnumber class=checkbox type=checkbox value=Y>&nbsp;| . $locale->text('Serial Number') . qq|</td>
150 140
|;
151 141

  
152 142
  }

Auch abrufbar als: Unified diff