$form->parse_template() verwendet $form->{OUT} direkt oder indirekt in open(). Desweg...
[kivitendo-erp.git] / bin / mozilla / ar.pl
index 05c541b..382e733 100644 (file)
@@ -36,7 +36,7 @@ use SL::IS;
 use SL::PE;
 use Data::Dumper;
 
-require "$form->{path}/arap.pl";
+require "bin/mozilla/arap.pl";
 require "bin/mozilla/common.pl";
 require "bin/mozilla/drafts.pl";
 
@@ -79,7 +79,7 @@ sub add {
 
   # saving the history
   if(!exists $form->{addition} && ($form->{id} ne "")) {
-    $form->{snumber} = qq|invnumber_| . $form->{invnumber};
+    $form->{snumbers} = qq|invnumber_| . $form->{invnumber};
        $form->{addition} = "ADDED";
        $form->save_history($form->dbconnect(\%myconfig));
   }
@@ -87,7 +87,7 @@ sub add {
   
   $form->{title}    = "Add";
   $form->{callback} =
-    "$form->{script}?action=add&path=$form->{path}&login=$form->{login}&password=$form->{password}"
+    "$form->{script}?action=add&login=$form->{login}&password=$form->{password}"
     unless $form->{callback};
 
   AR->get_transdate(\%myconfig, $form);
@@ -477,12 +477,12 @@ selectcustomer}</select>|
 
     # with JavaScript Calendar
     $button1 = qq|
-       <td><input name=transdate id=transdate size=11 title="$myconfig{dateformat}" value=$form->{transdate} onBlur=\"check_right_date_format(this)\"></td>
+       <td><input name=transdate id=transdate size=11 title="$myconfig{dateformat}" value="$form->{transdate}" onBlur=\"check_right_date_format(this)\"></td>
        <td><input type=button name=transdate id="trigger1" value=|
       . $locale->text('button') . qq|></td>
        |;
     $button2 = qq|
-       <td><input name=duedate id=duedate size=11 title="$myconfig{dateformat}" value=$form->{duedate} onBlur=\"check_right_date_format(this)\"></td>
+       <td><input name=duedate id=duedate size=11 title="$myconfig{dateformat}" value="$form->{duedate}" onBlur=\"check_right_date_format(this)\"></td>
        <td><input type=button name=duedate id="trigger2" value=|
       . $locale->text('button') . qq|></td></td>
      |;
@@ -495,9 +495,9 @@ selectcustomer}</select>|
 
     # without JavaScript Calendar
     $button1 =
-      qq|<td><input name=transdate id=transdate size=11 title="$myconfig{dateformat}" value=$form->{transdate} onBlur=\"check_right_date_format(this)\"></td>|;
+      qq|<td><input name=transdate id=transdate size=11 title="$myconfig{dateformat}" value="$form->{transdate}" onBlur=\"check_right_date_format(this)\"></td>|;
     $button2 =
-      qq|<td><input name=duedate id=duedate size=11 title="$myconfig{dateformat}" value=$form->{duedate} onBlur=\"check_right_date_format(this)\"></td>|;
+      qq|<td><input name=duedate id=duedate size=11 title="$myconfig{dateformat}" value="$form->{duedate}" onBlur=\"check_right_date_format(this)\"></td>|;
   }
 
   $form->header;
@@ -790,12 +790,12 @@ $jsscript
 |;
 
     $column_data{paid} =
-      qq|<td align=center><input name="paid_$i" size=11 value=$form->{"paid_$i"} onBlur=\"check_right_number_format(this)\"></td>|;
+      qq|<td align=center><input name="paid_$i" size=11 value="$form->{"paid_$i"}" onBlur=\"check_right_number_format(this)\"></td>|;
     $column_data{AR_paid} =
       qq|<td align=center>${selectAR_paid}</td>|;
     $column_data{exchangerate} = qq|<td align=center>$exchangerate</td>|;
     $column_data{datepaid}     =
-      qq|<td align=center><input name="datepaid_$i" id="datepaid_$i" size=11 value=$form->{"datepaid_$i"} onBlur=\"check_right_date_format(this)\">
+      qq|<td align=center><input name="datepaid_$i" id="datepaid_$i" size=11 value="$form->{"datepaid_$i"}" onBlur=\"check_right_date_format(this)\">
          <input type="button" name="datepaid_$i" id="trigger_datepaid_$i" value="?"></td>|;
     $column_data{source} =
       qq|<td align=center><input name="source_$i" size=11 value="$form->{"source_$i"}"></td>|;
@@ -843,7 +843,6 @@ sub form_footer {
 
 <input name=callback type=hidden value="$form->{callback}">
 
-<input type=hidden name=path value=$form->{path}>
 <input type=hidden name=login value=$form->{login}>
 <input type=hidden name=password value=$form->{password}>
 |
@@ -899,7 +898,7 @@ sub form_footer {
   }
 
   if ($form->{menubar}) {
-    require "$form->{path}/menu.pl";
+    require "bin/mozilla/menu.pl";
     &menubar;
   }
   # button for saving history
@@ -1093,7 +1092,7 @@ sub post {
   if (AR->post_transaction(\%myconfig, \%$form)) {
     # saving the history
     if(!exists $form->{addition} && $form->{id} ne "") {
-      $form->{snumber} = qq|invnumber_| . $form->{invnumber};
+      $form->{snumbers} = qq|invnumber_| . $form->{invnumber};
          $form->{addition} = "POSTED";
          $form->save_history($form->dbconnect(\%myconfig));
     }
@@ -1112,7 +1111,7 @@ sub post_as_new {
   $form->{postasnew} = 1;
   # saving the history
   if(!exists $form->{addition} && $form->{id} ne "") {
-    $form->{snumber} = qq|invnumber_| . $form->{invnumber};
+    $form->{snumbers} = qq|invnumber_| . $form->{invnumber};
        $form->{addition} = "POSTED AS NEW";
        $form->save_history($form->dbconnect(\%myconfig));
   }
@@ -1177,7 +1176,7 @@ sub yes {
   if (AR->delete_transaction(\%myconfig, \%$form, $spool)) {
     # saving the history
     if(!exists $form->{addition}) {
-      $form->{snumber} = qq|invnumber_| . $form->{invnumber};
+      $form->{snumbers} = qq|invnumber_| . $form->{invnumber};
          $form->{addition} = "DELETED";
          $form->save_history($form->dbconnect(\%myconfig));
     }
@@ -1296,6 +1295,10 @@ sub search {
          <th align=right nowrap>| . $locale->text('Order Number') . qq|</th>
          <td colspan=3><input name=ordnumber size=20></td>
        </tr>
+       <tr>
+         <th align=right nowrap>| . $locale->text('Transaction description') . qq|</th>
+         <td colspan=3><input name=transaction_description size=40></td>
+       </tr>
        <tr>
          <th align=right nowrap>| . $locale->text('Notes') . qq|</th>
          <td colspan=3><input name=notes size=40></td>
@@ -1372,6 +1375,8 @@ sub search {
                <td nowrap>| . $locale->text('Subtotal') . qq|</td>
                <td align=right><input name="l_globalprojectnumber" class=checkbox type=checkbox value=Y></td>
                <td nowrap>| . $locale->text('Project Number') . qq|</td>
+               <td align=right><input name="l_transaction_description" class=checkbox type=checkbox value=Y></td>
+               <td nowrap>| . $locale->text('Transaction description') . qq|</td>
              </tr>
            </table>
          </td>
@@ -1386,7 +1391,6 @@ sub search {
 
 <input type=hidden name=nextsub value=$form->{nextsub}>
 
-<input type=hidden name=path value=$form->{path}>
 <input type=hidden name=login value=$form->{login}>
 <input type=hidden name=password value=$form->{password}>
 
@@ -1415,7 +1419,7 @@ sub ar_transactions {
   AR->ar_transactions(\%myconfig, \%$form);
 
   $callback =
-    "$form->{script}?action=ar_transactions&path=$form->{path}&login=$form->{login}&password=$form->{password}";
+    "$form->{script}?action=ar_transactions&login=$form->{login}&password=$form->{password}";
   $href = $callback;
 
   if ($form->{customer}) {
@@ -1448,6 +1452,12 @@ sub ar_transactions {
     $option .= "\n<br>" if $option;
     $option .= $locale->text('Notes') . " : $form->{notes}";
   }
+  if ($form->{transaction_description}) {
+    $callback .= "&transaction_description=" . $form->escape($form->{transaction_description}, 1);
+    $href .= "&transaction_description=" . $form->escape($form->{transaction_description});
+    $option .= "\n<br>" if $option;
+    $option .= $locale->text('Transaction description') . " : $form->{transaction_description}";
+  }
 
   if ($form->{transdatefrom}) {
     $callback .= "&transdatefrom=$form->{transdatefrom}";
@@ -1484,7 +1494,7 @@ sub ar_transactions {
 
   @columns =
     qw(transdate id type invnumber ordnumber name netamount tax amount paid
-       datepaid due duedate notes employee shippingpoint shipvia
+       datepaid due duedate transaction_description notes employee shippingpoint shipvia
        globalprojectnumber);
 
   $form->{"l_type"} = "Y";
@@ -1560,6 +1570,8 @@ sub ar_transactions {
     . "</a></th>";
   $column_header{globalprojectnumber} =
     qq|<th class="listheading">| . $locale->text('Project Number') . qq|</th>|;
+  $column_header{transaction_description} =
+    "<th class=listheading>" . $locale->text('Transaction description') . "</th>";
 
   $form->{title} = $locale->text('AR Transactions');
 
@@ -1645,12 +1657,18 @@ sub ar_transactions {
     $module = ($ar->{invoice}) ? "is.pl" : $form->{script};
 
     $column_data{invnumber} =
-      "<td><a href=$module?action=edit&id=$ar->{id}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ar->{invnumber}</a></td>";
+      "<td><a href=$module?action=edit&id=$ar->{id}&login=$form->{login}&password=$form->{password}&callback=$callback>$ar->{invnumber}</a></td>";
+
+    my $is_storno  = $ar->{storno} && ($ar->{invnumber} =~ /^Storno zu/);
+    my $has_storno = $ar->{storno} && !$is_storno;
+
     $column_data{type} = "<td>" .
-      ($ar->{storno} ? $locale->text("Storno (one letter abbreviation)") :
-       $ar->{amount} < 0 ?
-       $locale->text("Credit note (one letter abbreviation)") :
-       $locale->text("Invoice (one letter abbreviation)")) . "</td>";
+      ($has_storno       ? $locale->text("Invoice with Storno (abbreviation)") :
+       $is_storno        ? $locale->text("Storno (one letter abbreviation)") :
+       $ar->{amount} < 0 ? $locale->text("Credit note (one letter abbreviation)") :
+       $ar->{invoice}    ? $locale->text("Invoice (one letter abbreviation)") :
+                           $locale->text("AR Transaction (abbreviation)"))
+        . "</td>";
     $column_data{ordnumber} = "<td>$ar->{ordnumber}&nbsp;</td>";
     $column_data{name}      = "<td>$ar->{name}</td>";
     $ar->{notes} =~ s/\r\n/<br>/g;
@@ -1660,6 +1678,8 @@ sub ar_transactions {
     $column_data{employee}      = "<td>$ar->{employee}&nbsp;</td>";
     $column_data{globalprojectnumber}  =
       "<td>" . H($ar->{globalprojectnumber}) . "</td>";
+    $column_data{transaction_description}  =
+      "<td>" . H($ar->{transaction_description}) . "</td>";
 
     $i++;
     $i %= 2;
@@ -1720,7 +1740,6 @@ sub ar_transactions {
 
 <input name=callback type=hidden value="$form->{callback}">
 
-<input type=hidden name=path value=$form->{path}>
 <input type=hidden name=login value=$form->{login}>
 <input type=hidden name=password value=$form->{password}>