Funktion "swap_buchungsgruppen" in "swap_sortkeys" umbenannt.
[kivitendo-erp.git] / bin / mozilla / am.pl
index 7894f4c..c336f3a 100644 (file)
@@ -364,7 +364,9 @@ sub account_header {
                <input name=category type=radio class=radio value=I $checked{I_}>&nbsp;|
     . $locale->text('Revenue') . qq|\n<br>
                <input name=category type=radio class=radio value=E $checked{E_}>&nbsp;|
-    . $locale->text('Expense') . qq|</td>
+    . $locale->text('Expense') . qq|<br>
+               <input name=category type=radio class=radio value=C $checked{C_}>&nbsp;|
+    . $locale->text('Costs') . qq|</td>
                <td width=50>&nbsp;</td>
                <td>
                <input name=charttype type=radio class=radio value="H" $checked{H}>&nbsp;|
@@ -492,11 +494,6 @@ sub form_footer {
       . $locale->text('Delete') . qq|">|;
   }
 
-  if ($form->{menubar}) {
-    require "$form->{path}/menu.pl";
-    &menubar;
-  }
-
   print qq|
 </form>
 
@@ -823,11 +820,6 @@ sub gifi_footer {
     }
   }
 
-  if ($form->{menubar}) {
-    require "$form->{path}/menu.pl";
-    &menubar;
-  }
-
   print qq|
   </form>
 
@@ -998,14 +990,8 @@ sub list_department {
 <input type=hidden name=password value=$form->{password}>
 
 <input class=submit type=submit name=action value="|
-    . $locale->text('Add') . qq|">|;
+    . $locale->text('Add') . qq|">
 
-  if ($form->{menubar}) {
-    require "$form->{path}/menu.pl";
-    &menubar;
-  }
-
-  print qq|
   </form>
 
   </body>
@@ -1197,14 +1183,8 @@ sub list_lead {
 <input type=hidden name=password value=$form->{password}>
 
 <input class=submit type=submit name=action value="|
-    . $locale->text('Add') . qq|">|;
+    . $locale->text('Add') . qq|">
 
-  if ($form->{menubar}) {
-    require "$form->{path}/menu.pl";
-    &menubar;
-  }
-
-  print qq|
   </form>
 
   </body>
@@ -1401,14 +1381,7 @@ sub list_business {
 <input type=hidden name=password value=$form->{password}>
 
 <input class=submit type=submit name=action value="|
-    . $locale->text('Add') . qq|">|;
-
-  if ($form->{menubar}) {
-    require "$form->{path}/menu.pl";
-    &menubar;
-  }
-
-  print qq|
+    . $locale->text('Add') . qq|">
 
   </form>
 
@@ -1639,14 +1612,7 @@ sub list_language {
 <input type=hidden name=password value=$form->{password}>
 
 <input class=submit type=submit name=action value="|
-    . $locale->text('Add') . qq|">|;
-
-  if ($form->{menubar}) {
-    require "$form->{path}/menu.pl";
-    &menubar;
-  }
-
-  print qq|
+    . $locale->text('Add') . qq|">
 
   </form>
 
@@ -1778,8 +1744,10 @@ sub add_buchungsgruppe {
     "$form->{script}?action=add_buchungsgruppe&path=$form->{path}&login=$form->{login}&password=$form->{password}"
     unless $form->{callback};
   AM->get_buchungsgruppe(\%myconfig, \%$form);
-  if ($eur) {
-    $form->{"inventory_accno_id"} = $form->{"std_inventory_accno_id"};
+  $form->{"inventory_accno_id"} = $form->{"std_inventory_accno_id"};
+  for (my $i = 0; 4 > $i; $i++) {
+    map({ $form->{"${_}_accno_id_$i"} = $form->{"std_${_}_accno_id"}; }
+        qw(income expense));
   }
 
   &buchungsgruppe_header;
@@ -1814,14 +1782,26 @@ sub list_buchungsgruppe {
 
   $form->{title} = $locale->text('Buchungsgruppen');
 
-  @column_index = qw(description inventory_accno income_accno_0 expense_accno_0 income_accno_1 expense_accno_1 income_accno_2 expense_accno_2 income_accno_3 expense_accno_3 );
+  @column_index = qw(up down description inventory_accno
+                     income_accno_0 expense_accno_0
+                     income_accno_1 expense_accno_1
+                     income_accno_2 expense_accno_2
+                     income_accno_3 expense_accno_3 );
 
+  $column_header{up} =
+      qq|<th class="listheading">|
+    . qq|<img src="image/up.png" alt="| . $locale->text("up") . qq|">|
+    . qq|</th>|;
+  $column_header{down} =
+      qq|<th class="listheading">|
+    . qq|<img src="image/down.png" alt="| . $locale->text("down") . qq|">|
+    . qq|</th>|;
   $column_header{description} =
-      qq|<th class=listheading width=60%>|
+      qq|<th class="listheading" width="40%">|
     . $locale->text('Description')
     . qq|</th>|;
   $column_header{inventory_accno} =
-      qq|<th class=listheading width=10%>|
+      qq|<th class=listheading>|
     . $locale->text('Bestandskonto')
     . qq|</th>|;
   $column_header{income_accno_0} =
@@ -1878,6 +1858,11 @@ sub list_buchungsgruppe {
         </tr>
 |;
 
+  my $swap_link = qq|$form->{script}?action=swap_buchungsgruppen&|;
+  map({ $swap_link .= $_ . "=" . $form->escape($form->{$_}) . "&" }
+      qw(login password path));
+
+  my $row = 0;
   foreach $ref (@{ $form->{ALL} }) {
 
     $i++;
@@ -1887,6 +1872,27 @@ sub list_buchungsgruppe {
         <tr valign=top class=listrow$i>
 |;
 
+    if ($row) {
+      my $pref = $form->{ALL}->[$row - 1];
+      $column_data{up} =
+        qq|<td align="center" valign="center">| .
+        qq|<a href="${swap_link}id1=$ref->{id}&id2=$pref->{id}">| .
+        qq|<img src="image/up.png" alt="| . $locale->text("up") . qq|">| .
+        qq|</a></td>|;
+    } else {
+      $column_data{up} = qq|<td>&nbsp;</td>|;
+    }
+
+    if ($row == (scalar(@{ $form->{ALL} }) - 1)) {
+      $column_data{down} = qq|<td>&nbsp;</td>|;
+    } else {
+      my $nref = $form->{ALL}->[$row + 1];
+      $column_data{down} =
+        qq|<td align="center" valign="center">| .
+        qq|<a href="${swap_link}id1=$ref->{id}&id2=$nref->{id}">| .
+        qq|<img src="image/down.png" alt="| . $locale->text("down") . qq|">| .
+        qq|</a></td>|;
+    }
 
     $column_data{description} =
       qq|<td><a href=$form->{script}?action=edit_buchungsgruppe&id=$ref->{id}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{description}</td>|;
@@ -1909,6 +1915,8 @@ sub list_buchungsgruppe {
     print qq|
        </tr>
 |;
+
+    $row++;
   }
 
   print qq|
@@ -1932,14 +1940,7 @@ sub list_buchungsgruppe {
 <input type=hidden name=password value=$form->{password}>
 
 <input class=submit type=submit name=action value="|
-    . $locale->text('Add') . qq|">|;
-
-  if ($form->{menubar}) {
-    require "$form->{path}/menu.pl";
-    &menubar;
-  }
-
-  print qq|
+    . $locale->text('Add') . qq|">
 
   </form>
 
@@ -2110,6 +2111,15 @@ sub delete_buchungsgruppe {
   $lxdebug->leave_sub();
 }
 
+sub swap_buchungsgruppen {
+  $lxdebug->enter_sub();
+
+  AM->swap_sortkeys(\%myconfig, $form, "buchungsgruppen");
+  list_buchungsgruppe();
+
+  $lxdebug->leave_sub();
+}
+
 
 sub add_printer {
   $lxdebug->enter_sub();
@@ -2234,14 +2244,7 @@ sub list_printer {
 <input type=hidden name=password value=$form->{password}>
 
 <input class=submit type=submit name=action value="|
-    . $locale->text('Add') . qq|">|;
-
-  if ($form->{menubar}) {
-    require "$form->{path}/menu.pl";
-    &menubar;
-  }
-
-  print qq|
+    . $locale->text('Add') . qq|">
 
   </form>
 
@@ -2458,14 +2461,7 @@ sub list_payment {
 <input type=hidden name=password value=$form->{password}>
 
 <input class=submit type=submit name=action value="|
-    . $locale->text('Add') . qq|">|;
-
-  if ($form->{menubar}) {
-    require "$form->{path}/menu.pl";
-    &menubar;
-  }
-
-  print qq|
+    . $locale->text('Add') . qq|">
 
   </form>
 
@@ -2673,14 +2669,8 @@ sub list_sic {
 <input type=hidden name=password value=$form->{password}>
 
 <input class=submit type=submit name=action value="|
-    . $locale->text('Add') . qq|">|;
-
-  if ($form->{menubar}) {
-    require "$form->{path}/menu.pl";
-    &menubar;
-  }
+    . $locale->text('Add') . qq|">
 
-  print qq|
   </form>
 
   </body>
@@ -2803,14 +2793,8 @@ $form->{body}
 <input type=hidden name=password value=$form->{password}>
 
 <input name=action type=submit class=submit value="|
-    . $locale->text('Edit') . qq|">|;
-
-  if ($form->{menubar}) {
-    require "$form->{path}/menu.pl";
-    &menubar;
-  }
+    . $locale->text('Edit') . qq|">
 
-  print qq|
   </form>
 
 </body>
@@ -2852,14 +2836,8 @@ $form->{body}
 
 <br>
 <input type=submit class=submit name=action value="|
-    . $locale->text('Save') . qq|">|;
-
-  if ($form->{menubar}) {
-    require "$form->{path}/menu.pl";
-    &menubar;
-  }
+    . $locale->text('Save') . qq|">
 
-  print q|
   </form>
 
 
@@ -2907,6 +2885,58 @@ sub config {
     $myconfig{$item} =~ s/\\n/\r\n/g;
   }
 
+  @formats = ();
+  if ($opendocument_templates && $openofficeorg_writer_bin &&
+      $xvfb_bin && (-x $openofficeorg_writer_bin) && (-x $xvfb_bin)) {
+    push(@formats, { "name" => $locale->text("PDF (OpenDocument/OASIS)"),
+                     "value" => "opendocument_pdf" });
+  }
+  if ($latex_templates) {
+    push(@formats, { "name" => $locale->text("PDF"), "value" => "pdf" });
+  }
+  push(@formats, { "name" => "HTML", "value" => "html" });
+  if ($latex_templates) {
+    push(@formats, { "name" => $locale->text("Postscript"),
+                     "value" => "postscript" });
+  }
+  if ($opendocument_templates) {
+    push(@formats, { "name" => $locale->text("OpenDocument/OASIS"),
+                     "value" => "opendocument" });
+  }
+
+  if (!$myconfig{"template_format"}) {
+    $myconfig{"template_format"} = "pdf";
+  }
+  my $template_format = "";
+  foreach $item (@formats) {
+    $template_format .=
+      "<option value=\"$item->{value}\"" .
+      ($item->{"value"} eq $myconfig{"template_format"} ?
+       " selected" : "") .
+       ">" . H($item->{"name"}) . "</option>";
+  }
+
+  if (!$myconfig{"default_media"}) {
+    $myconfig{"default_media"} = "screen";
+  }
+  my %selected = ($myconfig{"default_media"} => "selected");
+  my $default_media = qq|
+  <option value="screen" $selected{'screen'}>| . $locale->text("Screen") . qq|</option>
+  <option value="printer" $selected{'printer'}>| . $locale->text("Printer") . qq|</option>
+  <option value="queue" $selected{'queue'}>| . $locale->text("Queue") . qq|</option>
+|;
+
+  %selected = ();
+  $selected{$myconfig{"default_printer_id"}} = "selected"
+    if ($myconfig{"default_printer_id"});
+  my $default_printer = qq|<option></option>|;
+  AM->printer(\%myconfig, $form);
+  foreach my $printer (@{$form->{"ALL"}}) {
+    $default_printer .= qq|<option value="| . Q($printer->{"id"}) .
+      qq|" $selected{$printer->{'id'}}>| .
+      H($printer->{"printer_description"}) . qq|</option>|;
+  }
+
   %countrycodes = User->country_codes;
   $countrycodes = '';
   foreach $key (sort { $countrycodes{$a} cmp $countrycodes{$b} }
@@ -2958,8 +2988,19 @@ sub config {
 
   $form->header;
 
-  if ($myconfig{menustyle} eq "old") { $oldS = "checked"; }
-  else { $newS = "checked"; }
+  if ($myconfig{menustyle} eq "old") {
+    $menustyle_old = "checked";
+  } elsif ($myconfig{menustyle} eq "neu") {
+    $menustyle_neu = "checked";
+  } elsif ($myconfig{menustyle} eq "v3") {
+    $menustyle_v3 = "checked";
+  }
+
+  my ($show_form_details, $hide_form_details);
+  $myconfig{"show_form_details"} = 1
+    unless (defined($myconfig{"show_form_details"}));
+  $show_form_details = "checked" if ($myconfig{"show_form_details"});
+  $hide_form_details = "checked" unless ($myconfig{"show_form_details"});
 
   print qq|
 <body>
@@ -3034,10 +3075,43 @@ sub config {
        </tr>
        <tr>
          <th align=right>| . $locale->text('Setup Menu') . qq|</th>
-         <td><input name=menustyle type=radio class=radio value=neu $newS>&nbsp;New
-                 <input name=menustyle type=radio class=radio value=old $oldS>&nbsp;Old</td>
-       </tr>   
+         <td><input name=menustyle type=radio class=radio value=v3 $menustyle_v3>&nbsp;| .
+    $locale->text("Top (CSS)") . qq|
+         <input name=menustyle type=radio class=radio value=neu $menustyle_neu>&nbsp;| .
+    $locale->text("Top (Javascript)") . qq|
+    <input name=menustyle type=radio class=radio value=old $menustyle_old>&nbsp;| .
+    $locale->text("Old (on the side)") . qq|</td>
+  </tr>
+  <tr>
+    <th align=right>| . $locale->text('Form details (second row)') . qq|</th>
+    <td><input type="radio" id="rad_show_form_details" name="show_form_details" value="1" $show_form_details>&nbsp;
+    <label for="rad_show_form_details">| . $locale->text('Show by default') . qq|</label>
+    <input type="radio" id="rad_hide_form_details" name="show_form_details" value="0" $hide_form_details>&nbsp;
+    <label for="rad_hide_form_details">| . $locale->text('Hide by default') . qq|</label></td>
+       </tr>
        <input name=printer type=hidden value="$myconfig{printer}">
+       <tr class=listheading>
+         <th colspan=2>| . $locale->text("Print options") . qq|</th>
+       </tr>
+       <tr>
+         <th align=right>| . $locale->text('Default template format') . qq|</th>
+         <td><select name="template_format">$template_format</select></td>
+       </tr>
+       <tr>
+         <th align=right>| . $locale->text('Default output medium') . qq|</th>
+         <td><select name="default_media">$default_media</select></td>
+       </tr>
+       <tr>
+         <th align=right>| . $locale->text('Default printer') . qq|</th>
+         <td><select name="default_printer_id">$default_printer</select></td>
+       </tr>
+       <tr>
+         <th align=right>| . $locale->text('Number of copies') . qq|</th>
+         <td><input name="copies" size="10" value="| .
+    $form->quote($myconfig{"copies"}) . qq|"></td>
+       </tr>
+
+
        <tr class=listheading>
          <th colspan=2>&nbsp;</th>
        </tr>
@@ -3046,16 +3120,8 @@ sub config {
          <td><input name=businessnumber size=25 value="$myconfig{businessnumber}"></td>
        </tr>
        <tr>
-         <td colspan=2>
-           <table width=100%>
-             <tr>
                <th align=right>| . $locale->text('Year End') . qq| (mm/dd)</th>
                <td><input name=yearend size=5 value=$form->{defaults}{yearend}></td>
-               <th align=right>| . $locale->text('Weight Unit') . qq|</th>
-               <td><input name=weightunit size=5 value="$form->{defaults}{weightunit}"></td>
-             </tr>
-           </table>
-         </td>
        </tr>
        <tr class=listheading>
          <th colspan=2>|
@@ -3188,14 +3254,8 @@ print qq|      </table>
 
 <br>
 <input type=submit class=submit name=action value="|
-    . $locale->text('Save') . qq|">|;
-
-  if ($form->{menubar}) {
-    require "$form->{path}/menu.pl";
-    &menubar;
-  }
+    . $locale->text('Save') . qq|">
 
-  print qq|
   </form>
 
 </body>
@@ -3434,14 +3494,8 @@ sub list_warehouse {
 <input type=hidden name=password value=$form->{password}>
 
 <input class=submit type=submit name=action value="|
-    . $locale->text('Add') . qq|">|;
+    . $locale->text('Add') . qq|">
 
-  if ($form->{menubar}) {
-    require "$form->{path}/menu.pl";
-    &menubar;
-  }
-
-  print qq|
   </form>
 
   </body>
@@ -3573,7 +3627,8 @@ sub add_unit {
 
   $form->isblank("new_name", $locale->text("The name is missing."));
   $units = AM->retrieve_units(\%myconfig, $form, $form->{"unit_type"});
-  $form->show_generic_error($locale->text("A unit with this name does already exist.")) if ($units->{$form->{"new_name"}});
+  $all_units = AM->retrieve_units(\%myconfig, $form);
+  $form->show_generic_error($locale->text("A unit with this name does already exist.")) if ($all_units->{$form->{"new_name"}});
 
   my ($base_unit, $factor);
   if ($form->{"new_base_unit"}) {