Der direkte Zugriff per Webbrowser auf einige Verzeichniss muss verhindert werden.
[kivitendo-erp.git] / bin / mozilla / ct.pl
index dddd734..a1bfc25 100644 (file)
@@ -307,224 +307,6 @@ sub search_delivery {
   $lxdebug->leave_sub();
 }
 
-sub search_adr {
-  $lxdebug->enter_sub();
-
-  $form->{title} = $locale->text('ADR Report');
-
-  # use JavaScript Calendar or not
-  $form->{jsscript} = $jscalendar;
-  $jsscript = "";
-
-  if ($form->{jsscript}) {
-
-    # with JavaScript Calendar
-    $button1 = qq|
-       <td><input name=from id=from size=11 title="$myconfig{dateformat}" value=$form->{from}></td>
-       <td><input type=button name=from id="trigger1" value=|
-      . $locale->text('button') . qq|></td>
-       |;
-    $button2 = qq|
-       <td width="13"><input name=to id=to size=11 title="$myconfig{dateformat}" value=$form->{to}></td>
-       <td width="4"><input type=button name=to id="trigger2" value=|
-      . $locale->text('button') . qq|></td></td>
-     |;
-
-
-    #write Trigger
-    $jsscript =
-      Form->write_trigger(\%myconfig,     "2",
-                          "from",      "BL",
-                          "trigger1",     "to",
-                          "BL",           "trigger2");
-  } else {
-
-    # without JavaScript Calendar
-    $button1 =
-      qq|<td><input name=from size=11 title="$myconfig{dateformat}" value=$form->{from}></td>|;
-    $button2 =
-      qq|<td width="13"><input name=to size=11 title="$myconfig{dateformat}" value=$form->{to}></td>|;
-  }
-
-  $form->header;
-
-  print qq|
-<body>
-
-<form method=post action=$form->{script}>
-
-
-<table width=100%>
-  <tr>
-    <th class=listtop>$form->{title}</th>
-  </tr>
-  <tr height="5"></tr>
-  <tr valign=top>
-    <td>
-      <table>
-        <tr>
-          <th align=right nowrap>| . $locale->text('Year') . qq|</th>
-          <td><input name=year type=input value=$form->{year}></td>
-       <tr>
-         <th align=right nowrap>| . $locale->text('From') . qq|</th>
-          $button1
-       </tr>
-       <tr>
-         <th align=right nowrap>| . $locale->text('Bis') . qq|</th>
-         $button2
-       </tr>
-       <tr>
-         <td></td>
-         <td><input name=format class=radio type=radio value=html checked>&nbsp;|
-    . $locale->text('HTML') . qq|
-         <input name=format class=radio type=radio value=csv>&nbsp;|
-    . $locale->text('CSV') . qq|</td>
-       </tr>
-      </table>
-    </td>
-  </tr>
-  <tr>
-    <td><hr size=3 noshade></td>
-  </tr>
-</table>
-$jsscript
-<input type=hidden name=nextsub value=adr_report>
-
-<input type=hidden name=path value=$form->{path}>
-<input type=hidden name=login value=$form->{login}>
-<input type=hidden name=password value=$form->{password}>
-
-<br>
-<input type=submit class=submit name=action value="|
-    . $locale->text('Continue') . qq|">
-</form>
-
-</body>
-</html>
-|;
-  $lxdebug->leave_sub();
-}
-sub adr_report {
-  $lxdebug->enter_sub();
-
-  CT->adr(\%myconfig, \%$form);
-
-  $form->{title} =  $locale->text('ADR Report');
-  if ($form->{from} || $form->{to}) {
-    $option = "Für den Zeitraum $form->{from} bis $form->{to}";
-  } elsif ($form->{year}) {
-    $option = "Für das Jahr $form->{year}";
-  }
-
-  if ($form->{format} eq "html") {
-      $form->header();
-      print qq|
-<body>
-
-<table width=100%>
-  <tr>
-    <th class=listtop>$form->{title}</th>
-  </tr>
-  <tr height="5"></tr>
-  <tr>
-    <td>$option</td>
-  </tr>
-</table>|;
-
-
-  @column_index =
-    $form->sort_columns(adr_code,
-                        adr_description,
-                        sum,
-                        unit);
-
-
-
-  $column_header{adr_code} =
-    qq|<th class=listheading>| . $locale->text('ADR Code') . qq|</th>|;
-  $column_header{adr_description} =
-      qq|<th class=listheading>|. $locale->text('ADR Description'). qq|</th>|;
-  $column_header{sum} =
-      qq|<th class=listheading>|. $locale->text('Quantity'). qq|</th>|;
-  $column_header{unit} =
-    qq|<th class=listheading>| . $locale->text('Unit') . qq|</th>|;
-
-  print qq|
-
-<table width=100%>
-  <tr>
-    <td>
-      <table width=100%>
-       <tr class=listheading>
-|;
-
-  map { print "$column_header{$_}\n" } @column_index;
-
-  print qq|
-        </tr>
-|;
-
-
-  foreach $ref (@{ $form->{ADR} }) {
-
-    map { $column_data{$_} = "<td>$ref->{$_}&nbsp;</td>" } @column_index;
-
-
-    $i++;
-    $i %= 2;
-    print "
-        <tr class=listrow$i>
-";
-
-    map { print "$column_data{$_}\n" } @column_index;
-
-    print qq|
-        </tr>
-|;
-
-
-  }
-
-  print qq|
-</table>
-</body>
-</html>
-|;
-  } else {
-  my $filename = "adr-report-$form->{from}-$form->{to}.csv";
-  if ($form->{year}) {
-    $filename = "adr-report-$form->{year}.csv";
-  }
-  @column_index =
-  $form->sort_columns(adr_code,
-                      adr_description,
-                      sum,
-                      unit);
-
-  $tmpfile = qq|ADR Code;ADR Beschreibung;Menge;Einheit\n|;
-    foreach $ref (@{ $form->{ADR} }) {
-  
-      map { $column_data{$_} = qq|"$ref->{$_}"| } @column_index;
-
-      $line = "";
-      map { $line .= "$column_data{$_};" } @column_index;
-      chomp($line);
-      $tmpfile .= qq|$line\n|;;
-    }
-  
-  my $size = length($tmpfile);
-  # launch application
-  print qq|Content-Type: application/csv
-Content-Disposition: attachment; filename="$filename"
-Content-Length: $size
-
-$tmpfile
-|;
-  }
-
-  $lxdebug->leave_sub();
-}
-
 sub list_names {
   $lxdebug->enter_sub();
 
@@ -761,14 +543,8 @@ sub list_names {
 <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>
@@ -893,14 +669,15 @@ sub form_header {
 
   my $pjy = new CGI::Ajax( 'get_shipto' => $get_shipto_url );
   $form->{selectshipto} = "<option value=0></option>";
+  $form->{selectshipto} .= "<option value=0>Alle</option>";
   if (@{ $form->{SHIPTO} }) {
     foreach $item (@{ $form->{SHIPTO} }) {
-      if ($item->{id} == $form->{shipto_id}) {
+      if ($item->{shipto_id} == $form->{shipto_id}) {
         $form->{selectshipto} .=
-          "<option value=$item->{id} selected>$item->{shiptoname}\n";
+          "<option value=$item->{shipto_id} selected>$item->{shiptoname} $item->{shiptodepartment_1}\n";
       } else {
         $form->{selectshipto} .=
-          "<option value=$item->{id}>$item->{shiptoname}\n";
+          "<option value=$item->{shipto_id}>$item->{shiptoname} $item->{shiptodepartment_1}\n";
       }
 
     }
@@ -925,7 +702,7 @@ sub form_header {
   $delivery = qq|
              <tr>
                <th align=right>| . $locale->text('Shipping Address') . qq|</th>
-               <td><select id=delivery_id name=delivery_id onChange="get_delivery(['shipto_id__' + this.value, 'from__' + from.value, 'to__' + to.value], ['delivery'])">$form->{selectshipto}</select></td>
+               <td><select id=delivery_id name=delivery_id onChange="get_delivery(['shipto_id__' + this.value, 'from__' + from.value, 'to__' + to.value, 'id__' + cvid.value, 'db__' + db.value], ['delivery'])">$form->{selectshipto}</select></td>
              </tr>|;
 
   foreach $item (split / /, $form->{taxaccounts}) {
@@ -1072,7 +849,8 @@ sub form_header {
       $form->{selectpricegroup} =~
         s/(<option value="\Q$form->{klass}\E")/$1 selected/;
 
-      $pricegroup .= qq|<select name=klass>$form->{selectpricegroup}</select>|;
+      $pricegroup .=
+        qq|<select name=klass tabindex=24>$form->{selectpricegroup}</select>|;
 
     }
   }
@@ -1080,6 +858,7 @@ sub form_header {
   # $locale->text('Customer Number')
   # $locale->text('Vendor Number')
   $form->{fokus} = "ct.greeting";
+  $form->{jsscript} = 1;
   $form->header;
 
   print qq|
@@ -1170,9 +949,9 @@ sub form_header {
        <tr>
          <th align=right>| . $locale->text('Credit Limit') . qq|</th>
          <td><input name=creditlimit size=9 value="$form->{creditlimit}"></td>
-         <th align=right>| . $locale->text('Terms: Net') . qq|</th>
-         <td><input name=terms size=2 value="$form->{terms}">|
-    . $locale->text('days') . qq|</td>
+         <input type="hidden" name="terms" value="$form->{terms}">
+         <th align=right>| . $locale->text('Payment Terms') . qq|</th>
+         <td><select name=payment_id>$payment</select></td>
          <th align=right>| . $locale->text('Discount') . qq|</th>
          <td><input name=discount size=4 value="$form->{discount}">
          %</td>
@@ -1181,7 +960,7 @@ sub form_header {
          <th align=right>| . $locale->text('Tax Number / SSN') . qq|</th>
          <td><input name=taxnumber size=20 value="$form->{taxnumber}"></td>
           <th align=right>| . $locale->text('USt-IdNr.') . qq|</th>
-         <td><input name=ustid size=20 value="$form->{ustid}"></td>
+         <td><input name="ustid" maxlength="14" size="20" value="$form->{ustid}"></td>
           $customer
        </tr>
         <tr>
@@ -1208,9 +987,6 @@ sub form_header {
         <tr>
           <td align=right>| . $locale->text('Obsolete') . qq|</td>
           <td><input name=obsolete class=checkbox type=checkbox value=1 $form->{obsolete}></td>
-         <th align=right>| . $locale->text('Payment Terms') . qq|</th>
-         <td><select name=payment_id>$payment
-                          </select></td>
        </tr>
         $taxzone
       </table>
@@ -1384,9 +1160,11 @@ $shipto
     $delivery
     <tr>
       <th align=left nowrap>| . $locale->text('From') . qq|</th>
-      <td><input id=from name=from size=10 maxlength=10 value="$form->{from}"></td>
-      <th align=left nowrap>| . $locale->text('Bis') . qq|</th>
-      <td><input id=to name=to size=10 maxlength=10 value="$form->{to}"></td>
+      <td><input id=from name=from size=10 maxlength=10 value="$form->{from}">
+        <input type="button" name="fromB" id="trigger_from" value="?"></td>
+      <th align=left nowrap>| . $locale->text('To (time)') . qq|</th>
+      <td><input id=to name=to size=10 maxlength=10 value="$form->{to}">
+        <input type="button" name="toB" id="trigger_to" value="?"></td>
     </tr>       
     <tr>
      <td colspan=4>
@@ -1399,7 +1177,8 @@ $shipto
 
 </div>
 
-|;
+| . $form->write_trigger(\%myconfig, 2, "fromB", "BL", "trigger_from",
+                         "toB", "BL", "trigger_to");
 
   $lxdebug->leave_sub();
 }
@@ -1430,7 +1209,7 @@ sub form_footer {
 ##<input class=submit type=submit name=action value="|.$locale->text("Save and AP Transaction").qq|">
 
   print qq|
-<input name=id type=hidden value=$form->{id}>
+<input name=id type=hidden id=cvid value=$form->{id}>
 <input name=taxaccounts type=hidden value="$form->{taxaccounts}">
 <input name=business_save type=hidden value="$form->{selectbusiness}">
 <input name=title_save type=hidden value="$form->{title}">
@@ -1440,7 +1219,7 @@ sub form_footer {
 <input type=hidden name=password value=$form->{password}>
 
 <input type=hidden name=callback value="$form->{callback}">
-<input type=hidden name=db value=$form->{db}>
+<input type=hidden name=db id=db value=$form->{db}>
 
 
 
@@ -1464,11 +1243,6 @@ $update_button
       . qq|">\n|;
   }
 
-  if ($form->{menubar}) {
-    require "$form->{path}/menu.pl";
-    &menubar;
-  }
-
   print qq|
 
   </form>
@@ -1487,6 +1261,9 @@ sub add_transaction {
   $lxdebug->enter_sub();
 
   $form->isblank("name", $locale->text("Name missing!"));
+  if ($vertreter && $form->{db} eq "customer") {
+    $form->isblank("salesman_id", $locale->text("Salesman missing!"));
+  }
   &{"CT::save_$form->{db}"}("", \%myconfig, \%$form);
 
   $form->{callback} = $form->escape($form->{callback}, 1);
@@ -1839,7 +1616,7 @@ sub get_shipto {
 sub get_delivery {
   $lxdebug->enter_sub();
 
-  CT->get_delivery(\%myconfig, \%$form);
+  CT->get_delivery(\%myconfig, \%$form );
 
   @column_index =
     $form->sort_columns(shiptoname,
@@ -1847,7 +1624,6 @@ sub get_delivery {
                         ordnumber,
                         transdate,
                         description,
-                        adr_code,
                         qty,
                         unit);
 
@@ -1863,8 +1639,6 @@ sub get_delivery {
     qq|<th class=listheading>| . $locale->text('Invdate') . qq|</th>|;
   $column_header{description} =
     qq|<th class=listheading>| . $locale->text('Description') . qq|</th>|;
-  $column_header{adr_code} =
-    qq|<th class=listheading>| . $locale->text('ADR') . qq|</th>|;
   $column_header{qty} =
     qq|<th class=listheading>| . $locale->text('Qty') . qq|</th>|;
   $column_header{unit} =