System->Konteneinstellungen ueberarbeitet:
authorUdo Spallek <info@wissensvermittlung.com>
Thu, 3 May 2007 07:05:24 +0000 (07:05 +0000)
committerUdo Spallek <info@wissensvermittlung.com>
Thu, 3 May 2007 07:05:24 +0000 (07:05 +0000)
* Alles auf das Templatesystem umgestellt
* Kontenliste
  - Klick auf Beschreibung zeigt Details an
    (Ajax template list_account_details)
  - Klick auf Kontonummer öffnet Einstellungen (wie gehabt)
  - Ueberschriften werden per css (accountlistheader) formatiert
  - Gegenueberstellung von allen Konten mit allen Details
  - Uebersetzungn
* Konteneinstellungen
  - Steuerautomatik und USTVA Positionen sind einstellbar/loeschbar
    (max. 10 Steuerkonten)
  - Folgekonto: Sortierung nach chart.accno
  - Validierung:
    + Wenn Kontentyp Ueberschrift, alle anderen Einstellungen entfernen
      (js/FormManager.js)
    + Must have: Kontonummer, Beschreibung, Kontentyp, (Kontenart)
    + Taxkeys: Gueltig, wenn Startdate und mindestens ein Merkmal aus:
      Steuerverknuepfung oder USTVA Position
  - Beim loeschen eines Kontos werden alle abhaengigen taxkeys geloescht
  - Uebersetzungen

12 files changed:
SL/AM.pm
SL/CA.pm
bin/mozilla/am.pl
css/lx-office-erp.css
js/FormManager.js [new file with mode: 0644]
locale/de/all
templates/webpages/am/edit_accounts_de.html [new file with mode: 0644]
templates/webpages/am/edit_accounts_master.html [new file with mode: 0644]
templates/webpages/am/list_account_details_de.html [new file with mode: 0644]
templates/webpages/am/list_account_details_master.html [new file with mode: 0644]
templates/webpages/am/list_accounts_de.html
templates/webpages/am/list_accounts_master.html

index 323556b..af52ae9 100644 (file)
--- a/SL/AM.pm
+++ b/SL/AM.pm
@@ -47,20 +47,23 @@ sub get_account {
 
   # connect to database
   my $dbh = $form->dbconnect($myconfig);
-  my $query =
-    qq!SELECT c.accno, c.description, c.charttype, c.category,! .
-    qq!  c.link, c.pos_bilanz, c.pos_eur, c.new_chart_id, c.valid_from, ! .
-    qq!  c.pos_bwa, ! .
-    qq!  tk.taxkey_id, tk.pos_ustva, tk.tax_id, ! .
-    qq!  tk.tax_id || '--' || tk.taxkey_id AS tax, tk.startdate ! .
-    qq!FROM chart c ! .
-    qq!LEFT JOIN taxkeys tk ! .
-    qq!ON (c.id=tk.chart_id AND tk.id = ! .
-    qq!  (SELECT id FROM taxkeys ! .
-    qq!   WHERE taxkeys.chart_id = c.id AND startdate <= current_date ! .
-    qq!   ORDER BY startdate DESC LIMIT 1)) ! .
-    qq!WHERE c.id = ?!;
-
+  my $query = qq{
+    SELECT c.accno, c.description, c.charttype, c.category,
+      c.link, c.pos_bilanz, c.pos_eur, c.new_chart_id, c.valid_from, 
+      c.pos_bwa, datevautomatik,
+      tk.taxkey_id, tk.pos_ustva, tk.tax_id,
+      tk.tax_id || '--' || tk.taxkey_id AS tax, tk.startdate
+    FROM chart c 
+    LEFT JOIN taxkeys tk 
+    ON (c.id=tk.chart_id AND tk.id = 
+      (SELECT id FROM taxkeys 
+       WHERE taxkeys.chart_id = c.id AND startdate <= current_date 
+       ORDER BY startdate DESC LIMIT 1)) 
+    WHERE c.id = ?
+    };
+
+  
+  $main::lxdebug->message(LXDebug::QUERY, "\$query=\n $query");
   my $sth = $dbh->prepare($query);
   $sth->execute($form->{id}) || $form->dberror($query . " ($form->{id})");
 
@@ -75,6 +78,7 @@ sub get_account {
   # get default accounts
   $query = qq|SELECT inventory_accno_id, income_accno_id, expense_accno_id
               FROM defaults|;
+  $main::lxdebug->message(LXDebug::QUERY, "\$query=\n $query");
   $sth = $dbh->prepare($query);
   $sth->execute || $form->dberror($query);
 
@@ -84,9 +88,20 @@ sub get_account {
 
   $sth->finish;
 
+
+
   # get taxkeys and description
-  $query = qq§SELECT id, taxkey,id||'--'||taxkey AS tax, taxdescription
-              FROM tax ORDER BY taxkey§;
+  $query = qq{
+    SELECT 
+      id, 
+      (SELECT accno FROM chart WHERE id=tax.chart_id) AS chart_accno,
+      taxkey,
+      id||'--'||taxkey AS tax, 
+      taxdescription, 
+      rate
+    FROM tax ORDER BY taxkey
+  };
+  $main::lxdebug->message(LXDebug::QUERY, "\$query=\n $query");
   $sth = $dbh->prepare($query);
   $sth->execute || $form->dberror($query);
 
@@ -100,7 +115,10 @@ sub get_account {
   if ($form->{id}) {
     # get new accounts
     $query = qq|SELECT id, accno,description
-                FROM chart WHERE link = ?|;
+                FROM chart 
+                WHERE link = ? 
+                ORDER BY accno|;
+    $main::lxdebug->message(LXDebug::QUERY, "\$query=\n $query");
     $sth = $dbh->prepare($query);
     $sth->execute($form->{link}) || $form->dberror($query . " ($form->{link})");
 
@@ -110,10 +128,45 @@ sub get_account {
     }
 
     $sth->finish;
+
+    # get the taxkeys of account
+    
+    $query = qq{
+      SELECT
+        tk.id,
+        tk.chart_id,
+        c.accno,
+        tk.tax_id,
+        t.taxdescription,
+        t.rate,
+        tk.taxkey_id, 
+        tk.pos_ustva, 
+        tk.startdate
+      FROM taxkeys tk
+      LEFT JOIN   tax t ON (t.id = tk.tax_id)
+      LEFT JOIN chart c ON (c.id = t.chart_id)
+
+      WHERE tk.chart_id = ?
+      ORDER BY startdate DESC 
+    };
+    $main::lxdebug->message(LXDebug::QUERY, "\$query=\n $query");
+    $sth = $dbh->prepare($query);
+
+    $sth->execute($form->{id}) || $form->dberror($query . " ($form->{id})");
+
+    $form->{ACCOUNT_TAXKEYS} = [];
+
+    while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+      push @{ $form->{ACCOUNT_TAXKEYS} }, $ref;
+    }
+
+    $sth->finish;    
+
   }
   # check if we have any transactions
   $query = qq|SELECT a.trans_id FROM acc_trans a
               WHERE a.chart_id = ?|;
+  $main::lxdebug->message(LXDebug::QUERY, "\$query=\n $query");
   $sth = $dbh->prepare($query);
   $sth->execute($form->{id}) || $form->dberror($query . " ($form->{id})");
 
@@ -126,6 +179,7 @@ sub get_account {
   if ($form->{new_chart_id}) {
     $query = qq|SELECT current_date-valid_from FROM chart
                 WHERE id = ?|;
+    $main::lxdebug->message(LXDebug::QUERY, "\$query=\n $query");
     my ($count) = selectrow_query($form, $dbh, $query, $form->{id});
     if ($count >=0) {
       $form->{new_chart_valid} = 1;
@@ -177,69 +231,189 @@ sub save_account {
 
   my @values;
 
-  my ($tax_id, $taxkey) = split(/--/, $form->{tax});
-  my $startdate = $form->{startdate} ? $form->{startdate} : "1970-01-01";
-
   if ($form->{id}) {
     $query = qq|UPDATE chart SET
-                accno = ?, description = ?, charttype = ?,
-                category = ?, link = ?,
-                taxkey_id = ?,
-                pos_ustva = ?, pos_bwa   = ?, pos_bilanz = ?,
-                pos_eur = ?, new_chart_id = ?, valid_from = ?
+                  accno = ?, 
+                  description = ?, 
+                  charttype = ?,
+                  category = ?, 
+                  link = ?,
+                  pos_bwa   = ?, 
+                  pos_bilanz = ?,
+                  pos_eur = ?, 
+                  new_chart_id = ?, 
+                  valid_from = ?,
+                  datevautomatik = ?
                 WHERE id = ?|;
-    @values = ($form->{accno}, $form->{description}, $form->{charttype},
-               $form->{category}, $form->{link},
-               conv_i($taxkey),
-               conv_i($form->{pos_ustva}), conv_i($form->{pos_bwa}),
-               conv_i($form->{pos_bilanz}), conv_i($form->{pos_eur}),
-               conv_i($form->{new_chart_id}),
-               conv_date($form->{valid_from}),
-               $form->{id});
-
-  } elsif ($form->{id} && !$form->{new_chart_valid}) {
-    $query = qq|UPDATE chart SET new_chart_id = ?, valid_from = ?
-                WHERE id = ?|;
-    @values = (conv_i($form->{new_chart_id}), conv_date($form->{valid_from}),
-               $form->{id});
-  } else {
-    $query = qq|INSERT INTO chart
-                (accno, description, charttype,
-                 category, link, taxkey_id,
-                 pos_ustva, pos_bwa, pos_bilanz, pos_eur,
-                 new_chart_id, valid_from)
-                VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)|;
-    @values = ($form->{accno}, $form->{description}, $form->{charttype},
-               $form->{category}, $form->{link}, conv_i($taxkey),
-               conv_i($form->{pos_ustva}), conv_i($form->{pos_bwa}),
-               conv_i($form->{pos_bilanz}), conv_i($form->{pos_eur}),
-               conv_i($form->{new_chart_id}),
-               conv_date($form->{valid_from}));
+                
+    @values = (   
+                  $form->{accno}, 
+                  $form->{description}, 
+                  $form->{charttype},
+                  $form->{category}, 
+                  $form->{link},
+                  conv_i($form->{pos_bwa}),
+                  conv_i($form->{pos_bilanz}), 
+                  conv_i($form->{pos_eur}),
+                  conv_i($form->{new_chart_id}),
+                  conv_date($form->{valid_from}),
+                  ($form->{datevautomatik} eq 'T') ? 'true':'false',
+                $form->{id},
+    );
+
+  } 
+  elsif ($form->{id} && !$form->{new_chart_valid}) {
+
+    $query = qq|
+                  UPDATE chart 
+                  SET new_chart_id = ?, 
+                  valid_from = ?
+                  WHERE id = ?
+             |;
+             
+    @values = (   
+                  conv_i($form->{new_chart_id}), 
+                  conv_date($form->{valid_from}),
+                  $form->{id}
+              );
+  } 
+  else {
+
+    $query = qq|
+                  INSERT INTO chart (
+                      accno, 
+                      description, 
+                      charttype,
+                      category, 
+                      link,
+                      pos_bwa, 
+                      pos_bilanz, 
+                      pos_eur,
+                      new_chart_id, 
+                      valid_from,
+                      datevautomatik )
+                  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+             |;
+
+    @values = (
+                      $form->{accno}, 
+                      $form->{description}, 
+                      $form->{charttype},
+                      $form->{category}, $form->{link},
+                      conv_i($form->{pos_bwa}),
+                      conv_i($form->{pos_bilanz}), conv_i($form->{pos_eur}),
+                      conv_i($form->{new_chart_id}),
+                      conv_date($form->{valid_from}),
+                      ($form->{datevautomatik} eq 'T') ? 'true':'false',
+              );
 
   }
+  
   do_query($form, $dbh, $query, @values);
 
-  #Save Taxes
-  if (!$form->{id}) {
-    $query =
-      qq|INSERT INTO taxkeys | .
-      qq|(chart_id, tax_id, taxkey_id, pos_ustva, startdate) | .
-      qq|VALUES ((SELECT id FROM chart WHERE accno = ?), ?, ?, ?, ?)|;
-    do_query($form, $dbh, $query,
-             $form->{accno}, conv_i($tax_id), conv_i($taxkey),
-             conv_i($form->{pos_ustva}), conv_date($startdate));
+  #Save Taxkeys
+
+  my @taxkeys = ();
+  
+  my $MAX_TRIES = 10; # Maximum count of taxkeys in form
+  my $tk_count;
+  
+  READTAXKEYS:
+  for $tk_count (0 .. $MAX_TRIES) {
+    
+    # Loop control
+    
+    # Check if the account already exists, else cancel
+    last READTAXKEYS if ( $form->{'id'} == 0);
+
+    # check if there is a startdate
+    if ( $form->{"taxkey_startdate_$tk_count"} eq '' ) {
+      $tk_count++;
+      next READTAXKEYS;
+    }
 
-  } else {
-    $query = qq|DELETE FROM taxkeys WHERE chart_id = ? AND tax_id = ?|;
-    do_query($form, $dbh, $query, $form->{id}, conv_i($tax_id));
+    # check if there is at least one relation to pos_ustva or tax_id
+    if ( $form->{"taxkey_pos_ustva_$tk_count"} eq '' && $form->{"taxkey_tax_$tk_count"} == 0 ) {
+      $tk_count++;
+      next READTAXKEYS;
+    }
 
-    $query =
-      qq|INSERT INTO taxkeys | .
-      qq|(chart_id, tax_id, taxkey_id, pos_ustva, startdate) | .
-      qq|VALUES (?, ?, ?, ?, ?)|;
-    do_query($form, $dbh, $query,
-             $form->{id}, conv_i($tax_id), conv_i($taxkey),
-             conv_i($form->{pos_ustva}), conv_date($startdate));
+    # Add valid taxkeys into the array
+    push @taxkeys , 
+      {
+        id        => ($form->{"taxkey_id_$tk_count"} eq 'NEW') ? conv_i('') : conv_i($form->{"taxkey_id_$tk_count"}),
+        tax_id    => conv_i($form->{"taxkey_tax_$tk_count"}),
+        startdate => conv_date($form->{"taxkey_startdate_$tk_count"}),
+        chart_id  => conv_i($form->{"id"}),
+        pos_ustva => conv_i($form->{"taxkey_pos_ustva_$tk_count"}),
+        delete    => ( $form->{"taxkey_del_$tk_count"} eq 'delete' ) ? '1' : '',
+      };
+      
+    $tk_count++;
+  }
+
+  TAXKEY:
+  for my $j (0 .. $#taxkeys){
+    if ( defined $taxkeys[$j]{'id'} ){
+      # delete Taxkey?
+      
+      if ($taxkeys[$j]{'delete'}){
+        $query = qq{
+          DELETE FROM taxkeys WHERE id = ?
+        };
+
+        @values = ($taxkeys[$j]{'id'});
+
+        do_query($form, $dbh, $query, @values);
+      
+        next TAXKEY;
+      }
+
+      # UPDATE Taxkey
+      
+      $query = qq{
+        UPDATE taxkeys
+        SET taxkey_id = (SELECT taxkey FROM tax WHERE tax.id = ?),
+            chart_id  = ?,
+            tax_id    = ?,
+            pos_ustva = ?,
+            startdate = ?
+        WHERE id = ?
+      };    
+      @values = (
+        $taxkeys[$j]{'tax_id'},
+        $taxkeys[$j]{'chart_id'},
+        $taxkeys[$j]{'tax_id'}, 
+        $taxkeys[$j]{'pos_ustva'},
+        $taxkeys[$j]{'startdate'}, 
+        $taxkeys[$j]{'id'},  
+      );
+      do_query($form, $dbh, $query, @values);
+    }
+    else {
+      # INSERT Taxkey
+      
+      $query = qq{
+        INSERT INTO taxkeys (
+          taxkey_id,
+          chart_id,
+          tax_id,
+          pos_ustva,
+          startdate
+        )
+        VALUES ((SELECT taxkey FROM tax WHERE tax.id = ?), ?, ?, ?, ?)
+      };    
+      @values = (
+        $taxkeys[$j]{'tax_id'}, 
+        $taxkeys[$j]{'chart_id'},  
+        $taxkeys[$j]{'tax_id'}, 
+        $taxkeys[$j]{'pos_ustva'},
+        $taxkeys[$j]{'startdate'}, 
+      );
+      
+      do_query($form, $dbh, $query, @values);
+    }
+  
   }
 
   # commit
@@ -289,6 +463,11 @@ sub delete_account {
               WHERE id = ?|;
   do_query($form, $dbh, $query, $form->{id});
 
+  # delete account taxkeys
+  $query = qq|DELETE FROM taxkeys
+              WHERE chart_id = ?|;
+  do_query($form, $dbh, $query, $form->{id});
+
   # commit and redirect
   my $rc = $dbh->commit;
   $dbh->disconnect;
index 56036e7..0c2a24f 100644 (file)
--- a/SL/CA.pm
+++ b/SL/CA.pm
@@ -41,7 +41,7 @@ use SL::DBUtils;
 sub all_accounts {
   $main::lxdebug->enter_sub();
 
-  my ($self, $myconfig, $form) = @_;
+  my ($self, $myconfig, $form, $chart_id) = @_;
 
   my %amount;
 
@@ -61,26 +61,45 @@ sub all_accounts {
   }
   $sth->finish;
 
-  $query =
-    qq!SELECT  c.accno, c.id, c.description, c.charttype, c.category, ! .
-    qq!  c.link, c.pos_bwa, c.pos_bilanz, c.pos_eur, c.valid_from, ! .
-    qq!  c.datevautomatik, comma(tk.startdate) AS startdate, ! .
-    qq!  comma(tk.taxkey_id) AS taxkey, ! .
-    qq!  comma(tx.taxdescription || to_char (tx.rate, '99V99' ) || '%') ! .
-    qq!    AS taxdescription, ! .
-    qq!  comma(tx.taxnumber) AS taxaccount, comma(tk.pos_ustva) ! .
-    qq!    AS tk_ustva, ! .
-    qq!  ( SELECT accno FROM chart c2 WHERE c2.id = c.id ) AS new_account ! .
-    qq!FROM chart c ! .
-    qq!LEFT JOIN taxkeys tk ON (c.id = tk.chart_id) ! .
-    qq!LEFT JOIN tax tx ON (tk.tax_id = tx.id) ! .
-    qq!GROUP BY c.accno, c.id, c.description, c.charttype, ! .
-    qq!  c.category, c.link, c.pos_bwa, c.pos_bilanz, c.pos_eur, ! .
-    qq!  c.valid_from, c.datevautomatik ! .
-    qq!ORDER BY c.accno!;
+  my $where = "AND c.id = $chart_id" if ($chart_id ne '');
+
+  $query = qq{
+    SELECT 
+      c.accno,
+      c.id,
+      c.description,
+      c.charttype,
+      c.category,
+      c.link,
+      c.pos_bwa,
+      c.pos_bilanz,
+      c.pos_eur,
+      c.valid_from,
+      c.datevautomatik,
+      comma(tk.startdate) AS startdate,
+      comma(tk.taxkey_id) AS taxkey,
+      comma(tx.taxdescription || to_char (tx.rate, '99V99' ) || '%') AS taxdescription,
+      comma(tx.taxnumber) AS taxaccount,
+      comma(tk.pos_ustva) AS tk_ustva,
+      ( SELECT accno
+      FROM chart c2
+      WHERE c2.id = c.id
+      ) AS new_account
+    FROM chart c
+    LEFT JOIN taxkeys tk ON (c.id = tk.chart_id)
+    LEFT JOIN tax tx ON (tk.tax_id = tx.id)
+    WHERE 1=1
+    $where
+    GROUP BY c.accno, c.id, c.description, c.charttype, c.gifi_accno,
+      c.category, c.link, c.pos_bwa, c.pos_bilanz, c.pos_eur, c.valid_from,      
+      c.datevautomatik
+    ORDER BY c.accno
+  };
+
   my $sth = prepare_execute_query($form, $dbh, $query);
 
   $form->{CA} = [];
+
   while (my $ca = $sth->fetchrow_hashref(NAME_lc)) {
     $ca->{amount} = $amount{ $ca->{accno} };
     if ($ca->{amount} < 0) {
index 3bab6aa..094e32a 100644 (file)
@@ -35,6 +35,9 @@ use SL::AM;
 use SL::CA;
 use SL::Form;
 use SL::User;
+use SL::USTVA;
+use CGI::Ajax;
+use CGI;
 
 use Data::Dumper;
 
@@ -86,134 +89,108 @@ sub edit_account {
 sub account_header {
   $lxdebug->enter_sub();
 
+  if ( $form->{action} eq 'edit_account') {
+    $form->{account_exists} = '1';
+  } 
+  
   $form->{title} = $locale->text("$form->{title} Account");
 
-  $checked{ $form->{charttype} } = "checked";
-  $checked{"$form->{category}_"} = "checked";
-  $checked{CT_tax} = ($form->{CT_tax}) ? "" : "checked";
+  $form->{"$form->{charttype}_checked"} = "checked";
+  $form->{"$form->{category}_checked"}  = "checked";
 
-  $form->{description} =~ s/\"/&quot;/g;
+  $form->{select_tax} = "";
+
+  my @tax_report_pos = USTVA->report_variables({
+      myconfig   => \%myconfig, 
+      form       => $form, 
+      type       => '', 
+      attribute  => 'position',
+      calc       => '',
+  });
 
   if (@{ $form->{TAXKEY} }) {
     foreach my $item (@{ $form->{TAXKEY} }) {
-
       $item->{rate} = $item->{rate} * 100 . '%';
+    }
 
-      if ($item->{tax} == $form->{tax}) {
-        $form->{selecttaxkey} .=
-          "<option value=$item->{tax} selected>$item->{taxdescription} ($item->{rate})\n";
-      } else {
-        $form->{selecttaxkey} .=
-          "<option value=$item->{tax}>$item->{taxdescription} ($item->{rate})\n";
-      }
+    # Fill in empty row for new Taxkey
+    $newtaxkey_ref = {
+      id             => '',
+      chart_id       => '',
+      accno          => '',
+      tax_id         => '',
+      taxdescription => '',
+      rate           => '',
+      taxkey_id      => '',
+      pos_ustva      => '',
+      startdate      => '',
+    };
+
+    push @{ $form->{ACCOUNT_TAXKEYS} }, $newtaxkey_ref;
+
+    my $i = 0;
+    foreach my $taxkey_used (@{ $form->{ACCOUNT_TAXKEYS} } ) {
+
+      # Fill in a runningnumber
+      $form->{ACCOUNT_TAXKEYS}[$i]{runningnumber} = $i;
+
+      # Fill in the Taxkeys as select options
+      foreach my $item (@{ $form->{TAXKEY} }) {
+        if ($item->{id} == $taxkey_used->{tax_id}) {
+          $form->{ACCOUNT_TAXKEYS}[$i]{selecttaxkey} .=
+            qq|<option value="$item->{id}" selected="selected">|
+            . sprintf("%.2d", $item->{taxkey}) 
+            . qq|. $item->{taxdescription} ($item->{rate}) |
+            . $locale->text('Tax-o-matic Account: ') 
+            . qq|$item->{chart_accno}\n|;
+        } 
+        else {
+          $form->{ACCOUNT_TAXKEYS}[$i]{selecttaxkey} .=
+            qq|<option value="$item->{id}">|
+            . sprintf("%.2d", $item->{taxkey}) 
+            . qq|. $item->{taxdescription} ($item->{rate}) |
+            . $locale->text('Tax-o-matic Account: ')
+            . qq|$item->{chart_accno}\n|;
+        }
 
+      }
+      
+      # Fill in the USTVA Numbers as select options
+      foreach my $item ( '', sort({ $a cmp $b } @tax_report_pos) ) {
+        if ($item eq ''){
+          $form->{ACCOUNT_TAXKEYS}[$i]{select_tax} .= qq|<option value="" selected="selected">-\n|;
+        } 
+        elsif ( $item == $taxkey_used->{pos_ustva} ) {
+          $form->{ACCOUNT_TAXKEYS}[$i]{select_tax} .= qq|<option value="$item" selected="selected">$item\n|;
+        }
+        else {
+          $form->{ACCOUNT_TAXKEYS}[$i]{select_tax} .= qq|<option value="$item">$item\n|;
+        }
+
+      }      
+
+      $i++;
     }
   }
 
-  $taxkey = qq|
-             <tr>
-               <th align=right>| . $locale->text('Steuersatz') . qq|</th>
-               <td><select name=tax>$form->{selecttaxkey}</select></td>
-               <th align=right>| . $locale->text('Gültig ab') . qq|</th>
-                <td><input name=startdate value="$form->{startdate}"></td>
-             </tr>|;
-
+  # Newaccount Folgekonto 
   if (@{ $form->{NEWACCOUNT} }) {
     if (!$form->{new_chart_valid}) {
-      $form->{selectnewaccount} = "<option value=></option>";
+      $form->{selectnewaccount} = qq|<option value=""> |. $locale->text('None') .q|</option>|;
     }
     foreach $item (@{ $form->{NEWACCOUNT} }) {
       if ($item->{id} == $form->{new_chart_id}) {
         $form->{selectnewaccount} .=
-          "<option value=$item->{id} selected>$item->{accno}--$item->{description}</option>";
+          qq|<option value="$item->{id}" selected>$item->{accno}--$item->{description}</option>|;
       } elsif (!$form->{new_chart_valid}) {
         $form->{selectnewaccount} .=
-          "<option value=$item->{id}>$item->{accno}--$item->{description}</option>";
+          qq|<option value="$item->{id}">$item->{accno}--$item->{description}</option>|;
       }
 
     }
   }
 
-  $newaccount = qq|
-             <tr>
-                <td colspan=2>
-                  <table>
-                    <tr>
-                     <th align=right>| . $locale->text('Folgekonto') . qq|</th>
-                     <td><select name=new_chart_id>$form->{selectnewaccount}</select></td>
-                      <th align=right>| . $locale->text('Gültig ab') . qq|</th>
-                     <td><input name=valid_from value="$form->{valid_from}"></td>
-                    </tr>
-                  </table>
-                </td>
-             </tr>|;
-
-  $form->{selectustva} = "<option>\n";
-
-  %ustva = (35  => $locale->text('UStVA-Nr. 35'),
-            36  => $locale->text('UStVA-Nr. 36'),
-            39  => $locale->text('UStVA-Nr. 39'),
-            41  => $locale->text('UStVA-Nr. 41'),
-            42  => $locale->text('UStVA-Nr. 42'),
-            43  => $locale->text('UStVA-Nr. 43'),
-            44  => $locale->text('UStVA-Nr. 44'),
-            45  => $locale->text('UStVA-Nr. 45'),
-            48  => $locale->text('UStVA-Nr. 48'),
-            49  => $locale->text('UStVA-Nr. 49'),
-            51  => $locale->text('UStVA-Nr. 51 left'),
-            511 => $locale->text('UStVA-Nr. 51 right'),
-            52  => $locale->text('UStVA-Nr. 52'),
-            53  => $locale->text('UStVA-Nr. 53'),
-            59  => $locale->text('UStVA-Nr. 59'),
-            60  => $locale->text('UStVA-Nr. 60'),
-            61  => $locale->text('UStVA-Nr. 61'),
-            62  => $locale->text('UStVA-Nr. 62'),
-            63  => $locale->text('UStVA-Nr. 63'),
-            64  => $locale->text('UStVA-Nr. 64'),
-            65  => $locale->text('UStVA-Nr. 65'),
-            66  => $locale->text('UStVA-Nr. 66'),
-            67  => $locale->text('UStVA-Nr. 67'),
-            69  => $locale->text('UStVA-Nr. 69'),
-            73  => $locale->text('UStVA-Nr. 73'),
-            74  => $locale->text('UStVA-Nr. 74'),
-            76  => $locale->text('UStVA-Nr. 76'),
-            77  => $locale->text('UStVA-Nr. 77'),
-            80  => $locale->text('UStVA-Nr. 80'),
-            81  => $locale->text('UStVA-Nr. 81 left'),
-            811 => $locale->text('UStVA-Nr. 81 right'),
-            84  => $locale->text('UStVA-Nr. 84'),
-            85  => $locale->text('UStVA-Nr. 85'),
-            86  => $locale->text('UStVA-Nr. 86 left'),
-            861 => $locale->text('UStVA-Nr. 86 right'),
-            89  => $locale->text('UStVA-Nr. 89 left'),
-            891 => $locale->text('UStVA-Nr. 89 right'),
-            91  => $locale->text('UStVA-Nr. 91'),
-            93  => $locale->text('UStVA-Nr. 93 left'),
-            931 => $locale->text('UStVA-Nr. 93 right'),
-            94  => $locale->text('UStVA-Nr. 94'),
-            95  => $locale->text('UStVA-Nr. 95'),
-            96  => $locale->text('UStVA-Nr. 96'),
-            97  => $locale->text('UStVA-Nr. 97 links'),
-            971 => $locale->text('UStVA-Nr. 97 rechts'),
-            98  => $locale->text('UStVA-Nr. 98'));
-
-  foreach $item (sort({ $a cmp $b } keys %ustva)) {
-    if ($item == $form->{pos_ustva}) {
-      $form->{selectustva} .= "<option value=$item selected>$ustva{$item}\n";
-    } else {
-      $form->{selectustva} .= "<option value=$item>$ustva{$item}\n";
-    }
-
-  }
-
-  $ustva = qq|
-             <tr>
-               <th align=right>| . $locale->text('Umsatzsteuervoranmeldung') . qq|</th>
-               <td><select name=pos_ustva>$form->{selectustva}</select></td>
-               <input type=hidden name=selectustva value="$form->{selectustva}">
-             </tr>|;
-
-  $form->{selecteur} = "<option>\n";
+  $select_eur = q|<option value=""> |. $locale->text('None') .q|</option>\n|;
   %eur = (1  => "Umsatzerlöse",
           2  => "sonstige Erlöse",
           3  => "Privatanteile",
@@ -247,21 +224,14 @@ sub account_header {
           31 => "Betriebliche Steuern");
   foreach $item (sort({ $a <=> $b } keys(%eur))) {
     if ($item == $form->{pos_eur}) {
-      $form->{selecteur} .= "<option value=$item selected>$eur{$item}\n";
+      $select_eur .= qq|<option value=$item selected>|. sprintf("%.2d", $item) .qq|. $eur{$item}</option>\n|;
     } else {
-      $form->{selecteur} .= "<option value=$item>$eur{$item}\n";
+      $select_eur .= qq|<option value=$item>|. sprintf("%.2d", $item) .qq|. $eur{$item}</option>\n|;
     }
 
   }
 
-  $eur = qq|
-             <tr>
-               <th align=right>| . $locale->text('EUER') . qq|</th>
-               <td><select name=pos_eur>$form->{selecteur}</select></td>
-               <input type=hidden name=selecteur value="$form->{selecteur}">
-             </tr>|;
-
-  $form->{selectbwa} = "<option>\n";
+  $select_bwa = q|<option value=""> |. $locale->text('None') .q|</option>\n|;
 
   %bwapos = (1  => 'Umsatzerlöse',
              2  => 'Best.Verdg.FE/UE',
@@ -287,193 +257,87 @@ sub account_header {
              35 => 'Steuern Eink.u.Ertr.');
   foreach $item (sort({ $a <=> $b } keys %bwapos)) {
     if ($item == $form->{pos_bwa}) {
-      $form->{selectbwa} .= "<option value=$item selected>$bwapos{$item}\n";
+      $select_bwa .= qq|<option value="$item" selected>|. sprintf("%.2d", $item) .qq|. $bwapos{$item}\n|;
     } else {
-      $form->{selectbwa} .= "<option value=$item>$bwapos{$item}\n";
+      $select_bwa .= qq|<option value="$item">|. sprintf("%.2d", $item) .qq|. $bwapos{$item}\n|;
     }
 
   }
 
-  $bwa = qq|
-             <tr>
-               <th align=right>| . $locale->text('BWA') . qq|</th>
-               <td><select name=pos_bwa>$form->{selectbwa}</select></td>
-               <input type=hidden name=selectbwa value="$form->{selectbwa}">
-             </tr>|;
+# Wieder hinzugefügt zu evaluationszwecken (us) 09.03.2007
+  $select_bilanz = q|<option value=""> |. $locale->text('None') .q|</option>\n|;
+  foreach $item ((1, 2, 3, 4)) {
+    if ($item == $form->{pos_bilanz}) {
+      $select_bilanz .= qq|<option value=$item selected>|. sprintf("%.2d", $item) .qq|.\n|;
+    } else {
+      $select_bilanz .= qq|<option value=$item>|. sprintf("%.2d", $item) .qq|.\n|;
+    }
 
-# Entfernt bis es ordentlich umgesetzt wird (hli) 30.03.2006
-#  $form->{selectbilanz} = "<option>\n";
-#  foreach $item ((1, 2, 3, 4)) {
-#    if ($item == $form->{pos_bilanz}) {
-#      $form->{selectbilanz} .= "<option value=$item selected>$item\n";
-#    } else {
-#      $form->{selectbilanz} .= "<option value=$item>$item\n";
-#    }
-#
-#  }
-#
-#  $bilanz = qq|
-#            <tr>
-#              <th align=right>| . $locale->text('Bilanz') . qq|</th>
-#              <td><select name=pos_bilanz>$form->{selectbilanz}</select></td>
-#              <input type=hidden name=selectbilanz value="$form->{selectbilanz}">
-#            </tr>|;
-
-  # this is for our parser only!
+  }
+
+  # this is for our parser only! Do not remove.
   # type=submit $locale->text('Add Account')
   # type=submit $locale->text('Edit Account')
+  
   $form->{type} = "account";
 
-  $form->header;
-
-  print qq|
-<body>
-
-<form method=post action=$form->{script}>
+  # preselections category
+  $select_category = q|<option value=""> |. $locale->text('None') .q|</option>\n|;
+
+  %category = (
+      'A'  => $locale->text('Asset'),
+      'L'  => $locale->text('Liability'),
+      'Q'  => $locale->text('Equity'),
+      'I'  => $locale->text('Revenue'),      
+      'E'  => $locale->text('Expense'),
+      'C'  => $locale->text('Costs'),
+  );
+  foreach $item ( sort({ $a <=> $b } keys %category) ) {
+    if ($item eq $form->{category}) {
+      $select_category .= qq|<option value="$item" selected="selected">$category{$item} (|. sprintf("%s", $item) .qq|)\n|;
+    } else {
+      $select_category .= qq|<option value="$item">$category{$item} (|. sprintf("%s", $item) .qq|)\n|;
+    }
 
-<input type=hidden name=id value=$form->{id}>
-<input type=hidden name=type value=account>
-<input type=hidden name=orphaned value=$form->{orphaned}>
-<input type=hidden name=new_chart_valid value=$form->{new_chart_valid}>
+  }
+  
+  # preselection chart type
+  my $select_charttype = q{};
 
-<input type=hidden name=inventory_accno_id value=$form->{inventory_accno_id}>
-<input type=hidden name=income_accno_id value=$form->{income_accno_id}>
-<input type=hidden name=expense_accno_id value=$form->{expense_accno_id}>
-<input type=hidden name=fxgain_accno_id value=$form->{fxgain_accno_id}>
-<input type=hidden name=fxloss_accno_id value=$form->{fxloss_accno_id}>
+  my %charttype = (
+      'A'  => $locale->text('Account'),
+      'H'  => $locale->text('Header'),
+  );
+  
+  foreach $item ( sort({ $a <=> $b } keys %charttype) ) {
+    if ($item eq $form->{charttype}) {
+      $select_charttype .= qq|<option value="$item" selected="selected">$charttype{$item}\n|;
 
-<table border=0 width=100%>
-  <tr>
-    <th class=listtop>$form->{title}</th>
-  </tr>
-  <tr height="5"></tr>
-  <tr valign=top>
-    <td>
-      <table>
-       <tr>
-         <th align=right>| . $locale->text('Account Number') . qq|</th>
-         <td><input name=accno size=20 value=$form->{accno}></td>
-       </tr>
-       <tr>
-         <th align=right>| . $locale->text('Description') . qq|</th>
-         <td><input name=description size=40 value="$form->{description}"></td>
-       </tr>
-       <tr>
-         <th align=right>| . $locale->text('Account Type') . qq|</th>
-         <td>
-           <table>
-             <tr valign=top>
-               <td><input name=category type=radio class=radio value=A $checked{A_}>&nbsp;|
-    . $locale->text('Asset') . qq|\n<br>
-               <input name=category type=radio class=radio value=L $checked{L_}>&nbsp;|
-    . $locale->text('Liability') . qq|\n<br>
-               <input name=category type=radio class=radio value=Q $checked{Q_}>&nbsp;|
-    . $locale->text('Equity') . qq|\n<br>
-               <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|<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;|
-    . $locale->text('Heading') . qq|<br>
-               <input name=charttype type=radio class=radio value="A" $checked{A}>&nbsp;|
-    . $locale->text('Account') . qq|</td>
-             </tr>
-           </table>
-         </td>
-       </tr>
-|;
+    } else {
+      $select_charttype .= qq|<option value="$item">$charttype{$item}\n|;
+    }
 
-  if ($form->{charttype} eq "A") {
-    print qq|
-       <tr>
-         <td colspan=2>
-           <table>
-             <tr>
-               <th align=left>|
-      . $locale->text('Is this a summary account to record') . qq|</th>
-               <td>
-               <input name=AR type=checkbox class=checkbox value=AR $form->{AR}>&nbsp;|
-      . $locale->text('AR')
-      . qq|&nbsp;<input name=AP type=checkbox class=checkbox value=AP $form->{AP}>&nbsp;|
-      . $locale->text('AP')
-      . qq|&nbsp;<input name=IC type=checkbox class=checkbox value=IC $form->{IC}>&nbsp;|
-      . $locale->text('Inventory')
-      . qq|</td>
-             </tr>
-           </table>
-         </td>
-       </tr>
-       <tr>
-         <th colspan=2>| . $locale->text('Include in drop-down menus') . qq|</th>
-       </tr>
-       <tr valign=top>
-         <td colspan=2>
-           <table width=100%>
-             <tr>
-               <th align=left>| . $locale->text('Receivables') . qq|</th>
-               <th align=left>| . $locale->text('Payables') . qq|</th>
-               <th align=left>| . $locale->text('Parts Inventory') . qq|</th>
-               <th align=left>| . $locale->text('Service Items') . qq|</th>
-             </tr>
-             <tr>
-               <td>
-               <input name=AR_amount type=checkbox class=checkbox value=AR_amount $form->{AR_amount}>&nbsp;|
-      . $locale->text('Revenue') . qq|\n<br>
-               <input name=AR_paid type=checkbox class=checkbox value=AR_paid $form->{AR_paid}>&nbsp;|
-      . $locale->text('Receipt') . qq|\n<br>
-               <input name=AR_tax type=checkbox class=checkbox value=AR_tax $form->{AR_tax}>&nbsp;|
-      . $locale->text('Tax') . qq|
-               </td>
-               <td>
-               <input name=AP_amount type=checkbox class=checkbox value=AP_amount $form->{AP_amount}>&nbsp;|
-      . $locale->text('Expense/Asset') . qq|\n<br>
-               <input name=AP_paid type=checkbox class=checkbox value=AP_paid $form->{AP_paid}>&nbsp;|
-      . $locale->text('Payment') . qq|\n<br>
-               <input name=AP_tax type=checkbox class=checkbox value=AP_tax $form->{AP_tax}>&nbsp;|
-      . $locale->text('Tax') . qq|
-               </td>
-               <td>
-               <input name=IC_sale type=checkbox class=checkbox value=IC_sale $form->{IC_sale}>&nbsp;|
-      . $locale->text('Revenue') . qq|\n<br>
-               <input name=IC_cogs type=checkbox class=checkbox value=IC_cogs $form->{IC_cogs}>&nbsp;|
-      . $locale->text('Expense') . qq|\n<br>
-               <input name=IC_taxpart type=checkbox class=checkbox value=IC_taxpart $form->{IC_taxpart}>&nbsp;|
-      . $locale->text('Tax') . qq|
-               </td>
-               <td>
-               <input name=IC_income type=checkbox class=checkbox value=IC_income $form->{IC_income}>&nbsp;|
-      . $locale->text('Revenue') . qq|\n<br>
-               <input name=IC_expense type=checkbox class=checkbox value=IC_expense $form->{IC_expense}>&nbsp;|
-      . $locale->text('Expense') . qq|\n<br>
-               <input name=IC_taxservice type=checkbox class=checkbox value=IC_taxservice $form->{IC_taxservice}>&nbsp;|
-      . $locale->text('Tax') . qq|
-               </td>
-             </tr>
-           </table>
-         </td>
-       </tr>
-|;
   }
 
-  print qq|
-        $taxkey
-        $ustva
-        $eur
-       $bwa
-        $bilanz
-      </table>
-    </td>
-  </tr>
-  $newaccount
-  <tr>
-    <td><hr size=3 noshade></td>
-  </tr>
-</table>
-|;
+  my $ChartTypeIsAccount = ($form->{charttype} eq "A") ? "1":"";
+  
+  $form->header();
+  
+  my $parameters_ref = {
+    ChartTypeIsAccount         => $ChartTypeIsAccount,
+    select_category            => $select_category,
+    select_charttype           => $select_charttype,
+    newaccount                 => $newaccount,
+    checked                    => $checked,
+    select_bwa                 => $select_bwa,
+    select_bilanz              => $select_bilanz,
+    select_eur                 => $select_eur,
+  };
+  
+  # Ausgabe des Templates
+  print($form->parse_html_template('am/edit_accounts', $parameters_ref));
+
 
   $lxdebug->leave_sub();
 }
@@ -514,8 +378,12 @@ sub form_footer {
 sub save_account {
   $lxdebug->enter_sub();
 
-  $form->isblank("accno",    $locale->text('Account Number missing!'));
-  $form->isblank("category", $locale->text('Account Type missing!'));
+  $form->isblank("accno",       $locale->text('Account Number missing!'));
+  $form->isblank("description", $locale->text('Account Description missing!'));
+  
+  if ($form->{charttype} eq 'A'){
+    $form->isblank("category",  $locale->text('Account Type missing!'));
+  }
 
   $form->redirect($locale->text('Account saved!'))
     if (AM->save_account(\%myconfig, \%$form));
@@ -535,6 +403,76 @@ sub list_account {
   $callback =
     "$form->{script}?action=list_account&login=$form->{login}&password=$form->{password}";
 
+
+
+  # escape callback
+  $callback = $form->escape($callback);
+
+  foreach $ca (@{ $form->{CA} }) {
+
+    $ca->{debit}  = "&nbsp;";
+    $ca->{credit} = "&nbsp;";
+
+    if ($ca->{amount} > 0) {
+      $ca->{credit} =
+        $form->format_amount(\%myconfig, $ca->{amount}, 2, "&nbsp;");
+    }
+    if ($ca->{amount} < 0) {
+      $ca->{debit} =
+        $form->format_amount(\%myconfig, -1 * $ca->{amount}, 2, "&nbsp;");
+    }
+    $ca->{heading}   = ( $ca->{charttype} eq 'H' ) ? 1:''; 
+    $ca->{link_edit_account} = 
+        qq|$form->{script}?action=edit_account&id=$ca->{id}|
+       .qq|&path=$form->{path}&login=$form->{login}|
+       .qq|&password=$form->{password}&callback=$callback|;
+  }
+  
+  # Ajax 
+  my $list_account_details_url = 
+              "$form->{script}?login=$form->{login}&path=$form->{path}"
+             ."&password=$form->{password}&action=list_account_details&";
+  
+  
+  my $pjx = new CGI::Ajax( 
+             'list_account_details' => $list_account_details_url 
+  );
+
+  # Eneable AJAX debuging
+  #$pjx->DEBUG(1);
+  #$pjx->JSDEBUG(1);
+    
+  push(@ { $form->{AJAX} }, $pjx);
+  
+  $form->header;
+  
+  
+  my $parameters_ref = {
+  #   hidden_variables                => $_hidden_variables_ref,
+  };
+  
+  # Ausgabe des Templates
+  print($form->parse_html_template('am/list_accounts', $parameters_ref));
+  
+  $lxdebug->leave_sub();
+
+}
+
+
+sub list_account_details {
+# Ajax Funktion aus list_account_details  
+  $lxdebug->enter_sub();
+
+  my $chart_id = $form->{args};
+  
+  CA->all_accounts(\%myconfig, \%$form, $chart_id);
+
+  $form->{title} = $locale->text('Chart of Accounts');
+
+  # construct callback
+  $callback =
+    "$form->{script}?action=list_account&path=$form->{path}&login=$form->{login}&password=$form->{password}";
+
   $form->header;
 
   # escape callback
@@ -551,7 +489,7 @@ sub list_account {
     }
     if ($ca->{amount} < 0) {
       $ca->{debit} =
-        $form->format_amount(\%myconfig, -$ca->{amount}, 2, "&nbsp;");
+        $form->format_amount(\%myconfig, -1 * $ca->{amount}, 2, "&nbsp;");
     }
 
     my @links = split( q{:}, $ca->{link});
@@ -574,10 +512,10 @@ sub list_account {
                : ( $link eq 'IC_income' )     ? $locale->text('Account Link IC_income')
                : ( $link eq 'IC_expense' )    ? $locale->text('Account Link IC_expense')
                : ( $link eq 'IC_taxservice' ) ? $locale->text('Account Link IC_taxservice')
-               : ( $link eq 'CT_tax' )        ? $locale->text('Account Link CT_tax')
+#               : ( $link eq 'CT_tax' )        ? $locale->text('Account Link CT_tax')
                : $locale->text('Unknown Link') . ': ' . $link;
       
-      $ca->{link} .= qq|[| . $link . qq|]&nbsp;|;
+      $ca->{link} .= ($link ne '') ?  "[$link] ":'';
     }
     
     $ca->{startdate}      =~ s/,/<br>/og;
@@ -585,7 +523,7 @@ sub list_account {
     $ca->{taxkey}         =~ s/,/<br>/og;
     $ca->{taxaccount}     =~ s/,/<br>/og;
     $ca->{taxdescription} =~ s/,/<br>/og;
-    $ca->{datevautomatik} = ($ca->{datevautomatik}) ? $locale->text('On'):q{};
+    $ca->{datevautomatik} = ($ca->{datevautomatik}) ? $locale->text('On'):$locale->text('Off');
 
     $ca->{category} = ($ca->{category} eq 'A') ? $locale->text('Account Category A')
                     : ($ca->{category} eq 'E') ? $locale->text('Account Category E')
@@ -601,7 +539,10 @@ sub list_account {
        .qq|&login=$form->{login}|
        .qq|&password=$form->{password}&callback=$callback|;
   }
-  
+
+
+
+
   my $parameters_ref = {
   
   
@@ -609,10 +550,13 @@ sub list_account {
   };
   
   # Ausgabe des Templates
-  print($form->parse_html_template('am/list_accounts', $parameters_ref));
+  #my $q = CGI->new();
+  my $result = $form->parse_html_template('am/list_account_details', $parameters_ref);
   
+  print $result;
+#  print "chart_id:$chart_id, form->chartid:$form->{chart_id}, rest=$rest";
+      
   $lxdebug->leave_sub();
-  
 
 }
 
index 3c435af..181e414 100644 (file)
@@ -123,8 +123,16 @@ body.menu {
        border-style:dotted;
        border-width:thin;
 }
-       
-       
+
+.accountlistheading { 
+       font-size: 10pt; 
+       padding:3px;
+       color: white; 
+       font-weight: bold;
+       text-align:left;
+       background-color:rgb(133,132,129);
+}
+
 .subsubheading {
   color: black;
   font-weight: bolder;
@@ -181,6 +189,11 @@ h2.error {
   font-size: 14pt;
 }
 
+fieldset {
+  margin-top:15px;
+  color: black;
+  font-weight: bolder;
+}
 
 /* media stuff */
 
diff --git a/js/FormManager.js b/js/FormManager.js
new file mode 100644 (file)
index 0000000..ae70b58
--- /dev/null
@@ -0,0 +1,138 @@
+/*
+       Form Manager: A simple method of constructing complex dynamic forms.
+       Written by Twey, http://www.twey.co.uk/.
+       Use, copying, and modification allowed, so long as credit
+       remains intact, under the terms of the GNU General Public License,
+       version 2 or later. See http://www.gnu.org/copyleft/gpl.html for details.
+*/
+
+
+var FORM_MANAGER_CONDITION_SEPARATOR = " AND ";
+var FORM_MANAGER_POSSIBILITY_SEPARATOR = " OR ";
+var FORM_MANAGER_NAME_VALUE_SEPARATOR = " BEING ";
+var FORM_MANAGER_DEPENDS = "DEPENDS ON ";
+var FORM_MANAGER_CONFLICTS = "CONFLICTS WITH ";
+var FORM_MANAGER_EMPTY = "EMPTY";
+
+function addEvent(el, ev, f) {
+  if(el.addEventListener)
+    el.addEventListener(ev, f, false);
+  else if(el.attachEvent) {
+    var t = function() {
+      f.apply(el);
+    };
+    addEvent.events.push({'element': el, 'event': ev, 'handler': f});
+    el.attachEvent("on" + ev, t);
+  } else
+    el['on' + ev] = f;
+}
+
+function addEvents(els, evs, f) {
+  for(var i = 0; i < els.length; ++i)
+    for(var j = 0; j < evs.length; ++j)
+      addEvent(els[i], evs[j], f);
+}
+
+addEvent.events = [];
+
+if(typeof window.event !== "undefined")
+  addEvent(window, "unload", function() {
+      for(var i = 0, e = addEvent.events; i < e.length; ++i)
+        e[i].element.detachEvent("on" + e[i].event, e[i].handler);
+    }
+  );
+
+function getRadioValue(el) {
+  if(!el.length) return null;
+  for(var i = 0; i < el.length; ++i)
+    if(el[i].checked) return el[i].value;
+  return null;
+}
+
+function getSelectValue(el) {
+  if(!el.tagName  || el.tagName.toLowerCase() !== "select")
+    return null;
+  return el.options[el.selectedIndex].value;
+}
+
+function isElementValue(el, v) {
+  if(v === FORM_MANAGER_EMPTY) v = '';
+  return (
+    getRadioValue(el) == v ||
+    getSelectValue(el) == v ||
+    (
+      el.tagName &&
+      el.tagName.toLowerCase() !== "select" &&
+      el.value == v
+    )
+  );
+}
+
+function setupDependencies() {
+  var showEl = function() {
+    this.style.display = "";
+    if(this.parentNode.tagName.toLowerCase() == "label")
+      this.parentNode.style.display = "";
+  };
+  var hideEl = function() {
+    this.style.display = "none";
+    if(typeof this.checked !== "undefined") this.checked = false;
+    else this.value = "";
+    if(this.parentNode.tagName.toLowerCase() == "label")
+      this.parentNode.style.display = "none";
+    this.hidden = true;
+  };
+  var calcDeps = function() {
+    for(var i = 0, e = this.elements; i < e.length; ++i) {
+      e[i].hidden = false;
+      for(var j = 0, f = e[i].className.split(FORM_MANAGER_CONDITION_SEPARATOR); j < f.length; ++j)
+        if(f[j].indexOf(FORM_MANAGER_DEPENDS) === 0) {
+          for(var k = 0, g = f[j].substr(FORM_MANAGER_DEPENDS.length).split(FORM_MANAGER_POSSIBILITY_SEPARATOR); k < g.length; ++k)
+            if(g[k].indexOf(FORM_MANAGER_NAME_VALUE_SEPARATOR) === -1) {
+             if(e[g[k]] && e[g[k]].checked) break;
+            else if(k + 1 == g.length)
+                e[i].hide();
+            } else {
+              var n = g[k].split(FORM_MANAGER_NAME_VALUE_SEPARATOR),
+                v = n[1];
+              n = n[0];
+             if(e[n])
+               if(isElementValue(e[n], v)) break;
+               else if(k + 1 == g.length) e[i].hide();
+           }
+        } else if(f[j].indexOf(FORM_MANAGER_CONFLICTS) === 0) {
+          if(f[j].indexOf(FORM_MANAGER_NAME_VALUE_SEPARATOR) === -1) {
+           if(e[f[j].substr(FORM_MANAGER_CONFLICTS.length)] && e[f[j].substr(FORM_MANAGER_CONFLICTS.length)].checked) {
+              e[i].hide();
+              break;
+            }
+          } else {
+            var n = f[j].substr(FORM_MANAGER_CONFLICTS.length).split(FORM_MANAGER_NAME_VALUE_SEPARATOR),
+              v = n[1];
+            n = n[0];
+            if(e[n]) {
+              if(isElementValue(e[n], v)) {
+                e[i].hide();
+                break;
+              }
+            }
+          }
+        }
+      if(!e[i].hidden) e[i].show();
+    }
+  };
+  var changeHandler = function() {
+    this.form.calculateDependencies();
+    return true;
+  };
+  for(var i = 0; i < arguments.length; ++i) {
+    for(var j = 0, e = window.document.forms[arguments[i]].elements; j < e.length; ++j) {
+      addEvents([e[j]], ["change", "keyup", "focus", "click", "keydown"], changeHandler);
+      e[j].hide = hideEl;
+      e[j].show = showEl;
+    }
+
+    (e = window.document.forms[arguments[i]]).calculateDependencies = calcDeps;
+    e.calculateDependencies();
+  }
+}
index 046e4a6..ce8a637 100644 (file)
@@ -51,7 +51,7 @@ $self->{texts} = {
   'Account Category I'          => 'Erlöskonto',
   'Account Category L'          => 'Passiva/Mittelherkunft',
   'Account Category Q'          => 'Passiva',
-  'Account ID'                  => 'Konto-ID',
+  'Account Description missing!' => 'Beschreibung fehlt!',
   'Account Link AP'             => 'Einkauf',
   'Account Link AP_amount'      => 'Verbindlichkeiten Aufwand/Anlagen',
   'Account Link AP_paid'        => 'Verbindlichkeiten Zahlungsausgang',
@@ -248,6 +248,7 @@ aktualisieren wollen?',
   'Change Admin Password'       => 'Administratorpasswort ändern',
   'Change Password'             => 'Passwort ändern',
   'Character Set'               => 'Zeichensatz',
+  'Chart Type'                  => 'Kontentyp',
   'Chart of Accounts'           => 'Kontenübersicht',
   'Chart of accounts'           => 'Kontenrahmen',
   'Check'                       => '',
@@ -340,7 +341,7 @@ aktualisieren wollen?',
   'Date Paid'                   => 'Zahlungsdatum',
   'Date missing!'               => 'Datum fehlt!',
   'Datenträgernummer'           => 'Datenträgernummer',
-  'Datev'                       => '',
+  'Datevautomatik'              => 'Datevexport',
   'Datum von'                   => 'Datum von',
   'Debit'                       => 'Soll',
   'Debit Account'               => 'Sollkonto',
@@ -367,6 +368,8 @@ aktualisieren wollen?',
   'Dependency loop detected:'   => 'Schleife in den Abh&auml;ngigkeiten entdeckt:',
   'Deposit'                     => 'Gutschrift',
   'Description'                 => 'Beschreibung',
+  'Description (Click on Description for details)' => 'Beschreibung (Klick
+  öffnet einzelne Kontendetails)',
   'Description missing!'        => 'Beschreibung fehlt.',
   'Description must not be empty!' => 'Beschreibung darf nicht leer sein',
   'Difference'                  => 'Differenz',
@@ -518,6 +521,7 @@ gestartet',
   'Gültig ab'                   => 'Gültig ab',
   'HTML'                        => 'HTML',
   'HTML Templates'              => 'HTML-Vorlagen',
+  'Header'                      => 'Überschrift',
   'Heading'                     => 'Überschrift',
   'Help'                        => 'Hilfe',
   'Here\'s an example command line:' => 'Hier ist eine Kommandozeile, die als Beispiel dient:',
@@ -629,7 +633,6 @@ gestartet',
   'Lieferantennummer'           => 'Lieferantennummer',
   'Lieferungen'                 => 'Lieferungen',
   'Line Total'                  => 'Zeilensumme',
-  'Link'                        => 'Verknüpfungen',
   'List Accounts'               => 'Konten anzeigen',
   'List Businesses'             => 'Kunden-/Lieferantentypen anzeigen',
   'List Departments'            => 'Abteilungen anzeigen',
@@ -656,6 +659,7 @@ gestartet',
   'Lx-Office is about to update the database <b><TMPL_VAR dbname ESCAPE=HTML></b>. You should create a backup of the database before proceeding because the backup might not be reversible.' => 'Lx-Office wird gleich die Datenbank <b><TMPL_VAR dbname ESCAPE=HTML></b> aktualisieren. Sie sollten eine Sicherungskopie der Datenbank erstellen, bevor Sie fortfahren, da die Aktualisierung unter Umst&auml;nden nicht umkehrbar ist.',
   'MAILED'                      => 'Gesendet',
   'Mahnungsnummer'              => 'Mahnungsnummer',
+  'Main Preferences'            => 'Grundeinstellungen',
   'Make'                        => 'Hersteller',
   'Manager'                     => 'Manager',
   'Mandantennummer'             => 'Mandantennummer',
@@ -712,6 +716,7 @@ gestartet',
   'No.'                         => 'Position',
   'Non-taxable Purchases'       => 'Nicht zu versteuernde Einkäufe',
   'Non-taxable Sales'           => 'Nicht zu versteuernde Verkäufe',
+  'None'                        => 'Kein',
   'Not Discountable'            => 'Nicht rabattierfähig',
   'Not delivered'               => 'Nicht geliefert',
   'Not obsolete'                => 'Gültig',
@@ -730,6 +735,7 @@ gestartet',
   'Obsolete'                    => 'Ungültig',
   'Oct'                         => 'Okt',
   'October'                     => 'Oktober',
+  'Off'                         => 'Aus',
   'Old (on the side)'           => 'Alt (seitlich)',
   'On'                          => 'An',
   'On Hand'                     => 'Auf Lager',
@@ -810,6 +816,7 @@ gestartet',
   'Post Payment'                => 'Zahlung buchen',
   'Post as new'                 => 'Neu buchen',
   'Postscript'                  => 'Postscript',
+  'Posustva_coa'                => 'USTVA Kennz.',
   'Preferences'                 => 'Benutzereinstellungen',
   'Preferences saved!'          => 'Einstellungen gespeichert!',
   'Preis'                       => 'Preis',
@@ -890,6 +897,8 @@ gestartet',
   'Removed spoolfiles!'         => 'Druckdateien entfernt!',
   'Removing marked entries from queue ...' => 'Markierte Einträge werden von der Warteschlange entfernt ...',
   'Repeat the password'         => 'Passwort wiederholen',
+  'Report Positions'            => 'Berichte',
+  'Report and misc. Preferences' => 'Sonstige Einstellungen',
   'Report for'                  => 'Bericht für',
   'Reports'                     => 'Berichte',
   'Reqdate'                     => 'Lieferdatum',
@@ -911,6 +920,8 @@ gestartet',
   'Sat. Fax'                    => 'Sat. Fax',
   'Sat. Phone'                  => 'Sat. Tel.',
   'Save'                        => 'Speichern',
+  'Save account first to insert taxkeys' => 'Einstellungen sind nach
+  dem Speichern des Kontos verfügbar...',
   'Save and AP Transaction'     => 'Speichern und Kreditorenbuchung erfassen',
   'Save and AR Transaction'     => 'Speichern und Debitorenbuchung erfassen',
   'Save and Close'              => 'Speichern und schließen',
@@ -971,7 +982,7 @@ gestartet',
   'Source'                      => 'Beleg',
   'Spoolfile'                   => 'Druckdatei',
   'Start Dunning Process'       => 'Mahnprozess starten',
-  'Startdate'                   => 'Gültig ab',
+  'Startdate_coa'               => 'Gültig ab',
   'Statement'                   => 'Sammelrechnung',
   'Statement Balance'           => 'Sammelrechnungsbilanz',
   'Statement sent to'           => 'Sammelrechnung verschickt an',
@@ -1006,10 +1017,14 @@ gestartet',
   'Tax collected'               => 'vereinnahmte Steuer',
   'Tax number'                  => 'Steuernummer',
   'Tax paid'                    => 'Vorsteuer',
-  'Taxaccount'                  => 'Steuer Konto',
+  'Tax-o-matic Account: '       => '',
+  'Taxaccount_coa'              => 'Automatikkonto',
   'Taxation'                    => 'Versteuerungs Verfahren',
-  'Taxdescription'              => 'Steuerkonto<br />Beschreibung',
+  'Taxdescription_coa'          => 'Steuer',
   'Taxkey'                      => 'Steuerschlüssel',
+  'Taxkey_coa'                  => 'Steuerschlüssel',
+  'Taxkeys and Taxreport Preferences' => 'Steuerautomatik und UStVA',
+  'Taxlink_coa'                 => 'Steuerautomatik',
   'Tel'                         => 'Tel',
   'Tel.'                        => 'Telefon',
   'Telephone'                   => 'Telefon',
@@ -1093,55 +1108,8 @@ gestartet',
   'USt-IdNr.'                   => 'USt-IdNr.',
   'UStVA'                       => 'UStVA',
   'UStVA (PDF-Dokument)'        => 'UStVa als PDF-Dokument',
-  'UStVA-Nr. 35'                => 'Kz. 35',
-  'UStVA-Nr. 36'                => 'Kz. 36',
-  'UStVA-Nr. 39'                => 'Kz. 37',
-  'UStVA-Nr. 41'                => 'Kz. 41',
-  'UStVA-Nr. 42'                => 'Kz. 42',
-  'UStVA-Nr. 43'                => 'Kz. 43',
-  'UStVA-Nr. 44'                => 'Kz. 44',
-  'UStVA-Nr. 45'                => 'Kz. 45',
-  'UStVA-Nr. 48'                => 'Kz. 48',
-  'UStVA-Nr. 49'                => 'Kz. 49',
-  'UStVA-Nr. 51 left'           => 'Kz. 51 links',
-  'UStVA-Nr. 51 right'          => 'Kz. 51 rechts',
-  'UStVA-Nr. 52'                => 'Kz. 52',
-  'UStVA-Nr. 53'                => 'Kz. 53',
-  'UStVA-Nr. 59'                => 'Kz. 59',
-  'UStVA-Nr. 60'                => 'Kz. 60',
-  'UStVA-Nr. 61'                => 'Kz. 61',
-  'UStVA-Nr. 62'                => 'Kz. 62',
-  'UStVA-Nr. 63'                => 'Kz. 63',
-  'UStVA-Nr. 64'                => 'Kz. 64',
-  'UStVA-Nr. 65'                => 'Kz. 65',
-  'UStVA-Nr. 66'                => 'Kz. 66',
-  'UStVA-Nr. 67'                => 'Kz. 67',
-  'UStVA-Nr. 69'                => 'Kz. 69',
-  'UStVA-Nr. 73'                => 'Kz. 73',
-  'UStVA-Nr. 74'                => 'Kz. 74',
-  'UStVA-Nr. 76'                => 'Kz. 76',
-  'UStVA-Nr. 77'                => 'Kz. 77',
-  'UStVA-Nr. 80'                => 'Kz. 80',
-  'UStVA-Nr. 81 left'           => '',
-  'UStVA-Nr. 81 right'          => '',
-  'UStVA-Nr. 84'                => 'Kz. 84',
-  'UStVA-Nr. 85'                => 'Kz. 85',
-  'UStVA-Nr. 86 left'           => 'Kz. 86 links',
-  'UStVA-Nr. 86 right'          => 'Kz. 86 rechts',
-  'UStVA-Nr. 89 left'           => '',
-  'UStVA-Nr. 89 right'          => '',
-  'UStVA-Nr. 91'                => 'Kz. 91',
-  'UStVA-Nr. 93 left'           => 'Kz. 93 left',
-  'UStVA-Nr. 93 right'          => 'Kz. 93 right',
-  'UStVA-Nr. 94'                => 'Kz. 94',
-  'UStVA-Nr. 95'                => 'Kz. 95',
-  'UStVA-Nr. 96'                => 'Kz. 96',
-  'UStVA-Nr. 97 links'          => 'Kz. 97 links',
-  'UStVA-Nr. 97 rechts'         => 'Kz. 97 rechts',
-  'UStVA-Nr. 98'                => 'Kz. 98',
   'UStVa'                       => 'UStVa',
   'UStVa Einstellungen'         => 'UStVa Einstellungen',
-  'Umsatzsteuervoranmeldung'    => 'Umsatzsteuervoranmeldung',
   'Unbalanced Ledger'           => 'Bilanzfehler',
   'Unit'                        => 'Einheit',
   'Unit of measure'             => 'Maßeinheit',
@@ -1223,7 +1191,6 @@ gestartet',
   'bis'                         => 'bis',
   'button'                      => '?',
   'cash'                        => 'E/Ü-Rechnung (Ist-Versteuerung)',
-  'category'                    => 'Kontenart',
   'choice'                      => 'auswählen',
   'choice part'                 => 'Artikel auswählen',
   'close'                       => 'schließen',
@@ -1231,6 +1198,7 @@ gestartet',
   'continue'                    => 'weiter',
   'customernumber not unique!'  => 'Die Kundennummer ist schon vergeben',
   'debug'                       => 'Debug',
+  'delete'                      => 'Löschen',
   'deliverydate'                => 'Lieferdatum',
   'dimension units'             => 'Ma&szlig;einheiten',
   'does not exist'              => 'existiert nicht',
@@ -1279,11 +1247,11 @@ gestartet',
   'soldtotal'                   => 'Verkaufte Anzahl',
   'successfully created!'       => 'wurde erfolgreich erstellt',
   'successfully deleted!'       => 'wurde erfolgreich gelöscht',
-  'tk_ustva'                    => '',
   'to (date)'                   => 'bis',
   'up'                          => 'hoch',
   'use program settings'        => 'benutze Programmeinstellungen',
   'ustva'                       => 'UStVA',
+  'valid from'                  => 'Gültig ab',
   'von'                         => 'von',
   'website'                     => 'Webseite',
   'winston_export'              => 'Winston-Export',
diff --git a/templates/webpages/am/edit_accounts_de.html b/templates/webpages/am/edit_accounts_de.html
new file mode 100644 (file)
index 0000000..12a61d0
--- /dev/null
@@ -0,0 +1,214 @@
+<script type="text/javascript" src="js/FormManager.js" >
+/****************************************************
+* Form Dependency Manager- By Twey- http://www.twey.co.uk
+* Visit Dynamic Drive for this script and more: http://www.dynamicdrive.com
+****************************************************/
+</script>
+
+<script type="text/javascript">
+window.onload = function() {
+    setupDependencies('EditAccount'); //name of form(s). Seperate each with a comma (ie: 'weboptions', 'myotherform' )
+  };
+</script>
+
+<body>
+<form method="post" name="EditAccount" action="<TMPL_VAR script>">
+
+<input type="hidden" name="id"                 value="<TMPL_VAR id>">
+<input type="hidden" name="type"               value="account">
+<input type="hidden" name="orphaned"           value="<TMPL_VAR orphaned>">
+<input type="hidden" name="new_chart_valid"    value="<TMPL_VAR new_chart_valid>">
+<input type="hidden" name="inventory_accno_id" value="<TMPL_VAR inventory_accno_id>">
+<input type="hidden" name="income_accno_id"    value="<TMPL_VAR income_accno_id>">
+<input type="hidden" name="expense_accno_id"   value="<TMPL_VAR expense_accno_id>">
+<input type="hidden" name="fxgain_accno_id"    value="<TMPL_VAR fxgain_accno_id>">
+<input type="hidden" name="fxloss_accno_id"    value="<TMPL_VAR fxloss_accno_id>">
+
+<table border="0" width="100%">
+  <tr>
+    <th class="listtop"><TMPL_VAR title></th>
+  </tr>
+</table>
+
+<fieldset>
+  <legend>
+    Grundeinstellungen
+  </legend>
+  <table>
+    <tr>
+      <td>
+        <label>
+          Kontonummer
+        </label></td>
+        <td><input name="accno" size="20" value="<TMPL_VAR accno>"></td>
+    </tr>
+    <tr>
+      <td>
+        <label>
+          Beschreibung
+        </label>  
+      </td>
+      <td><input name="description" size="40" value="<TMPL_VAR 
+              description ESCAPE=HTML>"></td>
+    </tr>
+    <tr>
+      <td>
+        <label>
+          Kontentyp
+
+        </label>
+      </td>
+      <td><select name="charttype"><TMPL_VAR 
+              select_charttype></select></td>
+    </tr>
+  </table>    
+</fieldset>  
+<fieldset class="DEPENDS ON charttype BEING A">
+  <legend>Kontoart</legend>
+  <select name="category" id="AccountType" class="DEPENDS ON charttype BEING A">
+          <TMPL_VAR select_category></select>
+</fieldset>
+
+<TMPL_IF ChartTypeIsAccount>
+<fieldset class="DEPENDS ON charttype BEING A">
+  <legend>Buchungskonto in</legend>
+    <input name="AR" type="checkbox" class="checkbox" value="AR" <TMPL_VAR AR ESCAPE=HTML>>
+    &nbsp;Verkauf
+    <input name="AP" type="checkbox" class="checkbox" value="AP" <TMPL_VAR AP ESCAPE=HTML>>
+    &nbsp;Einkauf
+    <input name="IC" type="checkbox" class="checkbox" value="IC" <TMPL_VAR IC ESCAPE=HTML>>
+    &nbsp;Inventar
+</fieldset>
+
+<fieldset class="DEPENDS ON charttype BEING A">
+  <legend>In Aufklappmenü aufnehmen</legend>
+  <table width="100%">
+    <tr>
+      <th align="left">Forderungen</th>
+      <th align="left">Verbindlichkeiten</th>
+      <th align="left">Warenliste</th>
+      <th align="left">Dienstleistungen</th>
+    </tr>
+    <tr>
+      <td>
+        <input name="AR_amount" type="checkbox" class="checkbox" value="AR_amount"
+          <TMPL_VAR AR_amount ESCAPE=HTML>>&nbsp; 
+        Erlöskonto <br>
+        <input name="AR_paid" type="checkbox" class="checkbox" value="AR_paid" 
+          <TMPL_VAR AR_paid ESCAPE=HTML>>&nbsp; 
+        Zahlungseingang <br>
+        <input name="AR_tax" type="checkbox" class="checkbox" value="AR_tax" 
+          <TMPL_VAR AR_tax ESCAPE=HTML>>&nbsp; 
+        Steuer
+      </td>
+      <td>
+        <input name="AP_amount" type="checkbox" class="checkbox" value="AP_amount" 
+          <TMPL_VAR AP_amount ESCAPE=HTML>>&nbsp; 
+        Aufwand/Anlagen <br>
+        <input name="AP_paid" type="checkbox" class="checkbox" value="AP_paid" 
+          <TMPL_VAR AP_paid ESCAPE=HTML>>&nbsp; 
+        Zahlungsausgang <br>
+        <input name="AP_tax" type="checkbox" class="checkbox" value="AP_tax" 
+            <TMPL_VAR AP_tax ESCAPE=HTML>>&nbsp; 
+        Steuer
+      </td>
+      <td>
+        <input name="IC_sale" type="checkbox" class="checkbox" value="IC_sale" 
+          <TMPL_VAR IC_sale ESCAPE=HTML>>&nbsp; 
+        Erlöskonto <br>
+        <input name="IC_cogs" type="checkbox" class="checkbox" value="IC_cogs" 
+          <TMPL_VAR IC_cogs ESCAPE=HTML>>&nbsp; 
+        Aufwandskonto <br>
+        <input name="IC_taxpart" type="checkbox" class="checkbox" value="IC_taxpart" 
+          <TMPL_VAR IC_taxpart ESCAPE=HTML>>&nbsp; 
+        Steuer
+      </td>
+      <td>
+        <input name=IC_income type=checkbox class=checkbox value="IC_income"
+          <TMPL_VAR IC_income ESCAPE=HTML>>&nbsp; 
+        Erlöskonto <br>
+        <input name=IC_expense type=checkbox class=checkbox value="IC_expense" 
+          <TMPL_VAR IC_expense ESCAPE=HTML>>&nbsp; 
+        Aufwandskonto <br>
+        <input name=IC_taxservice type=checkbox class=checkbox value="IC_taxservice"
+          <TMPL_VAR IC_taxservice ESCAPE=HTML>>&nbsp; 
+        Steuer
+      </td>
+    </tr>
+  </table>
+</fieldset>
+
+<fieldset class="DEPENDS ON charttype BEING A">
+  <legend>
+    Steuerautomatik und UStVA
+  </legend>
+
+            <table>
+<TMPL_IF account_exists >
+              <tr>
+                <th align="left">Steuerschlüssel</th>
+                <th align="left">Gültig ab</th>
+                <th align="left">UStVA</th>
+                <th align="left">Löschen ? </th>
+              </tr>
+<TMPL_LOOP ACCOUNT_TAXKEYS >
+              <tr>
+    <TMPL_IF id>
+                <input type="hidden" name="taxkey_id_<TMPL_VAR runningnumber>" value="<TMPL_VAR id>">
+                <td><select name="taxkey_tax_<TMPL_VAR runningnumber>"><TMPL_VAR selecttaxkey></select></td>
+                <td><input name="taxkey_startdate_<TMPL_VAR runningnumber>" value="<TMPL_VAR startdate>"></td>
+                <td><select name="taxkey_pos_ustva_<TMPL_VAR runningnumber>"><TMPL_VAR select_tax></select></td>
+                <td><input name="taxkey_del_<TMPL_VAR runningnumber>" type="checkbox"
+                class="checkbox" value="delete"></td>
+    <TMPL_ELSE>
+                <input type="hidden" name="taxkey_id_<TMPL_VAR runningnumber>" value="NEW">
+                <td><select name="taxkey_tax_<TMPL_VAR runningnumber>"><TMPL_VAR selecttaxkey></select></td>
+                <td><input name="taxkey_startdate_<TMPL_VAR runningnumber>" value="<TMPL_VAR startdate>"></td>
+                <td><select name="taxkey_pos_ustva_<TMPL_VAR runningnumber>"><TMPL_VAR select_tax></select></td>
+                <td>&nbsp;</td>
+    </TMPL_IF>            
+              </tr>
+
+</TMPL_LOOP>
+<TMPL_ELSE>
+<tr>
+  <td align="center" colspan="4"><p>Einstellungen sind nach
+  dem Speichern des Kontos verfügbar...</p>
+  </td>
+</tr>
+</TMPL_IF>
+            </table>
+</fieldset>
+
+<fieldset class="DEPENDS ON charttype BEING A">
+  <legend>Sonstige Einstellungen</legend>
+  <table>
+        <tr>
+          <th align="left">Einnahmen-/Überschussrechnung</th>
+          <td colspan="3"><select name="pos_eur"><TMPL_VAR select_eur></select></td>
+        </tr>
+        <tr>
+          <th align="left">BWA</th>
+          <td colspan="3"><select name="pos_bwa"><TMPL_VAR select_bwa></select></td>
+        </tr>
+        <tr>
+          <th align="left">Bilanz</th>
+          <td colspan="3"><select name="pos_bilanz"><TMPL_VAR select_bilanz></select></td>
+        </tr>
+        <tr>
+          <th align="left">Datevexport</th>
+          <td colspan="3"><input name="datevautomatik" type="checkbox"
+          class="checkbox" value="T" <TMPL_IF
+          datevautomatik>checked="checked" </TMPL_IF>></td>
+        </tr>
+        <tr>
+          <th align="left">Folgekonto</th>
+          <td><select name="new_chart_id"><TMPL_VAR selectnewaccount></select></td>
+          <th align="left">Gültig ab</th>
+          <td><input name="valid_from" value="<TMPL_VAR valid_from>"></td>
+        </tr>        
+  </table>
+</TMPL_IF>
+</fieldset>
+<hr size="3" noshade>
+
diff --git a/templates/webpages/am/edit_accounts_master.html b/templates/webpages/am/edit_accounts_master.html
new file mode 100644 (file)
index 0000000..85afc7f
--- /dev/null
@@ -0,0 +1,213 @@
+<script type="text/javascript" src="js/FormManager.js" >
+/****************************************************
+* Form Dependency Manager- By Twey- http://www.twey.co.uk
+* Visit Dynamic Drive for this script and more: http://www.dynamicdrive.com
+****************************************************/
+</script>
+
+<script type="text/javascript">
+window.onload = function() {
+    setupDependencies('EditAccount'); //name of form(s). Seperate each with a comma (ie: 'weboptions', 'myotherform' )
+  };
+</script>
+
+<body>
+<form method="post" name="EditAccount" action="<TMPL_VAR script>">
+
+<input type="hidden" name="id"                 value="<TMPL_VAR id>">
+<input type="hidden" name="type"               value="account">
+<input type="hidden" name="orphaned"           value="<TMPL_VAR orphaned>">
+<input type="hidden" name="new_chart_valid"    value="<TMPL_VAR new_chart_valid>">
+<input type="hidden" name="inventory_accno_id" value="<TMPL_VAR inventory_accno_id>">
+<input type="hidden" name="income_accno_id"    value="<TMPL_VAR income_accno_id>">
+<input type="hidden" name="expense_accno_id"   value="<TMPL_VAR expense_accno_id>">
+<input type="hidden" name="fxgain_accno_id"    value="<TMPL_VAR fxgain_accno_id>">
+<input type="hidden" name="fxloss_accno_id"    value="<TMPL_VAR fxloss_accno_id>">
+
+<table border="0" width="100%">
+  <tr>
+    <th class="listtop"><TMPL_VAR title></th>
+  </tr>
+</table>
+
+<fieldset>
+  <legend>
+    <translate>Main Preferences</translate>
+  </legend>
+  <table>
+    <tr>
+      <td>
+        <label>
+          <translate>Account Number</translate>
+        </label></td>
+        <td><input name="accno" size="20" value="<TMPL_VAR accno>"></td>
+    </tr>
+    <tr>
+      <td>
+        <label>
+          <translate>Description</translate>
+        </label>  
+      </td>
+      <td><input name="description" size="40" value="<TMPL_VAR 
+              description ESCAPE=HTML>"></td>
+    </tr>
+    <tr>
+      <td>
+        <label>
+          <translate>Chart Type</translate>
+
+        </label>
+      </td>
+      <td><select name="charttype"><TMPL_VAR 
+              select_charttype></select></td>
+    </tr>
+  </table>    
+</fieldset>  
+<fieldset class="DEPENDS ON charttype BEING A">
+  <legend><translate>Account Type</translate></legend>
+  <select name="category" id="AccountType" class="DEPENDS ON charttype BEING A">
+          <TMPL_VAR select_category></select>
+</fieldset>
+
+<TMPL_IF ChartTypeIsAccount>
+<fieldset class="DEPENDS ON charttype BEING A">
+  <legend><translate>Is this a summary account to record</translate></legend>
+    <input name="AR" type="checkbox" class="checkbox" value="AR" <TMPL_VAR AR ESCAPE=HTML>>
+    &nbsp;<translate>AR</translate>
+    <input name="AP" type="checkbox" class="checkbox" value="AP" <TMPL_VAR AP ESCAPE=HTML>>
+    &nbsp;<translate>AP</translate>
+    <input name="IC" type="checkbox" class="checkbox" value="IC" <TMPL_VAR IC ESCAPE=HTML>>
+    &nbsp;<translate>Inventory</translate>
+</fieldset>
+
+<fieldset class="DEPENDS ON charttype BEING A">
+  <legend><translate>Include in drop-down menus</translate></legend>
+  <table width="100%">
+    <tr>
+      <th align="left"><translate>Receivables</translate></th>
+      <th align="left"><translate>Payables</translate></th>
+      <th align="left"><translate>Parts Inventory</translate></th>
+      <th align="left"><translate>Service Items</translate></th>
+    </tr>
+    <tr>
+      <td>
+        <input name="AR_amount" type="checkbox" class="checkbox" value="AR_amount"
+          <TMPL_VAR AR_amount ESCAPE=HTML>>&nbsp; 
+        <translate>Revenue</translate> <br>
+        <input name="AR_paid" type="checkbox" class="checkbox" value="AR_paid" 
+          <TMPL_VAR AR_paid ESCAPE=HTML>>&nbsp; 
+        <translate>Receipt</translate> <br>
+        <input name="AR_tax" type="checkbox" class="checkbox" value="AR_tax" 
+          <TMPL_VAR AR_tax ESCAPE=HTML>>&nbsp; 
+        <translate>Tax</translate>
+      </td>
+      <td>
+        <input name="AP_amount" type="checkbox" class="checkbox" value="AP_amount" 
+          <TMPL_VAR AP_amount ESCAPE=HTML>>&nbsp; 
+        <translate>Expense/Asset</translate> <br>
+        <input name="AP_paid" type="checkbox" class="checkbox" value="AP_paid" 
+          <TMPL_VAR AP_paid ESCAPE=HTML>>&nbsp; 
+        <translate>Payment</translate> <br>
+        <input name="AP_tax" type="checkbox" class="checkbox" value="AP_tax" 
+            <TMPL_VAR AP_tax ESCAPE=HTML>>&nbsp; 
+        <translate>Tax</translate>
+      </td>
+      <td>
+        <input name="IC_sale" type="checkbox" class="checkbox" value="IC_sale" 
+          <TMPL_VAR IC_sale ESCAPE=HTML>>&nbsp; 
+        <translate>Revenue</translate> <br>
+        <input name="IC_cogs" type="checkbox" class="checkbox" value="IC_cogs" 
+          <TMPL_VAR IC_cogs ESCAPE=HTML>>&nbsp; 
+        <translate>Expense</translate> <br>
+        <input name="IC_taxpart" type="checkbox" class="checkbox" value="IC_taxpart" 
+          <TMPL_VAR IC_taxpart ESCAPE=HTML>>&nbsp; 
+        <translate>Tax</translate>
+      </td>
+      <td>
+        <input name=IC_income type=checkbox class=checkbox value="IC_income"
+          <TMPL_VAR IC_income ESCAPE=HTML>>&nbsp; 
+        <translate>Revenue</translate> <br>
+        <input name=IC_expense type=checkbox class=checkbox value="IC_expense" 
+          <TMPL_VAR IC_expense ESCAPE=HTML>>&nbsp; 
+        <translate>Expense</translate> <br>
+        <input name=IC_taxservice type=checkbox class=checkbox value="IC_taxservice"
+          <TMPL_VAR IC_taxservice ESCAPE=HTML>>&nbsp; 
+        <translate>Tax</translate>
+      </td>
+    </tr>
+  </table>
+</fieldset>
+
+<fieldset class="DEPENDS ON charttype BEING A">
+  <legend>
+    <translate>Taxkeys and Taxreport Preferences</translate>
+  </legend>
+
+            <table>
+<TMPL_IF account_exists >
+              <tr>
+                <th align="left"><translate>Taxkey</translate></th>
+                <th align="left"><translate>valid from</translate></th>
+                <th align="left"><translate>pos_ustva</translate></th>
+                <th align="left"><translate>delete</translate> ? </th>
+              </tr>
+<TMPL_LOOP ACCOUNT_TAXKEYS >
+              <tr>
+    <TMPL_IF id>
+                <input type="hidden" name="taxkey_id_<TMPL_VAR runningnumber>" value="<TMPL_VAR id>">
+                <td><select name="taxkey_tax_<TMPL_VAR runningnumber>"><TMPL_VAR selecttaxkey></select></td>
+                <td><input name="taxkey_startdate_<TMPL_VAR runningnumber>" value="<TMPL_VAR startdate>"></td>
+                <td><select name="taxkey_pos_ustva_<TMPL_VAR runningnumber>"><TMPL_VAR select_tax></select></td>
+                <td><input name="taxkey_del_<TMPL_VAR runningnumber>" type="checkbox"
+                class="checkbox" value="delete"></td>
+    <TMPL_ELSE>
+                <input type="hidden" name="taxkey_id_<TMPL_VAR runningnumber>" value="NEW">
+                <td><select name="taxkey_tax_<TMPL_VAR runningnumber>"><TMPL_VAR selecttaxkey></select></td>
+                <td><input name="taxkey_startdate_<TMPL_VAR runningnumber>" value="<TMPL_VAR startdate>"></td>
+                <td><select name="taxkey_pos_ustva_<TMPL_VAR runningnumber>"><TMPL_VAR select_tax></select></td>
+                <td>&nbsp;</td>
+    </TMPL_IF>            
+              </tr>
+
+</TMPL_LOOP>
+<TMPL_ELSE>
+<tr>
+  <td align="center" colspan="4"><p><translate>Save account first to insert taxkeys</translate></p>
+  </td>
+</tr>
+</TMPL_IF>
+            </table>
+</fieldset>
+
+<fieldset class="DEPENDS ON charttype BEING A">
+  <legend><translate>Report and misc. Preferences</translate></legend>
+  <table>
+        <tr>
+          <th align="left"><translate>EUER</translate></th>
+          <td colspan="3"><select name="pos_eur"><TMPL_VAR select_eur></select></td>
+        </tr>
+        <tr>
+          <th align="left"><translate>BWA</translate></th>
+          <td colspan="3"><select name="pos_bwa"><TMPL_VAR select_bwa></select></td>
+        </tr>
+        <tr>
+          <th align="left"><translate>Bilanz</translate></th>
+          <td colspan="3"><select name="pos_bilanz"><TMPL_VAR select_bilanz></select></td>
+        </tr>
+        <tr>
+          <th align="left"><translate>Datevautomatik</translate></th>
+          <td colspan="3"><input name="datevautomatik" type="checkbox"
+          class="checkbox" value="T" <TMPL_IF
+          datevautomatik>checked="checked" </TMPL_IF>></td>
+        </tr>
+        <tr>
+          <th align="left"><translate>Folgekonto</translate></th>
+          <td><select name="new_chart_id"><TMPL_VAR selectnewaccount></select></td>
+          <th align="left"><translate>Gültig ab</translate></th>
+          <td><input name="valid_from" value="<TMPL_VAR valid_from>"></td>
+        </tr>        
+  </table>
+</TMPL_IF>
+</fieldset>
+<hr size="3" noshade>
+
diff --git a/templates/webpages/am/list_account_details_de.html b/templates/webpages/am/list_account_details_de.html
new file mode 100644 (file)
index 0000000..e9e2109
--- /dev/null
@@ -0,0 +1,133 @@
+ <TMPL_LOOP CA> 
+        <table width="100%">
+
+          <colgroup>
+            <col width="10%">
+            <col width="10%">
+            <col width="10%">
+            <col width="50%">
+            <col width="10%">
+            <col width="10%">
+          </colgroup>
+
+           <TMPL_IF __odd__>
+           <tr class="coa_listrow1">
+           <TMPL_ELSE>
+           <tr class="coa_listrow0">
+           </TMPL_IF>
+
+              <td rowspan="8" class="coa_detail_emph"><TMPL_VAR id ESCAPE=HTML DEFAULT="-"></td>
+              <td colspan="5" class="coa_detail_emph"><TMPL_VAR category ESCAPE=HTML>&nbsp;</td>
+
+            </tr>                                
+           <TMPL_IF __odd__>
+           <tr class="coa_listrow1">
+           <TMPL_ELSE>
+           <tr class="coa_listrow0">
+           </TMPL_IF>
+              <td colspan="5" class="coa_detail_emph">
+                <TMPL_IF link>
+                <TMPL_VAR name="link" ESCAPE="HTML" DEFAULT="-">
+                <TMPL_ELSE>
+                -
+                </TMPL_IF>
+                </td>
+
+
+           </tr>                                
+
+           <TMPL_IF __odd__>
+           <tr class="coa_listrow1">
+           <TMPL_ELSE>
+           <tr class="coa_listrow0">
+           </TMPL_IF>
+              <td colspan="5" class="coa_details_header">Steuerautomatik</td>
+           </tr>
+
+           <TMPL_IF __odd__>
+           <tr class="coa_listrow1">
+           <TMPL_ELSE>
+           <tr class="coa_listrow0">
+           </TMPL_IF>
+              <td class="coa_details_header2">Steuerschlüssel</td>
+              <td class="coa_details_header2">Automatikkonto</td>
+              <td class="coa_details_header2">Steuer</td>
+              <td class="coa_details_header2">USTVA Kennz.</td>
+              <td class="coa_details_header2">Gültig ab</td>
+            </tr>
+
+           <TMPL_IF __odd__>
+           <tr class="coa_listrow1">
+           <TMPL_ELSE>
+           <tr class="coa_listrow0">
+           </TMPL_IF>
+              
+              <td class="coa_detail_emph">
+                <TMPL_IF taxkey>
+                <TMPL_VAR taxkey         DEFAULT="-" >
+                <TMPL_ELSE>
+                -
+                </TMPL_IF>
+              </td>
+              <td class="coa_detail_emph">
+                <TMPL_IF taxaccount> 
+                <TMPL_VAR taxaccount     DEFAULT="-" >
+                <TMPL_ELSE>
+                -
+                </TMPL_IF>
+              </td>
+              <td class="coa_detail_emph">
+                <TMPL_IF taxdescription> 
+                <TMPL_VAR taxdescription DEFAULT="-" >
+                <TMPL_ELSE>
+                -
+                </TMPL_IF>
+              </td>
+              <td class="coa_detail_emph">
+                <TMPL_IF tk_ustva> 
+                <TMPL_VAR tk_ustva       DEFAULT="-" >
+                <TMPL_ELSE>
+                -
+                </TMPL_IF>
+              </td>
+              <td class="coa_detail_emph">
+                <TMPL_IF startdate> 
+                <TMPL_VAR startdate      DEFAULT="-" >
+                <TMPL_ELSE>
+                -
+                </TMPL_IF>
+              </td>
+           </tr>
+
+           <TMPL_IF __odd__>
+           <tr class="coa_listrow1">
+           <TMPL_ELSE>
+           <tr class="coa_listrow0">
+           </TMPL_IF>
+              <td colspan="5" class="coa_details_header">Berichte</td>
+           </tr>
+
+           <TMPL_IF __odd__>
+           <tr class="coa_listrow1">
+           <TMPL_ELSE>
+           <tr class="coa_listrow0">
+           </TMPL_IF>
+              <td class="coa_details_header2">BWA</td>
+              <td class="coa_details_header2">Bilanz</td>
+              <td class="coa_details_header2">E/ÜR</td>
+              <td colspan="2" class="coa_details_header2">Datevexport</td>
+           </tr>
+            
+           <TMPL_IF __odd__>
+           <tr class="coa_listrow1">
+           <TMPL_ELSE>
+           <tr class="coa_listrow0">
+           </TMPL_IF>
+              <td class="coa_detail_emph"><TMPL_VAR pos_bwa    ESCAPE=HTML DEFAULT="-"></td>
+              <td class="coa_detail_emph"><TMPL_VAR pos_bilanz ESCAPE=HTML DEFAULT="-"></td>
+              <td class="coa_detail_emph"><TMPL_VAR pos_eur    ESCAPE=HTML DEFAULT="-"></td>
+              <td colspan="2" class="coa_detail_emph"><TMPL_VAR datevautomatik  ESCAPE=HTML DEFAULT="-"></td>
+           </tr>
+        </table>
+
+</TMPL_LOOP CA>
diff --git a/templates/webpages/am/list_account_details_master.html b/templates/webpages/am/list_account_details_master.html
new file mode 100644 (file)
index 0000000..c19d4d1
--- /dev/null
@@ -0,0 +1,133 @@
+ <TMPL_LOOP CA> 
+        <table width="100%">
+
+          <colgroup>
+            <col width="10%">
+            <col width="10%">
+            <col width="10%">
+            <col width="50%">
+            <col width="10%">
+            <col width="10%">
+          </colgroup>
+
+           <TMPL_IF __odd__>
+           <tr class="coa_listrow1">
+           <TMPL_ELSE>
+           <tr class="coa_listrow0">
+           </TMPL_IF>
+
+              <td rowspan="8" class="coa_detail_emph"><TMPL_VAR id ESCAPE=HTML DEFAULT="-"></td>
+              <td colspan="5" class="coa_detail_emph"><TMPL_VAR category ESCAPE=HTML>&nbsp;</td>
+
+            </tr>                                
+           <TMPL_IF __odd__>
+           <tr class="coa_listrow1">
+           <TMPL_ELSE>
+           <tr class="coa_listrow0">
+           </TMPL_IF>
+              <td colspan="5" class="coa_detail_emph">
+                <TMPL_IF link>
+                <TMPL_VAR name="link" ESCAPE="HTML" DEFAULT="-">
+                <TMPL_ELSE>
+                -
+                </TMPL_IF>
+                </td>
+
+
+           </tr>                                
+
+           <TMPL_IF __odd__>
+           <tr class="coa_listrow1">
+           <TMPL_ELSE>
+           <tr class="coa_listrow0">
+           </TMPL_IF>
+              <td colspan="5" class="coa_details_header"><translate>Taxlink_coa</translate></td>
+           </tr>
+
+           <TMPL_IF __odd__>
+           <tr class="coa_listrow1">
+           <TMPL_ELSE>
+           <tr class="coa_listrow0">
+           </TMPL_IF>
+              <td class="coa_details_header2"><translate>Taxkey_coa</translate></td>
+              <td class="coa_details_header2"><translate>Taxaccount_coa</translate></td>
+              <td class="coa_details_header2"><translate>Taxdescription_coa</translate></td>
+              <td class="coa_details_header2"><translate>Posustva_coa</translate></td>
+              <td class="coa_details_header2"><translate>Startdate_coa</translate></td>
+            </tr>
+
+           <TMPL_IF __odd__>
+           <tr class="coa_listrow1">
+           <TMPL_ELSE>
+           <tr class="coa_listrow0">
+           </TMPL_IF>
+              
+              <td class="coa_detail_emph">
+                <TMPL_IF taxkey>
+                <TMPL_VAR taxkey         DEFAULT="-" >
+                <TMPL_ELSE>
+                -
+                </TMPL_IF>
+              </td>
+              <td class="coa_detail_emph">
+                <TMPL_IF taxaccount> 
+                <TMPL_VAR taxaccount     DEFAULT="-" >
+                <TMPL_ELSE>
+                -
+                </TMPL_IF>
+              </td>
+              <td class="coa_detail_emph">
+                <TMPL_IF taxdescription> 
+                <TMPL_VAR taxdescription DEFAULT="-" >
+                <TMPL_ELSE>
+                -
+                </TMPL_IF>
+              </td>
+              <td class="coa_detail_emph">
+                <TMPL_IF tk_ustva> 
+                <TMPL_VAR tk_ustva       DEFAULT="-" >
+                <TMPL_ELSE>
+                -
+                </TMPL_IF>
+              </td>
+              <td class="coa_detail_emph">
+                <TMPL_IF startdate> 
+                <TMPL_VAR startdate      DEFAULT="-" >
+                <TMPL_ELSE>
+                -
+                </TMPL_IF>
+              </td>
+           </tr>
+
+           <TMPL_IF __odd__>
+           <tr class="coa_listrow1">
+           <TMPL_ELSE>
+           <tr class="coa_listrow0">
+           </TMPL_IF>
+              <td colspan="5" class="coa_details_header"><translate>Report Positions</translate></td>
+           </tr>
+
+           <TMPL_IF __odd__>
+           <tr class="coa_listrow1">
+           <TMPL_ELSE>
+           <tr class="coa_listrow0">
+           </TMPL_IF>
+              <td class="coa_details_header2"><translate>pos_bwa</translate></td>
+              <td class="coa_details_header2"><translate>pos_bilanz</translate></td>
+              <td class="coa_details_header2"><translate>pos_eur</translate></td>
+              <td colspan="2" class="coa_details_header2"><translate>Datevautomatik</translate></td>
+           </tr>
+            
+           <TMPL_IF __odd__>
+           <tr class="coa_listrow1">
+           <TMPL_ELSE>
+           <tr class="coa_listrow0">
+           </TMPL_IF>
+              <td class="coa_detail_emph"><TMPL_VAR pos_bwa    ESCAPE=HTML DEFAULT="-"></td>
+              <td class="coa_detail_emph"><TMPL_VAR pos_bilanz ESCAPE=HTML DEFAULT="-"></td>
+              <td class="coa_detail_emph"><TMPL_VAR pos_eur    ESCAPE=HTML DEFAULT="-"></td>
+              <td colspan="2" class="coa_detail_emph"><TMPL_VAR datevautomatik  ESCAPE=HTML DEFAULT="-"></td>
+           </tr>
+        </table>
+
+</TMPL_LOOP CA>
\ No newline at end of file
index 2497b32..017c830 100644 (file)
-  <body>
-
-    <table border="0" cellpadding="3" cellspacing="3" width="100%">
-      <tr>
-        <th class="listtop" colspan="14"><TMPL_VAR title ESCAPE=HTML></th>
-      </tr>
-      <tr height="5"></tr>
-      <tr class="listheading">
-        <th colspan="2"><b>Kontonummer</b></th>
-        <th align=right><b>Konto-ID</b></th>
-        <th colspan="7"><b>Beschreibung</b></a></th>
-        <th rowspan="3">Haben</th>
-        <th rowspan="3">Soll</th>
-      </tr>  
-      <tr class="listheading">
-        <th colspan="3"><b>Kontenart</b></th>
-        
-        <th colspan="7">Verknüpfungen</th>
-      </tr>
-      <tr class="listheading">
-        <th>Steuerschlüssel</th>
-        <th>Steuer Konto</th>
-        <th>Steuerkonto<br />Beschreibung</th>
-        <th>Gültig ab</th>
-        <th>tk_ustva</th>
-        <th>UStVA</th>
-        <th>BWA</th>
-        <th>Bilanz</th>
-        <th>E/ÜR</th>
-        <th>Datev</th>
-      </tr>
 
-<TMPL_LOOP CA>
+  <style type="text/css">
+  
+  /* Kontenliste Styles */
 
-  <TMPL_IF heading>
+  .coa_listtop { 
+       background-color:rgb(236,233,216); 
+       text-align:left;
+       padding:5px;
+       font-size:12pt; 
+       color:black; 
+       font-weight: bolder;
+       border-style:dashed;
+       border-width:thin;
+  }
 
-      <tr class="listheading">
-        <td colspan="2">
-          <a href=<TMPL_VAR link_edit_account> >
-            <TMPL_VAR accno>
-          </a>
-        </td>
-        <td align=right>
-          <TMPL_VAR id>
-        </td>
-        <td colspan="7">
-          <a href="<TMPL_VAR description>" >
-            <TMPL_VAR accno>
-          </a>
-        </td>
-      </tr>
-        
-  <TMPL_ELSE>
+  .coa_listheading { 
+       background-color:rgb(236,233,216); 
+       color: black; 
+       background-image:url("../image/fade.png");
+  }
+  
+  .coa_listheading_element { 
+       font-size:10pt; 
+       padding:3px;
+       font-weight:bolder;
+       text-align:left;
+       border-style:dotted;
+       border-width:thin;
+  }
+  
+  .coa_listrow1 { 
+       background-color: rgb(208,207,201); 
+       color: black; 
+       vertical-align: top; 
+  }
+
+  .coa_listrow0 { 
+        background-color: rgb(236,233,216); 
+        color: black; 
+        vertical-align: top; 
+  }
 
+  .coa_amount {
+        text-align:right;
+        font-familiy:monospace;
+  }
+
+  .coa_account_header {
+        font-size:10pt; 
+       padding:3px;
+       font-weight:bolder;
+       text-align:left;
+       border-style:none;
+       border-width:thin;
   
-    <TMPL_IF __odd__>
-        <tr valign="top" class="listrow1">
-    <TMPL_ELSE>
-        
-        <tr valign="top" class="listrow0">
-    </TMPL_IF>
+  }
 
-          <td colspan="2"><b>
-            <a href="<TMPL_VAR link_edit_account>" ><TMPL_VAR accno></a>
-          </td>
-          <td align=right><b><TMPL_VAR id ESCAPE=HTML>&nbsp;</b></td>
-          <td colspan="7"><b><TMPL_VAR description ESCAPE=HTML>&nbsp;</b></td>
-          <td rowspan="3" align=right><TMPL_VAR debit>&nbsp;</td>
-          <td rowspan="3" align=right><TMPL_VAR credit>&nbsp;</td>
+  .coa_account_header_sc {
+        font-size:10pt; 
+       padding:3px;
+       font-weight:bolder;
+       text-align:left;
+       border-style:none;
+       border-width:thin;
+        cursor:s-resize;
+  }
   
-        </tr> 
-                                 
-    <TMPL_IF __odd__>
-        <tr valign="top" class="listrow1">
-    <TMPL_ELSE>
-        <tr valign="top" class="listrow0">
-    </TMPL_IF>
+  .coa_detail {
+       padding:0px;
+       border-style:none;
+  }
+  
+  .coa_detail_emph {
+        font-size:10pt;
+        font-weight:bold;
+        color:darkred;
+  }
+                    
+  .coa_details_header {
+        font-size:8pt; 
+       padding:3px;
+       font-weight:bolder;
+       text-align:center;
+       border-style:none;
+       border-width:thin;
+  }
+
+  .coa_details_header2 {
+        font-size:8pt; 
+       padding:3px;
+       font-weight:normal;
+       text-align:left;
+       border-style:none;
+       border-width:thin;
+  }
+  
+  </style>
+
+</head>
+
+<body>
+
+<br/><div id='pjxdebugrequest'></div><br/>
+
 
-          <td colspan="3"><b><TMPL_VAR category ESCAPE=HTML>&nbsp;</b></td>
-          <td colspan="7"><TMPL_VAR link>&nbsp;</td>
-        </tr>                                
+<table width=100%>
+  <tr class="coa_listtop">
+      <th class="coa_listtop"><TMPL_VAR title ESCAPE=HTML></th>
+  </tr>
+</table>
+
+<br />
+
+<table width="100%">
+
+  <colgroup>
+      <col width="10%">
+      <col width="10%">
+      <col width="10%">
+      <col width="50%">
+      <col width="10%">
+      <col width="10%">
+  </colgroup>
+  
+  <tr class="coa_listheading">
+    
+    <td class="coa_listheading_element">
+        Konto
+    </td>
+    <td colspan="3" class="coa_listheading_element">
+        Beschreibung (Klick
+  öffnet einzelne Kontendetails)
+    </td>
+    <td class="coa_listheading_element">
+        Soll
+    </td>
+    <td class="coa_listheading_element">
+        Haben
+    </td>
+  </tr>
+
+<TMPL_LOOP CA>
+
+  <TMPL_IF heading>
+        <tr>
+          <td class="accountlistheading">
+            <a href="<TMPL_VAR link_edit_account>" >
+            <TMPL_VAR accno>
+            </a>
+          </td>
+          <td colspan="5" class="accountlistheading">
+            <TMPL_VAR description>
+          </td>
+        </tr>
+  <TMPL_ELSE>
 
     <TMPL_IF __odd__>
-        <tr class="listrow1">
+        <tr class="coa_listrow1">
     <TMPL_ELSE>
-        <tr class="listrow0">
+        <tr class="coa_listrow0">
     </TMPL_IF>
+    
 
-          <td valign="top"><TMPL_VAR taxkey                     >&nbsp;</td>
-          <td valign="top"><TMPL_VAR taxaccount                 >&nbsp;</td>
-          <td valign="top"><TMPL_VAR taxdescription             >&nbsp;</td>
-          <td valign="top"><TMPL_VAR startdate                  >&nbsp;</td>
-          <td valign="top"><TMPL_VAR tk_ustva                   >&nbsp;</td>
-
-          <td valign="center"><TMPL_VAR pos_ustva       ESCAPE=HTML>&nbsp;</td>
-          <td valign="center"><TMPL_VAR pos_bwa         ESCAPE=HTML>&nbsp;</td>
-          <td valign="center"><TMPL_VAR pos_bilanz      ESCAPE=HTML>&nbsp;</td>
-          <td valign="center"><TMPL_VAR pos_eur         ESCAPE=HTML>&nbsp;</td>
-          <td valign="center"><TMPL_VAR datevautomatik  ESCAPE=HTML>&nbsp;</td>
-        </tr>
-        <tr>
-          <td colspan="14">&nbsp;</td>
-        </tr>
+    <td class="coa_account_header">
+        <b><a href="<TMPL_VAR link_edit_account>" ><TMPL_VAR accno></a></b>
+
+    </td>
+    <input type="hidden" name="chart_id" value="<TMPL_VAR id ESCAPE=HTML>"
+    id="chart_id_<TMPL_VAR id ESCAPE=HTML>" >
+    <td colspan="3" id="accountcontent<TMPL_VAR id
+      ESCAPE=HTML>-title" class="coa_account_header_sc"
+      onclick="list_account_details( ['chart_id_<TMPL_VAR id ESCAPE=HTML>'],
+      ['ajaxcontent<TMPL_VAR id ESCAPE=HTML>'] )">
+    <TMPL_VAR description ESCAPE=HTML>&nbsp;
+    </td>
+    <td class="coa_account_header">
+            <div class="coa_amount"><TMPL_VAR debit></div>
+    </td>
+    <td class="coa_account_header">
+            <div class="coa_amount"><TMPL_VAR credit>&nbsp;</div>
+    </td>
+  </tr>
+  <tr class="coa_detail">
+    <td colspan="6" width="100%"> 
+        <div id="ajaxcontent<TMPL_VAR id ESCAPE=HTML>">
+      </div>
+    </td>
+  </tr>
+  
   </TMPL_IF>
+  
+</TMPL_LOOP>
 
+</table>
+
+</body>
+</html>
 
-</TMPL_LOOP>
 
-      <tr>
-        <td colspan="14"><hr size="3" noshade="noshade"></td>
-      </tr>
-    </table>
-      
-  </body>
-  </html>
index a4169db..e921a1f 100644 (file)
-  <body>
-
-    <table border="0" cellpadding="3" cellspacing="3" width="100%">
-      <tr>
-        <th class="listtop" colspan="14"><TMPL_VAR title ESCAPE=HTML></th>
-      </tr>
-      <tr height="5"></tr>
-      <tr class="listheading">
-        <th colspan="2"><b><translate>Account Number</translate></b></th>
-        <th align=right><b><translate>Account ID</translate></b></th>
-        <th colspan="7"><b><translate>Description</translate></b></a></th>
-        <th rowspan="3"><translate>Credit</translate></th>
-        <th rowspan="3"><translate>Debit</translate></th>
-      </tr>  
-      <tr class="listheading">
-        <th colspan="3"><b><translate>category</translate></b></th>
-        
-        <th colspan="7"><translate>Link</translate></th>
-      </tr>
-      <tr class="listheading">
-        <th><translate>Taxkey</translate></th>
-        <th><translate>Taxaccount</translate></th>
-        <th><translate>Taxdescription</translate></th>
-        <th><translate>Startdate</translate></th>
-        <th><translate>tk_ustva</translate></th>
-        <th><translate>pos_ustva</translate></th>
-        <th><translate>pos_bwa</translate></th>
-        <th><translate>pos_bilanz</translate></th>
-        <th><translate>pos_eur</translate></th>
-        <th><translate>Datev</translate></th>
-      </tr>
 
-<TMPL_LOOP CA>
+  <style type="text/css">
+  
+  /* Kontenliste Styles */
 
-  <TMPL_IF heading>
+  .coa_listtop { 
+       background-color:rgb(236,233,216); 
+       text-align:left;
+       padding:5px;
+       font-size:12pt; 
+       color:black; 
+       font-weight: bolder;
+       border-style:dashed;
+       border-width:thin;
+  }
 
-      <tr class="listheading">
-        <td colspan="2">
-          <a href=<TMPL_VAR link_edit_account> >
-            <TMPL_VAR accno>
-          </a>
-        </td>
-        <td align=right>
-          <TMPL_VAR id>
-        </td>
-        <td colspan="7">
-          <a href="<TMPL_VAR description>" >
-            <TMPL_VAR accno>
-          </a>
-        </td>
-      </tr>
-        
-  <TMPL_ELSE>
+  .coa_listheading { 
+       background-color:rgb(236,233,216); 
+       color: black; 
+       background-image:url("../image/fade.png");
+  }
+  
+  .coa_listheading_element { 
+       font-size:10pt; 
+       padding:3px;
+       font-weight:bolder;
+       text-align:left;
+       border-style:dotted;
+       border-width:thin;
+  }
+  
+  .coa_listrow1 { 
+       background-color: rgb(208,207,201); 
+       color: black; 
+       vertical-align: top; 
+  }
+
+  .coa_listrow0 { 
+        background-color: rgb(236,233,216); 
+        color: black; 
+        vertical-align: top; 
+  }
 
+  .coa_amount {
+        text-align:right;
+        font-familiy:monospace;
+  }
+
+  .coa_account_header {
+        font-size:10pt; 
+       padding:3px;
+       font-weight:bolder;
+       text-align:left;
+       border-style:none;
+       border-width:thin;
   
-    <TMPL_IF __odd__>
-        <tr valign="top" class="listrow1">
-    <TMPL_ELSE>
-        
-        <tr valign="top" class="listrow0">
-    </TMPL_IF>
+  }
 
-          <td colspan="2"><b>
-            <a href="<TMPL_VAR link_edit_account>" ><TMPL_VAR accno></a>
-          </td>
-          <td align=right><b><TMPL_VAR id ESCAPE=HTML>&nbsp;</b></td>
-          <td colspan="7"><b><TMPL_VAR description ESCAPE=HTML>&nbsp;</b></td>
-          <td rowspan="3" align=right><TMPL_VAR debit>&nbsp;</td>
-          <td rowspan="3" align=right><TMPL_VAR credit>&nbsp;</td>
+  .coa_account_header_sc {
+        font-size:10pt; 
+       padding:3px;
+       font-weight:bolder;
+       text-align:left;
+       border-style:none;
+       border-width:thin;
+        cursor:s-resize;
+  }
   
-        </tr> 
-                                 
-    <TMPL_IF __odd__>
-        <tr valign="top" class="listrow1">
-    <TMPL_ELSE>
-        <tr valign="top" class="listrow0">
-    </TMPL_IF>
+  .coa_detail {
+       padding:0px;
+       border-style:none;
+  }
+  
+  .coa_detail_emph {
+        font-size:10pt;
+        font-weight:bold;
+        color:darkred;
+  }
+                    
+  .coa_details_header {
+        font-size:8pt; 
+       padding:3px;
+       font-weight:bolder;
+       text-align:center;
+       border-style:none;
+       border-width:thin;
+  }
+
+  .coa_details_header2 {
+        font-size:8pt; 
+       padding:3px;
+       font-weight:normal;
+       text-align:left;
+       border-style:none;
+       border-width:thin;
+  }
+  
+  </style>
+
+</head>
+
+<body>
+
+<br/><div id='pjxdebugrequest'></div><br/>
+
 
-          <td colspan="3"><b><TMPL_VAR category ESCAPE=HTML>&nbsp;</b></td>
-          <td colspan="7"><TMPL_VAR link>&nbsp;</td>
-        </tr>                                
+<table width=100%>
+  <tr class="coa_listtop">
+      <th class="coa_listtop"><TMPL_VAR title ESCAPE=HTML></th>
+  </tr>
+</table>
+
+<br />
+
+<table width="100%">
+
+  <colgroup>
+      <col width="10%">
+      <col width="10%">
+      <col width="10%">
+      <col width="50%">
+      <col width="10%">
+      <col width="10%">
+  </colgroup>
+  
+  <tr class="coa_listheading">
+    
+    <td class="coa_listheading_element">
+        <translate>Account</translate>
+    </td>
+    <td colspan="3" class="coa_listheading_element">
+        <translate>Description (Click on Description for details)</translate>
+    </td>
+    <td class="coa_listheading_element">
+        <translate>Debit</translate>
+    </td>
+    <td class="coa_listheading_element">
+        <translate>Credit</translate>
+    </td>
+  </tr>
+
+<TMPL_LOOP CA>
+
+  <TMPL_IF heading>
+        <tr>
+          <td class="accountlistheading">
+            <a href="<TMPL_VAR link_edit_account>" >
+            <TMPL_VAR accno>
+            </a>
+          </td>
+          <td colspan="5" class="accountlistheading">
+            <TMPL_VAR description>
+          </td>
+        </tr>
+  <TMPL_ELSE>
 
     <TMPL_IF __odd__>
-        <tr class="listrow1">
+        <tr class="coa_listrow1">
     <TMPL_ELSE>
-        <tr class="listrow0">
+        <tr class="coa_listrow0">
     </TMPL_IF>
+    
 
-          <td valign="top"><TMPL_VAR taxkey                     >&nbsp;</td>
-          <td valign="top"><TMPL_VAR taxaccount                 >&nbsp;</td>
-          <td valign="top"><TMPL_VAR taxdescription             >&nbsp;</td>
-          <td valign="top"><TMPL_VAR startdate                  >&nbsp;</td>
-          <td valign="top"><TMPL_VAR tk_ustva                   >&nbsp;</td>
-
-          <td valign="center"><TMPL_VAR pos_ustva       ESCAPE=HTML>&nbsp;</td>
-          <td valign="center"><TMPL_VAR pos_bwa         ESCAPE=HTML>&nbsp;</td>
-          <td valign="center"><TMPL_VAR pos_bilanz      ESCAPE=HTML>&nbsp;</td>
-          <td valign="center"><TMPL_VAR pos_eur         ESCAPE=HTML>&nbsp;</td>
-          <td valign="center"><TMPL_VAR datevautomatik  ESCAPE=HTML>&nbsp;</td>
-        </tr>
-        <tr>
-          <td colspan="14">&nbsp;</td>
-        </tr>
+    <td class="coa_account_header">
+        <b><a href="<TMPL_VAR link_edit_account>" ><TMPL_VAR accno></a></b>
+
+    </td>
+    <input type="hidden" name="chart_id" value="<TMPL_VAR id ESCAPE=HTML>"
+    id="chart_id_<TMPL_VAR id ESCAPE=HTML>" >
+    <td colspan="3" id="accountcontent<TMPL_VAR id
+      ESCAPE=HTML>-title" class="coa_account_header_sc"
+      onclick="list_account_details( ['chart_id_<TMPL_VAR id ESCAPE=HTML>'],
+      ['ajaxcontent<TMPL_VAR id ESCAPE=HTML>'] )">
+    <TMPL_VAR description ESCAPE=HTML>&nbsp;
+    </td>
+    <td class="coa_account_header">
+            <div class="coa_amount"><TMPL_VAR debit></div>
+    </td>
+    <td class="coa_account_header">
+            <div class="coa_amount"><TMPL_VAR credit>&nbsp;</div>
+    </td>
+  </tr>
+  <tr class="coa_detail">
+    <td colspan="6" width="100%"> 
+        <div id="ajaxcontent<TMPL_VAR id ESCAPE=HTML>">
+      </div>
+    </td>
+  </tr>
+  
   </TMPL_IF>
+  
+</TMPL_LOOP>
 
+</table>
+
+</body>
+</html>
 
-</TMPL_LOOP>
 
-      <tr>
-        <td colspan="14"><hr size="3" noshade="noshade"></td>
-      </tr>
-    </table>
-      
-  </body>
-  </html>
\ No newline at end of file