Customer/Vendor add/edit Dialog auf templates umgestellt.
authorSven Schöling <s.schoeling@linet-services.de>
Fri, 21 Dec 2007 19:03:55 +0000 (19:03 +0000)
committerSven Schöling <s.schoeling@linet-services.de>
Fri, 21 Dec 2007 19:03:55 +0000 (19:03 +0000)
bin/mozilla/ct.pl
locale/de/all
locale/de/ct
templates/webpages/ct/form_header_de.html [new file with mode: 0644]
templates/webpages/ct/form_header_master.html [new file with mode: 0644]

index a4171b8..2a2d1a1 100644 (file)
@@ -236,572 +236,35 @@ sub form_header {
   $lxdebug->enter_sub();
 
   $form->get_lists("employees" => "ALL_SALESMEN",
-                   "taxzones" => "ALL_TAXZONES");
-
-  $form->{taxincluded} = ($form->{taxincluded}) ? "checked" : "";
-  $form->{creditlimit} =
-    $form->format_amount(\%myconfig, $form->{creditlimit}, 0);
-  $form->{discount} = $form->format_amount(\%myconfig, $form->{discount});
-
-  if ($myconfig{role} eq 'admin') {
-    $bcc = qq|
-        <tr>
-         <th align=right nowrap>| . $locale->text('Bcc') . qq|</th>
-         <td><input name=bcc size=35 value="$form->{bcc}"></td>
-       </tr>
-|;
-  }
-  $form->{obsolete} = "checked" if $form->{obsolete};
-
-  $lang = qq|<option value=""></option>|;
-  foreach $item (@{ $form->{languages} }) {
-    if ($form->{language_id} eq $item->{id}) {
-      $lang .= qq|<option value="$item->{id}" selected>$item->{description}</option>|;
-    } else {
-      $lang .= qq|<option value="$item->{id}">$item->{description}</option>|;
-    }
-  }
-
-  $payment = qq|<option value=""></option>|;
-  foreach $item (@{ $form->{payment_terms} }) {
-    if ($form->{payment_id} eq $item->{id}) {
-      $payment .= qq|<option value="$item->{id}" selected>$item->{description}</option>|;
-    } else {
-      $payment .= qq|<option value="$item->{id}">$item->{description}</option>|;
-    }
-  }
-
-  if (!$form->{id}) {
-    if ($form->{db} eq "customer") {
-      $form->{taxzone_id} = 0;
-    } else {
-      $form->{taxzone_id} = 0;
-    }
-  }
-
-  %labels = ();
-  @values = ();
-  foreach my $item (@{ $form->{"ALL_TAXZONES"} }) {
-    push(@values, $item->{"id"});
-    $labels{$item->{"id"}} = $item->{"description"};
-  }
-
-  $taxzone = qq|
-               <th align=right>| . $locale->text('Steuersatz') . qq|</th>
-      <td>| .
-        NTI($cgi->popup_menu('-name' => 'taxzone_id', '-default' => $form->{"taxzone_id"},
-                             '-values' => \@values, '-labels' => \%labels)) . qq|
-      </td>
-|;
-
-  $get_contact_url =
-    "$form->{script}?login=$form->{login}&password=$form->{password}&action=get_contact";
-
-  my $pjx = new CGI::Ajax( 'get_contact' => $get_contact_url );
-  $form->{selectcontact} = "<option value=0>" . $locale->text('New contact') . "</option>";
-  if (@{ $form->{CONTACTS} }) {
-    foreach $item (@{ $form->{CONTACTS} }) {
-      if ($item->{cp_id} == $form->{cp_id}) {
-        $form->{selectcontact} .=
-          qq|<option value=$item->{cp_id} selected>$item->{cp_name}</option>\n|;
-      } else {
-        $form->{selectcontact} .=
-          qq|<option value=$item->{cp_id}>$item->{cp_name}</option>\n|;
-      }
-
-    }
-  }
-  push(@ { $form->{AJAX} }, $pjx);
-  $ansprechpartner = qq|
-             <tr>
-               <th align=right>| . $locale->text('Ansprechpartner') . qq|</th>
-               <td><select id=cp_id name=cp_id onChange="get_contact(['cp_id__' + this.value], ['cp_name', 'cp_greeting', 'cp_title', 'cp_givenname', 'cp_phone1', 'cp_phone2', 'cp_email', 'cp_abteilung', 'cp_fax', 'cp_mobile1', 'cp_mobile2', 'cp_satphone', 'cp_satfax', 'cp_project', 'cp_privatphone', 'cp_privatemail', 'cp_birthday'])">$form->{selectcontact}</select></td>
-               <input type=hidden name=selectcontact value="$form->{selectcontact}">
-             </tr>|;
-  $get_shipto_url =
-    "$form->{script}?login=$form->{login}&password=$form->{password}&action=get_shipto";
-
-  my $pjy = new CGI::Ajax( 'get_shipto' => $get_shipto_url );
-  $form->{selectshipto} = "<option value=0></option>";
-  $form->{selectshipto} .= "<option value=0>Alle</option>";
-  if (@{ $form->{SHIPTO} }) {
-    foreach $item (@{ $form->{SHIPTO} }) {
-      if ($item->{shipto_id} == $form->{shipto_id}) {
-        $form->{selectshipto} .=
-          "<option value=$item->{shipto_id} selected>$item->{shiptoname} $item->{shiptodepartment_1}\n";
-      } else {
-        $form->{selectshipto} .=
-          "<option value=$item->{shipto_id}>$item->{shiptoname} $item->{shiptodepartment_1}\n";
-      }
-
-    }
-  }
-  push(@ { $form->{AJAX} }, $pjy);
-
-  $shipto = qq|
-             <tr>
-               <th align=right>| . $locale->text('Shipping Address') . qq|</th>
-               <td><select id=shipto_id name=shipto_id onChange="get_shipto(['shipto_id__' + this.value], ['shiptoname','shiptodepartment_1', 'shiptodepartment_2','shiptostreet','shiptozipcode','shiptocity','shiptocountry','shiptocontact','shiptophone','shiptofax','shiptoemail'])">$form->{selectshipto}</select></td>
-               <input type=hidden name=selectshipto value="$form->{selectshipto}">
-             </tr>|;
-
-
-  $get_delivery_url =
-    "$form->{script}?login=$form->{login}&password=$form->{password}&action=get_delivery";
-
-  my $pjz = new CGI::Ajax( 'get_delivery' => $get_delivery_url );
+                   "taxzones"  => "ALL_TAXZONES");
+  $form->get_pricegroup(\%myconfig, { all => 1 });
 
-  push(@ { $form->{AJAX} }, $pjz);
+  $form->{taxincluded}    = ($form->{taxincluded}) ? "checked" : "";
+  $form->{is_admin}       = $myconfig{role} eq 'admin';
+  $form->{is_customer}    = $form->{db}     eq 'customer';
+  $form->{salesman_label} = sub { $_[0]->{name} ne "" ? $_[0]->{name} : $_[0]->{login} };
+  $form->{shipto_label}   = sub { "$_[0]->{shiptoname} $_[0]->{shiptodepartment_1}" };
+  $form->{taxzone_id}     = 0                                                               if !$form->{id};
+  $form->{jsscript}       = 1;
+  $form->{fokus}          = "ct.greeting";
 
-  $delivery = qq|
-             <tr>
-               <th align=right>| . $locale->text('Shipping Address') . qq|</th>
-               <td><select id=delivery_id name=delivery_id onChange="get_delivery(['shipto_id__' + this.value, 'from__' + from.value, 'to__' + to.value, 'id__' + cvid.value, 'db__' + db.value], ['delivery'])">$form->{selectshipto}</select></td>
-             </tr>|;
+  unshift @{ $form->{SHIPTO} },   +{ shipto_id => '0', shiptoname => '' }, +{ shipto_id => '0', shiptoname => 'Alle' };
+  unshift @{ $form->{CONTACTS} }, +{ cp_id     => '0', cp_name => $locale->text('New contact') };
 
-  $form->{selectbusiness} = qq|<option>\n|;
-  map {
-    $form->{selectbusiness} .=
-      qq|<option value=$_->{id}>$_->{description}\n|
-  } @{ $form->{all_business} };
-  if ($form->{business_save}) {
-    $form->{selectbusiness} = $form->{business_save};
-  }
-  $form->{selectbusiness} =~
-    s/<option value=$form->{business}>/<option value=$form->{business} selected>/;
-
-  $label = ucfirst $form->{db};
-  if ($form->{title} eq "Edit") {
-    $form->{title} = $locale->text("$form->{title} $label") . " $form->{name}";
-  } else  {
-    $form->{title} = $locale->text("$form->{title} $label");
-  }
-  if ($form->{title_save}) {
-    $form->{title} = $form->{title_save};
-  }
-  if ($form->{db} eq 'vendor') {
-    $customer = qq|
-           <th align=right>| . $locale->text('Kundennummer') . qq|</th>
-           <td><input name=v_customer_id size=10 value="$form->{v_customer_id}"></td>
-|;
-  }
+  push @{ $form->{AJAX} }, map { 
+    new CGI::Ajax( "get_$_" => "$form->{script}?login=$form->{login}&password=$form->{password}&action=get_$_" ) 
+  } qw(shipto contact delivery);
 
-  if ($form->{db} eq 'customer') {
-
-    $customer = qq|
-           <th align=right>| . $locale->text('KNr. beim Kunden') . qq|</th>
-           <td><input name=c_vendor_id size=10 value="$form->{c_vendor_id}"></td>
-|;
-  }
-
-  $business = qq|
-         <th align=right>| . $locale->text('Type of Business') . qq|</th>
-         <td><select name=business>$form->{selectbusiness}</select></td>
-      |;
-
-  $salesman = "";
-
-  if ($form->{db} eq "customer") {
-    my (@salesman_values, %salesman_labels);
-    push(@salesman_values, undef);
-    foreach my $item (@{ $form->{ALL_SALESMEN} }) {
-      push(@salesman_values, $item->{id});
-      $salesman_labels{$item->{id}} = $item->{name} ne "" ? $item->{name} : $item->{login};
-    }
-
-    $salesman =
-      qq| <th align="right">| . $locale->text('Salesman') . qq|</th>
-          <td>| .
-      NTI($cgi->popup_menu('-name' => 'salesman_id', '-default' => $form->{salesman_id},
-                           '-values' => \@salesman_values, '-labels' => \%salesman_labels))
-      . qq|</td>|;
-  }
+  $form->{title} = $form->{title_save} 
+                || $locale->text("$form->{title} " . ucfirst $form->{db}) . ($form->{title} eq "Edit" ? " $form->{name}" : '');
 
 ## LINET: Create a drop-down box with all prior titles and greetings.
   CT->query_titles_and_greetings(\%myconfig, \%$form);
-
-  $select_title = qq|&nbsp;<select name=selected_cp_title><option></option>|;
-  map({ $select_title .= qq|<option>$_</option>|; } @{ $form->{TITLES} });
-  $select_title .= qq|</select>|;
-
-  $select_greeting =
-    qq|&nbsp;<select name=selected_cp_greeting><option></option>|;
-  map(
-     { $select_greeting .= qq|<option>$_</option>|; } @{ $form->{GREETINGS} });
-  $select_greeting .= qq|</select>|;
-
-  $select_company_greeting =
-    qq|&nbsp;<select name=selected_company_greeting><option></option>|;
-  map(
-     { $select_company_greeting .= qq|<option>$_</option>|; } @{ $form->{COMPANY_GREETINGS} });
-  $select_company_greeting .= qq|</select>|;
-
-  $select_department =
-    qq|&nbsp;<select name=selected_cp_abteilung><option></option>|;
-  map(
-     { $select_department .= qq|<option>$_</option>|; } @{ $form->{DEPARTMENT} });
-  $select_department .= qq|</select>|;
+  map { $form->{"MB_$_"} = [ map +{ id => $_, description => $_ }, @{ $form->{$_} } ] } qw(TITLES GREETINGS COMPANY_GREETINGS DEPARTMENT);
 ## /LINET
 
-  if ($form->{db} eq 'customer') {
-
-    #get pricegroup and form it
-    $form->get_pricegroup(\%myconfig, { all => 1 });
-
-    $form->{pricegroup}    = "$form->{klass}";
-    $form->{pricegroup_id} = "$form->{klass}";
-
-    if (@{ $form->{all_pricegroup} }) {
-
-      $form->{selectpricegroup} = qq|<option>\n|;
-      map {
-        $form->{selectpricegroup} .=
-          qq|<option value="$_->{id}">$_->{pricegroup}\n|
-      } @{ $form->{all_pricegroup} };
-    }
-
-    if ($form->{selectpricegroup}) {
-      $form->{selectpricegroup} = $form->unescape($form->{selectpricegroup});
-
-      $pricegroup =
-        qq|<input type=hidden name=selectpricegroup value="|
-        . $form->escape($form->{selectpricegroup}, 1) . qq|">|;
-
-      $form->{selectpricegroup} =~
-        s/(<option value="\Q$form->{klass}\E")/$1 selected/;
-
-      $pricegroup .=
-        qq|<select name=klass>$form->{selectpricegroup}</select>|;
-
-    }
-  }
-
-  # $locale->text('Customer Number')
-  # $locale->text('Vendor Number')
-  $form->{fokus} = "ct.greeting";
-  $form->{jsscript} = 1;
   $form->header;
-
-  print qq|
-<body onLoad="fokus()">
-<table width=100%>
-  <tr>
-    <th class=listtop>$form->{title}</th>
-  </tr>
-</table>
-
-
-<form method=post name="ct" action=$form->{script} onKeyUp="highlight(event)" onClick="highlight(event)">
-
-
-
-<ul id="maintab" class="shadetabs">
-<li class="selected"><a href="#" rel="billing">|
-    . $locale->text('Billing Address') . qq|</a></li>
-<li><a href="#" rel="shipto">|
-    . $locale->text('Shipping Address') . qq|</a></li>
-<li><a href="#" rel="contacts">Ansprechpartner</a></li>
-<li><a href="#" rel="deliveries">|
-    . $locale->text('Lieferungen') . qq|</a></li>
-
-</ul>
-
-<div class="tabcontentstyle">
-
-<div id="billing" class="tabcontent">
-
-      <table width=100%>
-       <tr height="5"></tr>
-       <tr>
-         <th align=right nowrap>| . $locale->text($label . ' Number') . qq|</th>
-         <td><input name="$form->{db}number" size=35 value="$form->{"$form->{db}number"}"></td>
-       </tr>
-        <tr>
-          <th align=right nowrap>| . $locale->text('Greeting') . qq|</th>
-          <td><input id=greeting name=greeting size=30 value="$form->{greeting}">&nbsp;
-          $select_company_greeting</td>
-        </tr>
-       <tr>
-         <th align=right nowrap>| . $locale->text('Company Name') . qq|</th>
-         <td><input name=name size=35 maxlength=75 value="$form->{name}"></td>
-       </tr>
-       <tr>
-         <th align=right nowrap>| . $locale->text('Abteilung') . qq|</th>
-         <td><input name=department_1 size=16 maxlength=75 value="$form->{department_1}">
-         <input name=department_2 size=16 maxlength=75 value="$form->{department_2}"></td>
-       </tr>
-       <tr>
-         <th align=right nowrap>| . $locale->text('Street') . qq|</th>
-         <td><input name=street size=35 maxlength=75 value="$form->{street}"></td>
-       </tr>
-       <tr>
-         <th align=right nowrap>|
-    . $locale->text('Zipcode') . "/" . $locale->text('City') . qq|</th>
-         <td><input name=zipcode size=5 maxlength=10 value="$form->{zipcode}">
-          <input name=city size=30 maxlength=75 value="$form->{city}"></td>
-       </tr>
-       <tr>
-         <th align=right nowrap>| . $locale->text('Country') . qq|</th>
-         <td><input name=country size=35 maxlength=75 value="$form->{country}"></td>
-       </tr>
-       <tr>
-          <th align=right nowrap>| . $locale->text('Contact') . qq|</th>
-          <td><input name=contact size=28 maxlength=75 value="$form->{contact}"></td>
-       </tr>
-       <tr>
-         <th align=right nowrap>| . $locale->text('Phone') . qq|</th>
-         <td><input name=phone size=30 maxlength=30 value="$form->{phone}"></td>
-       </tr>
-       <tr>
-         <th align=right nowrap>| . $locale->text('Fax') . qq|</th>
-         <td><input name=fax size=30 maxlength=30 value="$form->{fax}"></td>
-       </tr>
-       <tr>
-         <th align=right nowrap>| . $locale->text('E-mail') . qq|</th>
-         <td><input name=email size=45 value="$form->{email}"></td>
-       </tr>
-       <tr>
-         <th align=right nowrap>| . $locale->text('Homepage') . qq|</th>
-         <td><input name=homepage size=45 value="$form->{homepage}"></td>
-       </tr>
-</table>
-<table>
-       <tr>
-         <th align=right>| . $locale->text('Credit Limit') . qq|</th>
-         <td><input name=creditlimit size=9 value="$form->{creditlimit}"></td>
-         <input type="hidden" name="terms" value="$form->{terms}">
-         <th align=right>| . $locale->text('Payment Terms') . qq|</th>
-         <td><select name=payment_id>$payment</select></td>
-         <th align=right>| . $locale->text('Discount') . qq|</th>
-         <td><input name=discount size=4 value="$form->{discount}">
-         %</td>
-       </tr>
-       <tr>
-         <th align=right>| . $locale->text('Tax Number / SSN') . qq|</th>
-         <td><input name=taxnumber size=20 value="$form->{taxnumber}"></td>
-          <th align=right>| . $locale->text('USt-IdNr.') . qq|</th>
-         <td><input name="ustid" maxlength="14" size="20" value="$form->{ustid}"></td>
-          $customer
-       </tr>
-        <tr>
-          <th align=right>| . $locale->text('Account Number') . qq|</th>
-          <td><input name="account_number" size="10" maxlength="15" value="$form->{account_number}"></td>
-          <th align=right>| . $locale->text('Bank Code Number') . qq|</th>
-          <td><input name="bank_code" size="10" maxlength="10" value="$form->{bank_code}"></td>
-          <th align=right>| . $locale->text('Bank') . qq|</th>
-          <td><input name=bank size=30 value="$form->{bank}"></td>
-        </tr>
-       <tr>
-          $business
-         <th align=right>| . $locale->text('Language') . qq|</th>
-         <td><select name=language_id>$lang
-                          </select></td>|;
-
-  if ($form->{db} eq 'customer') {
-
-    print qq|
-          <th align=right>| . $locale->text('Preisklasse') . qq|</th>
-          <td>$pricegroup</td>|;
-  }
-  print qq|        </tr>
-        <tr>
-          <td align=right>| . $locale->text('Obsolete') . qq|</td>
-          <td><input name=obsolete class=checkbox type=checkbox value=1 $form->{obsolete}></td>
-       </tr>
-        <tr>
-          $taxzone
-          $salesman
-        </tr>
-      </table>
-  <table>
-  <tr>
-    <th align=left nowrap>| . $locale->text('Notes') . qq|</th>
-  </tr>
-  <tr>
-    <td><textarea name=notes rows=3 cols=60 wrap=soft>$form->{notes}</textarea></td>
-  </tr>
-
-            </table>
-          </td>
-        </tr>
-</table>
-<br style="clear: left" /></div>|;
-
-print qq|
-      <div id="shipto" class="tabcontent">
-
-      <table width=100%>
-$shipto
-       <tr>
-         <th align=right nowrap>| . $locale->text('Company Name') . qq|</th>
-         <td><input id=shiptoname name=shiptoname size=35 maxlength=75 value="$form->{shiptoname}"></td>
-       </tr>
-       <tr>
-         <th align=right nowrap>| . $locale->text('Abteilung') . qq|</th>
-          <td><input id=shiptodepartment_1 name=shiptodepartment_1 size=16 maxlength=75 value="$form->{shiptodepartment_1}">
-         <input id=shiptodepartment_2 name=shiptodepartment_2 size=16 maxlength=75 value="$form->{shiptodepartment_2}"></td>
-       </tr>
-       <tr>
-         <th align=right nowrap>| . $locale->text('Street') . qq|</th>
-         <td><input id=shiptostreet name=shiptostreet size=35 maxlength=75 value="$form->{shiptostreet}"></td>
-       </tr>
-       <tr>
-         <th align=right nowrap>|
-    . $locale->text('Zipcode') . "/" . $locale->text('City') . qq|</th>
-         <td><input id=shiptozipcode name=shiptozipcode size=5 maxlength=75 value="$form->{shiptozipcode}">
-          <input id=shiptocity name=shiptocity size=30 maxlength=75 value="$form->{shiptocity}"></td>
-       </tr>
-       <tr>
-         <th align=right nowrap>| . $locale->text('Country') . qq|</th>
-         <td><input id=shiptocountry name=shiptocountry size=35 maxlength=75 value="$form->{shiptocountry}"></td>
-       </tr>
-       <tr>
-          <th align=right nowrap>| . $locale->text('Contact') . qq|</th>
-         <td><input id=shiptocontact name=shiptocontact size=30 maxlength=75 value="$form->{shiptocontact}"></td>
-       </tr>
-       <tr>
-         <th align=right nowrap>| . $locale->text('Phone') . qq|</th>
-         <td><input id=shiptophone name=shiptophone size=30 maxlength=30 value="$form->{shiptophone}"></td>
-       </tr>
-       <tr>
-         <th align=right nowrap>| . $locale->text('Fax') . qq|</th>
-         <td><input id=shiptofax name=shiptofax size=30 maxlength=30 value="$form->{shiptofax}"></td>
-       </tr>
-       <tr>
-         <th align=right nowrap>| . $locale->text('E-mail') . qq|</th>
-         <td><input id=shiptoemail name=shiptoemail size=45 value="$form->{shiptoemail}"></td>
-       </tr>
-        <tr>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-           <td>&nbsp;</td>
-       </tr>
-
-    </table>
-<br style="clear: left" /></div>|;
-
-
-##LINET - added fields for contact person
-  print qq|   
-<div id="contacts" class="tabcontent">
-<table>
-    <tr>
-         <td colspan=3>
-               <input type=hidden name=cp_id value=$form->{cp_id}>
-                <table>
-                $ansprechpartner
-                <tr>
-                 <th align=left nowrap>| . $locale->text('Greeting') . qq|</th>
-                  <td><input id=cp_greeting name=cp_greeting size=40 maxlength=75 value="$form->{cp_greeting}">&nbsp;
-                  $select_greeting</td>
-                </tr>
-                <tr>
-                  <th align=left nowrap>| . $locale->text('Title') . qq|</th>
-                  <td><input id=cp_title name=cp_title size=40 maxlength=75 value="$form->{cp_title}">&nbsp;
-                  $select_title</td>
-                </tr>
-                <tr>
-                  <th align=left nowrap>| . $locale->text('Department') . qq|</th>
-                  <td><input id=cp_abteilung name=cp_abteilung size=40 value="$form->{cp_abteilung}">&nbsp;
-                  $select_department</td>
-                </tr>
-                <tr>
-                  <th align=left nowrap>|
-    . $locale->text('Given Name') . qq|</th>
-                  <td><input id="cp_givenname" name="cp_givenname" size="40" maxlength="75" value="$form->{cp_givenname}"></td>
-                </tr>
-                <tr>
-                 <th align=left nowrap>| . $locale->text('Name') . qq|</th>
-                  <td><input id="cp_name" name="cp_name" size="40" maxlength="75" value="$form->{cp_name}"></td>
-                </tr>
-                <tr>
-                 <th align=left nowrap>| . $locale->text('Phone1') . qq|</th>
-                  <td><input id="cp_phone1" name="cp_phone1" size="40" maxlength="75" value="$form->{cp_phone1}"></td>
-                </tr>
-                <tr>
-                  <th align=left nowrap>| . $locale->text('Phone2') . qq|</th>
-                  <td><input id="cp_phone2" name="cp_phone2" size="40" maxlength="75" value="$form->{cp_phone2}"></td>
-                </tr>
-                <tr>
-                  <th align=left nowrap>| . $locale->text('Fax') . qq|</th>
-                  <td><input id=cp_fax name=cp_fax size=40 value="$form->{cp_fax}"></td>
-                </tr>
-                <tr>
-                  <th align=left nowrap>| . $locale->text('Mobile1') . qq|</th>
-                  <td><input id=cp_mobile1 name=cp_mobile1 size=40 value="$form->{cp_mobile1}"></td>
-                </tr>
-                <tr>
-                  <th align=left nowrap>| . $locale->text('Mobile2') . qq|</th>
-                  <td><input id=cp_mobile2 name=cp_mobile2 size=40 value="$form->{cp_mobile2}"></td>
-                </tr>
-                <tr>
-                  <th align=left nowrap>| . $locale->text('Sat. Phone') . qq|</th>
-                  <td><input id=cp_satphone name=cp_satphone size=40 value="$form->{cp_satphone}"></td>
-                </tr>
-                <tr>
-                  <th align=left nowrap>| . $locale->text('Sat. Fax') . qq|</th>
-                  <td><input id=cp_satfax name=cp_satfax size=40 value="$form->{cp_satfax}"></td>
-                </tr>
-                <tr>
-                 <th align=left nowrap>| . $locale->text('Project') . qq|</th>
-                  <td><input id=cp_project name=cp_project size=40 value="$form->{cp_project}"></td>
-                </tr>
-                <tr>
-                 <th align=left nowrap>| . $locale->text('E-mail') . qq|</th>
-                  <td><input id=cp_email name=cp_email size=40 value="$form->{cp_email}"></td>
-                </tr>
-                <tr>
-                 <th align=left nowrap>| . $locale->text('Private Phone') . qq|</th>
-                  <td><input id=cp_privatphone name=cp_privatphone size=40 value="$form->{cp_privatphone}"></td>
-                </tr>
-                <tr>
-                 <th align=left nowrap>| . $locale->text('Private E-mail') . qq|</th>
-                  <td><input id=cp_privatemail name=cp_privatemail size=40 value="$form->{cp_privatemail}"></td>
-                </tr>
-                <tr>
-                 <th align=left nowrap>| . $locale->text('Birthday') . qq|</th>
-                  <td><input id=cp_birthday name=cp_birthday size=40 value="$form->{cp_birthday}"></td>
-                </tr>
-                
-          </table>
-        </td>
-        </tr>
-        <tr height="5"></tr>|;
-##/LINET
-  print qq|        $bcc
-       $tax
-      </table>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      
-<br style="clear: left" /></div>
-<div id="deliveries" class="tabcontent">
-  <table>
-    $delivery
-    <tr>
-      <th align=left nowrap>| . $locale->text('From') . qq|</th>
-      <td><input id=from name=from size=10 maxlength=10 value="$form->{from}">
-        <input type="button" name="fromB" id="trigger_from" value="?"></td>
-      <th align=left nowrap>| . $locale->text('To (time)') . qq|</th>
-      <td><input id=to name=to size=10 maxlength=10 value="$form->{to}">
-        <input type="button" name="toB" id="trigger_to" value="?"></td>
-    </tr>       
-    <tr>
-     <td colspan=4>
-      <div id=delivery>
-      </div>
-      </td>
-    </tr>
-  </table>
-<br style="clear: left" /></div>
-
-</div>
-
-| . $form->write_trigger(\%myconfig, 2, "fromB", "BL", "trigger_from",
-                         "toB", "BL", "trigger_to");
+  print $form->parse_html_template('ct/form_header');
 
   $lxdebug->leave_sub();
 }
index 0ba69fe..c37c7b8 100644 (file)
@@ -5,7 +5,6 @@
 
 $self->{texts} = {
   ' Date missing!'              => ' Datum fehlt!',
-  ' Number'                     => ' Nummer',
   ' Part Number missing!'       => ' Artikelnummer fehlt!',
   ' missing!'                   => ' fehlt!',
   '&lt;%account_number%&gt; -- Your account number' => '&lt;%account_number%&gt; -- Ihre Kontonummer',
index 1012349..92cccb1 100644 (file)
@@ -1,35 +1,23 @@
 $self->{texts} = {
-  ' Number'                     => ' Nummer',
   'ADDED'                       => 'Hinzugefügt',
-  'Abteilung'                   => 'Abteilung',
-  'Account Number'              => 'Kontonummer',
   'Add Customer'                => 'Kunde erfassen',
   'Add Vendor'                  => 'Lieferant erfassen',
   'Address'                     => 'Adresse',
   'All'                         => 'Alle',
-  'Ansprechpartner'             => 'Ansprechpartner',
   'Attempt to call an undefined sub named \'%s\'' => 'Es wurde versucht, eine nicht definierte Unterfunktion namens \'%s\' aufzurufen.',
-  'Bank'                        => 'Bank',
-  'Bank Code Number'            => 'Bankleitzahl',
   'Bcc'                         => 'Bcc',
-  'Billing Address'             => 'Rechnungsadresse',
   'Bin List'                    => 'Lagerliste',
-  'Birthday'                    => 'Geburtstag',
   'CANCELED'                    => 'Storniert',
   'CSV export -- options'       => 'CSV-Export -- Optionen',
   'Cannot delete customer!'     => 'Kunde kann nicht gelöscht werden!',
   'Cannot delete vendor!'       => 'Lieferant kann nicht gelöscht werden!',
   'Cc'                          => 'Cc',
-  'City'                        => 'Stadt',
-  'Company Name'                => 'Firmenname',
   'Confirmation'                => 'Auftragsbestätigung',
   'Contact'                     => 'Kontakt',
   'Could not spawn html2ps or GhostScript.' => 'html2ps oder GhostScript konnte nicht gestartet werden.',
   'Could not spawn the printer command.' => 'Die Druckanwendung konnte nicht gestartet werden.',
   'Could not write the html2ps config file.' => 'Die tempor&auml;re html2ps-Konfigurationsdatei konnte nicht geschrieben werden.',
   'Could not write the temporary HTML file.' => 'Eine tempor&auml;re HTML-Datei konnte nicht geschrieben werden.',
-  'Country'                     => 'Land',
-  'Credit Limit'                => 'Kreditlimit',
   'Credit Note'                 => 'Gutschrift',
   'Customer Number'             => 'Kundennummer',
   'Customer deleted!'           => 'Kunde gelöscht!',
@@ -41,11 +29,9 @@ $self->{texts} = {
   'Dataset upgrade'             => 'Datenbankaktualisierung',
   'Date'                        => 'Datum',
   'Delete'                      => 'Löschen',
-  'Department'                  => 'Abteilung',
   'Dependency loop detected:'   => 'Schleife in den Abh&auml;ngigkeiten entdeckt:',
   'Description'                 => 'Beschreibung',
   'Directory'                   => 'Verzeichnis',
-  'Discount'                    => 'Rabatt',
   'E-mail'                      => 'eMail',
   'ELSE'                        => 'Zusatz',
   'Edit Customer'               => 'Kunde editieren',
@@ -54,18 +40,10 @@ $self->{texts} = {
   'Error in database control file \'%s\': %s' => 'Fehler in Datenbankupgradekontrolldatei \'%s\': %s',
   'Fax'                         => 'Fax',
   'File'                        => 'Datei',
-  'From'                        => 'Von',
-  'Given Name'                  => 'Vorname',
-  'Greeting'                    => 'Anrede',
   'History'                     => 'Historie',
-  'Homepage'                    => 'Homepage',
   'ID'                          => 'Buchungsnummer',
   'Invdate'                     => 'Rechnungsdatum',
   'Invoice'                     => 'Rechnung',
-  'KNr. beim Kunden'            => 'KNr. beim Kunden',
-  'Kundennummer'                => 'Kundennummer',
-  'Language'                    => 'Sprache',
-  'Lieferungen'                 => 'Lieferungen',
   'MAILED'                      => 'Gesendet',
   'Mark as paid?'               => 'Als bezahlt markieren?',
   'Marked as paid'              => 'Als bezahlt markiert',
@@ -73,8 +51,6 @@ $self->{texts} = {
   'Missing \'description\' field.' => 'Fehlendes Feld \'description\'.',
   'Missing \'tag\' field.'      => 'Fehlendes Feld \'tag\'.',
   'Missing parameter #1 in call to sub #2.' => 'Fehlernder Parameter \'#1\' in Funktionsaufruf \'#2\'.',
-  'Mobile1'                     => 'Mobile 1',
-  'Mobile2'                     => 'Mobile 2',
   'More than one control file with the tag \'%s\' exist.' => 'Es gibt mehr als eine Kontrolldatei mit dem Tag \'%s\'.',
   'Name'                        => 'Name',
   'Name missing!'               => 'Name fehlt!',
@@ -89,9 +65,7 @@ $self->{texts} = {
   'No part was found matching the search parameters.' => 'Es wurde kein Artikel gefunden, auf den die Suchparameter zutreffen.',
   'No project was found matching the search parameters.' => 'Es wurde kein Projekt gefunden, auf das die Suchparameter zutreffen.',
   'No vendor has been selected yet.' => 'Es wurde noch kein Lieferant ausgewählt.',
-  'Notes'                       => 'Bemerkungen',
   'Number'                      => 'Nummer',
-  'Obsolete'                    => 'Ungültig',
   'Order'                       => 'Auftrag',
   'Orphaned'                    => 'Nie benutzt',
   'PAYMENT POSTED'              => 'Rechung gebucht',
@@ -102,17 +76,10 @@ $self->{texts} = {
   'Packing List'                => 'Lieferschein',
   'Part Number'                 => 'Artikelnummer',
   'Part description'            => 'Artikelbeschreibung',
-  'Payment Terms'               => 'Zahlungskonditionen',
   'Phone'                       => 'Telefon',
-  'Phone1'                      => 'Telefon 1 ',
-  'Phone2'                      => 'Telefon 2',
   'Pick List'                   => 'Sammelliste',
   'Please enter values'         => 'Bitte Werte eingeben',
-  'Preisklasse'                 => 'Preisgruppe',
-  'Private E-mail'              => 'Private eMail',
-  'Private Phone'               => 'Privates Tel.',
   'Proforma Invoice'            => 'Proformarechnung',
-  'Project'                     => 'Projekt',
   'Project Number'              => 'Projektnummer',
   'Project description'         => 'Projektbeschreibung',
   'Purchase Order'              => 'Lieferantenauftrag',
@@ -125,9 +92,6 @@ $self->{texts} = {
   'SCREENED'                    => 'Angezeigt',
   'SIC'                         => 'SIC',
   'Sales Order'                 => 'Kundenauftrag',
-  'Salesman'                    => 'Verkäufer/in',
-  'Sat. Fax'                    => 'Sat. Fax',
-  'Sat. Phone'                  => 'Sat. Tel.',
   'Save'                        => 'Speichern',
   'Save and AP Transaction'     => 'Speichern und Kreditorenbuchung erfassen',
   'Save and AR Transaction'     => 'Speichern und Debitorenbuchung erfassen',
@@ -146,24 +110,18 @@ $self->{texts} = {
   'Select an entry'             => 'Eintrag ausw&auml;hlen',
   'Sell Price'                  => 'Verkaufspreis',
   'Shipping Address'            => 'Lieferadresse',
-  'Steuersatz'                  => 'Steuersatz',
   'Storno Invoice'              => 'Stornorechnung',
   'Storno Packing List'         => 'Stornolieferschein',
-  'Street'                      => 'Straße',
   'Subject'                     => 'Betreff',
   'Tax Number'                  => 'Steuernummer',
-  'Tax Number / SSN'            => 'Steuernummer',
   'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'Das Feld \'tag\' darf nur aus alphanumerischen Zeichen und den Zeichen - _ ( ) bestehen.',
   'The list has been printed.'  => 'Die Liste wurde ausgedruckt.',
   'There is no %s whose name matches \'%s\'.' => 'Es gibt keinen %s, dessen Name \'%s\' enth&auml;lt.',
   'This customer number is already in use.' => 'Diese Kundennummer wird bereits verwendet.',
   'This vendor number is already in use.' => 'Diese Lieferantennummer wird bereits verwendet.',
-  'Title'                       => 'Titel',
   'To (email)'                  => 'An',
-  'To (time)'                   => 'Bis',
   'Trying to call a sub without a name' => 'Es wurde versucht, eine Unterfunktion ohne Namen aufzurufen.',
   'Type of Business'            => 'Kunden-/Lieferantentyp',
-  'USt-IdNr.'                   => 'USt-IdNr.',
   'Unit'                        => 'Einheit',
   'Unknown dependency \'%s\'.'  => 'Unbekannte Abh&auml;ngigkeit \'%s\'.',
   'Value'                       => 'Wert',
@@ -173,7 +131,6 @@ $self->{texts} = {
   'Vendor details'              => 'Lieferantendetails',
   'Vendor saved!'               => 'Lieferant gespeichert!',
   'Vendors'                     => 'Lieferanten',
-  'Zipcode'                     => 'PLZ',
   '[email]'                     => '[email]',
   'bin_list'                    => 'Lagerliste',
   'customer'                    => 'Kunde',
diff --git a/templates/webpages/ct/form_header_de.html b/templates/webpages/ct/form_header_de.html
new file mode 100644 (file)
index 0000000..422787f
--- /dev/null
@@ -0,0 +1,443 @@
+<body onLoad="fokus()">
+<table width=100%>
+  <tr>
+    <th class=listtop>[% title %]</th>
+  </tr>
+</table>
+
+
+<form method=post name="ct" action=[% script %] onKeyUp="highlight(event)" onClick="highlight(event)">
+
+
+
+<ul id="maintab" class="shadetabs">
+<li class="selected"><a href="#" rel="billing">Rechnungsadresse</a></li>
+<li><a href="#" rel="shipto">Lieferadresse</a></li>
+<li><a href="#" rel="contacts">Ansprechpartner</a></li>
+<li><a href="#" rel="deliveries">Lieferungen</a></li>
+
+</ul>
+
+<div class="tabcontentstyle">
+
+<div id="billing" class="tabcontent">
+
+      <table width=100%>
+       <tr height="5"></tr>
+       <tr>
+[%- IF is_customer %]
+         <th align=right nowrap>Kundennummer</th>
+         <td><input name="customernumber" size=35 value="[% customernumber %]"></td>
+[% ELSE %]
+         <th align=right nowrap>Lieferantennummer</th>
+         <td><input name="vendornumber" size=35 value="[% vendornumber %]"></td>
+[% END %]
+       </tr>
+        <tr>
+          <th align=right nowrap>Anrede</th>
+          <td>
+            <input id=greeting name=greeting size=30 value="[% greeting %]">&nbsp;
+              [%- INCLUDE generic/multibox.html 
+                    name       = 'selected_company_greeting',
+                    DATA       = MB_COMPANY_GREETINGS,
+                    show_empty = 1,
+                    id_key     = 'id',
+                    label_key  = 'description',
+              -%]
+          </td>
+        </tr>
+       <tr>
+         <th align=right nowrap>Firmenname</th>
+         <td><input name=name size=35 maxlength=75 value="[% name %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap>Abteilung</th>
+         <td><input name=department_1 size=16 maxlength=75 value="[% department_1 %]">
+         <input name=department_2 size=16 maxlength=75 value="[% department_2 %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap>Straße</th>
+         <td><input name=street size=35 maxlength=75 value="[% street %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap>PLZ/Stadt</th>
+         <td><input name=zipcode size=5 maxlength=10 value="[% zipcode %]">
+          <input name=city size=30 maxlength=75 value="[% city %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap>Land</th>
+         <td><input name=country size=35 maxlength=75 value="[% country %]"></td>
+       </tr>
+       <tr>
+          <th align=right nowrap>Kontakt</th>
+          <td><input name=contact size=28 maxlength=75 value="[% contact %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap>Telefon</th>
+         <td><input name=phone size=30 maxlength=30 value="[% phone %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap>Fax</th>
+         <td><input name=fax size=30 maxlength=30 value="[% fax %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap>eMail</th>
+         <td><input name=email size=45 value="[% email %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap>Homepage</th>
+         <td><input name=homepage size=45 value="[% homepage %]"></td>
+       </tr>
+</table>
+<table>
+       <tr>
+         <th align=right>Kreditlimit</th>
+         <td><input name=creditlimit size=9 value="[% LxERP.format_amount(creditlimit, 0) %]"></td>
+         <input type="hidden" name="terms" value="[% terms %]">
+         <th align=right>Zahlungskonditionen</th>
+          <td>
+            [%- INCLUDE generic/multibox.html 
+                  name       = 'payment_id',
+                  DATA       = payment_terms,
+                  show_empty = 1,
+                  id_key     = 'id',
+                  label_key  = 'description',
+            -%]
+          </td>
+         <th align=right>Rabatt</th>
+         <td><input name=discount size=4 value="[% LxERP.format_amount(discount) %]">
+         %</td>
+       </tr>
+       <tr>
+         <th align=right>Steuernummer</th>
+         <td><input name=taxnumber size=20 value="[% taxnumber %]"></td>
+          <th align=right>USt-IdNr.</th>
+         <td><input name="ustid" maxlength="14" size="20" value="[% ustid %]"></td>
+[%- IF is_sustomer %]
+          <th align=right>KNr. beim Kunden</th>
+          <td><input name=c_vendor_id size=10 value="[% c_vendor_id %]"></td>
+[%- ELSE %]
+          <th align=right>Kundennummer</th>
+          <td><input name=v_customer_id size=10 value="[% v_customer_id %]"></td>
+[%- END %]
+       </tr>
+        <tr>
+          <th align=right>Kontonummer</th>
+          <td><input name="account_number" size="10" maxlength="15" value="[% account_number %]"></td>
+          <th align=right>Bankleitzahl</th>
+          <td><input name="bank_code" size="10" maxlength="10" value="[% bank_code %]"></td>
+          <th align=right>Bank</th>
+          <td><input name=bank size=30 value="[% bank %]"></td>
+        </tr>
+       <tr>
+         <th align=right>Kunden-/Lieferantentyp</th>
+         <td>
+            [%- INCLUDE generic/multibox.html 
+                  name       = 'business',
+                  DATA       = all_business,
+                  show_empty = 1,
+                  id_key     = 'id',
+                  label_key  = 'description',
+            -%]
+          </td>
+         <th align=right>Sprache</th>
+          <td>
+            [%- INCLUDE generic/multibox.html 
+                  name       = 'language_id',
+                  DATA       = languages,
+                  show_empty = 1,
+                  id_key     = 'id',
+                  label_key  = 'description',
+            -%]
+          </td>
+
+[%- IF is_customer %]
+          <th align=right>Preisgruppe</th>
+          <td>
+[%- IF is_customer %]
+            [%- INCLUDE generic/multibox.html 
+                  name       = 'klass',
+                  DATA       = all_pricegroup,
+                  show_empty = 1,
+                  id_key     = 'id',
+                  label_key  = 'pricegroup',
+           -%]
+[% END %]
+          </td>
+[%- END  %]
+        </tr>
+        <tr>
+          <td align=right>Ungültig</td>
+          <td><input name=obsolete class=checkbox type=checkbox value=1 [% IF obsolete %]checked[% END %]></td>
+       </tr>
+        <tr>
+          <th align=right>Steuersatz</th>
+          <td>
+            [%- INCLUDE generic/multibox.html 
+                  name       = 'taxzone_id',
+                  DATA       = ALL_TAXZONES,
+                  show_empty = 1,
+                  id_key     = 'id',
+                  label_key  = 'description',
+            -%]
+          </td>
+[%- IF is_customer %]
+          <th align="right">Verkäufer/in</th>
+          <td>
+            [%- INCLUDE generic/multibox.html 
+                  name       = 'salesman_id',
+                  DATA       = ALL_SALESMEN,
+                  show_empty = 1,
+                  id_key     = 'id',
+                  label_sub  = 'salesman_label',
+            -%]
+          </td>
+[%- END %]
+        </tr>
+      </table>
+  <table>
+  <tr>
+    <th align=left nowrap>Bemerkungen</th>
+  </tr>
+  <tr>
+    <td><textarea name=notes rows=3 cols=60 wrap=soft>[% notes %]</textarea></td>
+  </tr>
+
+            </table>
+          </td>
+        </tr>
+</table>
+<br style="clear: left" /></div>
+
+      <div id="shipto" class="tabcontent">
+
+      <table width=100%>
+        <tr>
+          <th align=right>Lieferadresse</th>
+          <td>
+            [%- INCLUDE generic/multibox.html 
+                  name       = 'shipto_id',
+                  id         = 'shipto_id',
+                  DATA       = SHIPTO,
+                  onChange   = "get_shipto(['shipto_id__' + this.value], ['shiptoname','shiptodepartment_1', 'shiptodepartment_2','shiptostreet','shiptozipcode','shiptocity','shiptocountry','shiptocontact','shiptophone','shiptofax','shiptoemail'])",
+                  id_key     = 'shipto_id',
+                  label_sub  = 'shipto_label',
+                  label_key  = 'shipto_label',
+            -%]
+          </td>
+        </tr>
+       <tr>
+         <th align=right nowrap>Firmenname</th>
+         <td><input id=shiptoname name=shiptoname size=35 maxlength=75 value="[% shiptoname %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap>Abteilung</th>
+          <td><input id=shiptodepartment_1 name=shiptodepartment_1 size=16 maxlength=75 value="[% shiptodepartment_1 %]">
+         <input id=shiptodepartment_2 name=shiptodepartment_2 size=16 maxlength=75 value="[% shiptodepartment_2 %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap>Straße</th>
+         <td><input id=shiptostreet name=shiptostreet size=35 maxlength=75 value="[% shiptostreet %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap>PLZ/Stadt</th>
+         <td><input id=shiptozipcode name=shiptozipcode size=5 maxlength=75 value="[% shiptozipcode %]">
+          <input id=shiptocity name=shiptocity size=30 maxlength=75 value="[% shiptocity %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap>Land</th>
+         <td><input id=shiptocountry name=shiptocountry size=35 maxlength=75 value="[% shiptocountry %]"></td>
+       </tr>
+       <tr>
+          <th align=right nowrap>Kontakt</th>
+         <td><input id=shiptocontact name=shiptocontact size=30 maxlength=75 value="[% shiptocontact %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap>Telefon</th>
+         <td><input id=shiptophone name=shiptophone size=30 maxlength=30 value="[% shiptophone %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap>Fax</th>
+         <td><input id=shiptofax name=shiptofax size=30 maxlength=30 value="[% shiptofax %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap>eMail</th>
+         <td><input id=shiptoemail name=shiptoemail size=45 value="[% shiptoemail %]"></td>
+       </tr>
+        <tr>
+          <td>&nbsp;</td>
+        </tr>
+        <tr>
+           <td>&nbsp;</td>
+       </tr>
+
+    </table>
+<br style="clear: left" /></div>
+
+<div id="contacts" class="tabcontent">
+<table>
+    <tr>
+         <td colspan=3>
+               <input type=hidden name=cp_id value=[% cp_id %]>
+                <table>
+                  <tr>
+                    <th align=right>Ansprechpartner</th>
+                    <td>
+                      [%- INCLUDE generic/multibox.html 
+                            name       = 'cp_id',
+                            id         = 'cp_id',
+                            DATA       = CONTACTS,
+                            onChange   = "get_contact(['cp_id__' + this.value], ['cp_name', 'cp_greeting', 'cp_title', 'cp_givenname', 'cp_phone1', 'cp_phone2', 'cp_email', 'cp_abteilung', 'cp_fax', 'cp_mobile1', 'cp_mobile2', 'cp_satphone', 'cp_satfax', 'cp_project', 'cp_privatphone', 'cp_privatemail', 'cp_birthday'])",
+                            id_key     = 'cp_id',
+                            label_key  = 'cp_name',
+                      -%]
+                    </td>
+                  </tr>
+                <tr>
+                 <th align=left nowrap>Anrede</th>
+                  <td>
+                    <input id=cp_greeting name=cp_greeting size=40 maxlength=75 value="[% cp_greeting %]">&nbsp;
+                      [%- INCLUDE generic/multibox.html 
+                            name       = 'selected_cp_greeting',
+                            DATA       = MB_GREETINGS,
+                            show_empty = 1,
+                            id_key     = 'id',
+                            label_key  = 'description',
+                      -%]
+                  </td>
+                </tr>
+                <tr>
+                  <th align=left nowrap>Titel</th>
+                  <td>
+                    <input id=cp_title name=cp_title size=40 maxlength=75 value="[% cp_title %]">&nbsp;
+                      [%- INCLUDE generic/multibox.html 
+                            name       = 'selected_cp_title',
+                            DATA       = MB_TITLES,
+                            show_empty = 1,
+                            id_key     = 'id',
+                            label_key  = 'description',
+                      -%]
+                  </td>
+                </tr>
+                <tr>
+                  <th align=left nowrap>Abteilung</th>
+                  <td><input id=cp_abteilung name=cp_abteilung size=40 value="[% cp_abteilung %]">&nbsp;
+                      [%- INCLUDE generic/multibox.html 
+                            name       = 'selected_cp_abteilung',
+                            DATA       = MB_DEPARTMENT,
+                            show_empty = 1,
+                            id_key     = 'id',
+                            label_key  = 'description',
+                      -%]
+                  </td>
+                </tr>
+                <tr>
+                  <th align=left nowrap>Vorname</th>
+                  <td><input id="cp_givenname" name="cp_givenname" size="40" maxlength="75" value="[% cp_givenname %]"></td>
+                </tr>
+                <tr>
+                 <th align=left nowrap>Name</th>
+                  <td><input id="cp_name" name="cp_name" size="40" maxlength="75" value="[% cp_name %]"></td>
+                </tr>
+                <tr>
+                 <th align=left nowrap>Telefon 1 </th>
+                  <td><input id="cp_phone1" name="cp_phone1" size="40" maxlength="75" value="[% cp_phone1 %]"></td>
+                </tr>
+                <tr>
+                  <th align=left nowrap>Telefon 2</th>
+                  <td><input id="cp_phone2" name="cp_phone2" size="40" maxlength="75" value="[% cp_phone2 %]"></td>
+                </tr>
+                <tr>
+                  <th align=left nowrap>Fax</th>
+                  <td><input id=cp_fax name=cp_fax size=40 value="[% cp_fax %]"></td>
+                </tr>
+                <tr>
+                  <th align=left nowrap>Mobile 1</th>
+                  <td><input id=cp_mobile1 name=cp_mobile1 size=40 value="[% cp_mobile1 %]"></td>
+                </tr>
+                <tr>
+                  <th align=left nowrap>Mobile 2</th>
+                  <td><input id=cp_mobile2 name=cp_mobile2 size=40 value="[% cp_mobile2 %]"></td>
+                </tr>
+                <tr>
+                  <th align=left nowrap>Sat. Tel.</th>
+                  <td><input id=cp_satphone name=cp_satphone size=40 value="[% cp_satphone %]"></td>
+                </tr>
+                <tr>
+                  <th align=left nowrap>Sat. Fax</th>
+                  <td><input id=cp_satfax name=cp_satfax size=40 value="[% cp_satfax %]"></td>
+                </tr>
+                <tr>
+                 <th align=left nowrap>Projekt</th>
+                  <td><input id=cp_project name=cp_project size=40 value="[% cp_project %]"></td>
+                </tr>
+                <tr>
+                 <th align=left nowrap>eMail</th>
+                  <td><input id=cp_email name=cp_email size=40 value="[% cp_email %]"></td>
+                </tr>
+                <tr>
+                 <th align=left nowrap>Privates Tel.</th>
+                  <td><input id=cp_privatphone name=cp_privatphone size=40 value="[% cp_privatphone %]"></td>
+                </tr>
+                <tr>
+                 <th align=left nowrap>Private eMail</th>
+                  <td><input id=cp_privatemail name=cp_privatemail size=40 value="[% cp_privatemail %]"></td>
+                </tr>
+                <tr>
+                 <th align=left nowrap>Geburtstag</th>
+                  <td><input id=cp_birthday name=cp_birthday size=40 value="[% cp_birthday %]"></td>
+                </tr>
+                
+          </table>
+        </td>
+        </tr>
+        <tr height="5"></tr>
+          <tr>
+            <th align=right nowrap>Bcc</th>
+            <td><input name=bcc size=35 value="[% bcc %]"></td>
+          </tr>
+      </table>
+    </td>
+  </tr>
+  <tr>
+    <td>
+      
+<br style="clear: left" /></div>
+<div id="deliveries" class="tabcontent">
+  <table>
+    <tr>
+      <th align=right>Lieferadresse</th>
+      <td>
+        [%- INCLUDE generic/multibox.html 
+              name       = 'delivery_id',
+              id         = 'delivery_id',
+              DATA       = SHIPTO,
+              onChange   = "get_delivery(['shipto_id__' + this.value, 'from__' + from.value, 'to__' + to.value, 'id__' + cvid.value, 'db__' + db.value], ['delivery'])",
+              id_key     = 'shipto_id',
+              label_sub  = 'shipto_label',
+       -%]
+      </td>
+    </tr>
+    <tr>
+      <th align=left nowrap>Von</th>
+      <td><input id=from name=from size=10 maxlength=10 value="[% from %]">
+        <input type="button" name="fromB" id="trigger_from" value="?"></td>
+      <th align=left nowrap>Bis</th>
+      <td><input id=to name=to size=10 maxlength=10 value="[% to %]">
+        <input type="button" name="toB" id="trigger_to" value="?"></td>
+    </tr>       
+    <tr>
+     <td colspan=4>
+      <div id=delivery>
+      </div>
+      </td>
+    </tr>
+  </table>
+<br style="clear: left" /></div>
+
+</div>
+
+<script type="text/javascript"><!--
+  Calendar.setup({ inputField : "fromB", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger_from" });
+  Calendar.setup({ inputField : "toB", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger_to" });
+//--></script>
diff --git a/templates/webpages/ct/form_header_master.html b/templates/webpages/ct/form_header_master.html
new file mode 100644 (file)
index 0000000..20d4552
--- /dev/null
@@ -0,0 +1,443 @@
+<body onLoad="fokus()">
+<table width=100%>
+  <tr>
+    <th class=listtop>[% title %]</th>
+  </tr>
+</table>
+
+
+<form method=post name="ct" action=[% script %] onKeyUp="highlight(event)" onClick="highlight(event)">
+
+
+
+<ul id="maintab" class="shadetabs">
+<li class="selected"><a href="#" rel="billing"><translate>Billing Address</translate></a></li>
+<li><a href="#" rel="shipto"><translate>Shipping Address</translate></a></li>
+<li><a href="#" rel="contacts">Ansprechpartner</a></li>
+<li><a href="#" rel="deliveries"><translate>Lieferungen</translate></a></li>
+
+</ul>
+
+<div class="tabcontentstyle">
+
+<div id="billing" class="tabcontent">
+
+      <table width=100%>
+       <tr height="5"></tr>
+       <tr>
+[%- IF is_customer %]
+         <th align=right nowrap><translate>Customer Number</translate></th>
+         <td><input name="customernumber" size=35 value="[% customernumber %]"></td>
+[% ELSE %]
+         <th align=right nowrap><translate>Vendor Number</translate></th>
+         <td><input name="vendornumber" size=35 value="[% vendornumber %]"></td>
+[% END %]
+       </tr>
+        <tr>
+          <th align=right nowrap><translate>Greeting</translate></th>
+          <td>
+            <input id=greeting name=greeting size=30 value="[% greeting %]">&nbsp;
+              [%- INCLUDE generic/multibox.html 
+                    name       = 'selected_company_greeting',
+                    DATA       = MB_COMPANY_GREETINGS,
+                    show_empty = 1,
+                    id_key     = 'id',
+                    label_key  = 'description',
+              -%]
+          </td>
+        </tr>
+       <tr>
+         <th align=right nowrap><translate>Company Name</translate></th>
+         <td><input name=name size=35 maxlength=75 value="[% name %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap><translate>Abteilung</translate></th>
+         <td><input name=department_1 size=16 maxlength=75 value="[% department_1 %]">
+         <input name=department_2 size=16 maxlength=75 value="[% department_2 %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap><translate>Street</translate></th>
+         <td><input name=street size=35 maxlength=75 value="[% street %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap><translate>Zipcode</translate>/<translate>City</translate></th>
+         <td><input name=zipcode size=5 maxlength=10 value="[% zipcode %]">
+          <input name=city size=30 maxlength=75 value="[% city %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap><translate>Country</translate></th>
+         <td><input name=country size=35 maxlength=75 value="[% country %]"></td>
+       </tr>
+       <tr>
+          <th align=right nowrap><translate>Contact</translate></th>
+          <td><input name=contact size=28 maxlength=75 value="[% contact %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap><translate>Phone</translate></th>
+         <td><input name=phone size=30 maxlength=30 value="[% phone %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap><translate>Fax</translate></th>
+         <td><input name=fax size=30 maxlength=30 value="[% fax %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap><translate>E-mail</translate></th>
+         <td><input name=email size=45 value="[% email %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap><translate>Homepage</translate></th>
+         <td><input name=homepage size=45 value="[% homepage %]"></td>
+       </tr>
+</table>
+<table>
+       <tr>
+         <th align=right><translate>Credit Limit</translate></th>
+         <td><input name=creditlimit size=9 value="[% LxERP.format_amount(creditlimit, 0) %]"></td>
+         <input type="hidden" name="terms" value="[% terms %]">
+         <th align=right><translate>Payment Terms</translate></th>
+          <td>
+            [%- INCLUDE generic/multibox.html 
+                  name       = 'payment_id',
+                  DATA       = payment_terms,
+                  show_empty = 1,
+                  id_key     = 'id',
+                  label_key  = 'description',
+            -%]
+          </td>
+         <th align=right><translate>Discount</translate></th>
+         <td><input name=discount size=4 value="[% LxERP.format_amount(discount) %]">
+         %</td>
+       </tr>
+       <tr>
+         <th align=right><translate>Tax Number / SSN</translate></th>
+         <td><input name=taxnumber size=20 value="[% taxnumber %]"></td>
+          <th align=right><translate>USt-IdNr.</translate></th>
+         <td><input name="ustid" maxlength="14" size="20" value="[% ustid %]"></td>
+[%- IF is_sustomer %]
+          <th align=right><translate>KNr. beim Kunden</translate></th>
+          <td><input name=c_vendor_id size=10 value="[% c_vendor_id %]"></td>
+[%- ELSE %]
+          <th align=right><translate>Kundennummer</translate></th>
+          <td><input name=v_customer_id size=10 value="[% v_customer_id %]"></td>
+[%- END %]
+       </tr>
+        <tr>
+          <th align=right><translate>Account Number</translate></th>
+          <td><input name="account_number" size="10" maxlength="15" value="[% account_number %]"></td>
+          <th align=right><translate>Bank Code Number</translate></th>
+          <td><input name="bank_code" size="10" maxlength="10" value="[% bank_code %]"></td>
+          <th align=right><translate>Bank</translate></th>
+          <td><input name=bank size=30 value="[% bank %]"></td>
+        </tr>
+       <tr>
+         <th align=right><translate>Type of Business</translate></th>
+         <td>
+            [%- INCLUDE generic/multibox.html 
+                  name       = 'business',
+                  DATA       = all_business,
+                  show_empty = 1,
+                  id_key     = 'id',
+                  label_key  = 'description',
+            -%]
+          </td>
+         <th align=right><translate>Language</translate></th>
+          <td>
+            [%- INCLUDE generic/multibox.html 
+                  name       = 'language_id',
+                  DATA       = languages,
+                  show_empty = 1,
+                  id_key     = 'id',
+                  label_key  = 'description',
+            -%]
+          </td>
+
+[%- IF is_customer %]
+          <th align=right><translate>Preisklasse</translate></th>
+          <td>
+[%- IF is_customer %]
+            [%- INCLUDE generic/multibox.html 
+                  name       = 'klass',
+                  DATA       = all_pricegroup,
+                  show_empty = 1,
+                  id_key     = 'id',
+                  label_key  = 'pricegroup',
+           -%]
+[% END %]
+          </td>
+[%- END  %]
+        </tr>
+        <tr>
+          <td align=right><translate>Obsolete</translate></td>
+          <td><input name=obsolete class=checkbox type=checkbox value=1 [% IF obsolete %]checked[% END %]></td>
+       </tr>
+        <tr>
+          <th align=right><translate>Steuersatz</translate></th>
+          <td>
+            [%- INCLUDE generic/multibox.html 
+                  name       = 'taxzone_id',
+                  DATA       = ALL_TAXZONES,
+                  show_empty = 1,
+                  id_key     = 'id',
+                  label_key  = 'description',
+            -%]
+          </td>
+[%- IF is_customer %]
+          <th align="right"><translate>Salesman</translate></th>
+          <td>
+            [%- INCLUDE generic/multibox.html 
+                  name       = 'salesman_id',
+                  DATA       = ALL_SALESMEN,
+                  show_empty = 1,
+                  id_key     = 'id',
+                  label_sub  = 'salesman_label',
+            -%]
+          </td>
+[%- END %]
+        </tr>
+      </table>
+  <table>
+  <tr>
+    <th align=left nowrap><translate>Notes</translate></th>
+  </tr>
+  <tr>
+    <td><textarea name=notes rows=3 cols=60 wrap=soft>[% notes %]</textarea></td>
+  </tr>
+
+            </table>
+          </td>
+        </tr>
+</table>
+<br style="clear: left" /></div>
+
+      <div id="shipto" class="tabcontent">
+
+      <table width=100%>
+        <tr>
+          <th align=right><translate>Shipping Address</translate></th>
+          <td>
+            [%- INCLUDE generic/multibox.html 
+                  name       = 'shipto_id',
+                  id         = 'shipto_id',
+                  DATA       = SHIPTO,
+                  onChange   = "get_shipto(['shipto_id__' + this.value], ['shiptoname','shiptodepartment_1', 'shiptodepartment_2','shiptostreet','shiptozipcode','shiptocity','shiptocountry','shiptocontact','shiptophone','shiptofax','shiptoemail'])",
+                  id_key     = 'shipto_id',
+                  label_sub  = 'shipto_label',
+                  label_key  = 'shipto_label',
+            -%]
+          </td>
+        </tr>
+       <tr>
+         <th align=right nowrap><translate>Company Name</translate></th>
+         <td><input id=shiptoname name=shiptoname size=35 maxlength=75 value="[% shiptoname %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap><translate>Abteilung</translate></th>
+          <td><input id=shiptodepartment_1 name=shiptodepartment_1 size=16 maxlength=75 value="[% shiptodepartment_1 %]">
+         <input id=shiptodepartment_2 name=shiptodepartment_2 size=16 maxlength=75 value="[% shiptodepartment_2 %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap><translate>Street</translate></th>
+         <td><input id=shiptostreet name=shiptostreet size=35 maxlength=75 value="[% shiptostreet %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap><translate>Zipcode</translate>/<translate>City</translate></th>
+         <td><input id=shiptozipcode name=shiptozipcode size=5 maxlength=75 value="[% shiptozipcode %]">
+          <input id=shiptocity name=shiptocity size=30 maxlength=75 value="[% shiptocity %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap><translate>Country</translate></th>
+         <td><input id=shiptocountry name=shiptocountry size=35 maxlength=75 value="[% shiptocountry %]"></td>
+       </tr>
+       <tr>
+          <th align=right nowrap><translate>Contact</translate></th>
+         <td><input id=shiptocontact name=shiptocontact size=30 maxlength=75 value="[% shiptocontact %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap><translate>Phone</translate></th>
+         <td><input id=shiptophone name=shiptophone size=30 maxlength=30 value="[% shiptophone %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap><translate>Fax</translate></th>
+         <td><input id=shiptofax name=shiptofax size=30 maxlength=30 value="[% shiptofax %]"></td>
+       </tr>
+       <tr>
+         <th align=right nowrap><translate>E-mail</translate></th>
+         <td><input id=shiptoemail name=shiptoemail size=45 value="[% shiptoemail %]"></td>
+       </tr>
+        <tr>
+          <td>&nbsp;</td>
+        </tr>
+        <tr>
+           <td>&nbsp;</td>
+       </tr>
+
+    </table>
+<br style="clear: left" /></div>
+
+<div id="contacts" class="tabcontent">
+<table>
+    <tr>
+         <td colspan=3>
+               <input type=hidden name=cp_id value=[% cp_id %]>
+                <table>
+                  <tr>
+                    <th align=right><translate>Ansprechpartner</translate></th>
+                    <td>
+                      [%- INCLUDE generic/multibox.html 
+                            name       = 'cp_id',
+                            id         = 'cp_id',
+                            DATA       = CONTACTS,
+                            onChange   = "get_contact(['cp_id__' + this.value], ['cp_name', 'cp_greeting', 'cp_title', 'cp_givenname', 'cp_phone1', 'cp_phone2', 'cp_email', 'cp_abteilung', 'cp_fax', 'cp_mobile1', 'cp_mobile2', 'cp_satphone', 'cp_satfax', 'cp_project', 'cp_privatphone', 'cp_privatemail', 'cp_birthday'])",
+                            id_key     = 'cp_id',
+                            label_key  = 'cp_name',
+                      -%]
+                    </td>
+                  </tr>
+                <tr>
+                 <th align=left nowrap><translate>Greeting</translate></th>
+                  <td>
+                    <input id=cp_greeting name=cp_greeting size=40 maxlength=75 value="[% cp_greeting %]">&nbsp;
+                      [%- INCLUDE generic/multibox.html 
+                            name       = 'selected_cp_greeting',
+                            DATA       = MB_GREETINGS,
+                            show_empty = 1,
+                            id_key     = 'id',
+                            label_key  = 'description',
+                      -%]
+                  </td>
+                </tr>
+                <tr>
+                  <th align=left nowrap><translate>Title</translate></th>
+                  <td>
+                    <input id=cp_title name=cp_title size=40 maxlength=75 value="[% cp_title %]">&nbsp;
+                      [%- INCLUDE generic/multibox.html 
+                            name       = 'selected_cp_title',
+                            DATA       = MB_TITLES,
+                            show_empty = 1,
+                            id_key     = 'id',
+                            label_key  = 'description',
+                      -%]
+                  </td>
+                </tr>
+                <tr>
+                  <th align=left nowrap><translate>Department</translate></th>
+                  <td><input id=cp_abteilung name=cp_abteilung size=40 value="[% cp_abteilung %]">&nbsp;
+                      [%- INCLUDE generic/multibox.html 
+                            name       = 'selected_cp_abteilung',
+                            DATA       = MB_DEPARTMENT,
+                            show_empty = 1,
+                            id_key     = 'id',
+                            label_key  = 'description',
+                      -%]
+                  </td>
+                </tr>
+                <tr>
+                  <th align=left nowrap><translate>Given Name</translate></th>
+                  <td><input id="cp_givenname" name="cp_givenname" size="40" maxlength="75" value="[% cp_givenname %]"></td>
+                </tr>
+                <tr>
+                 <th align=left nowrap><translate>Name</translate></th>
+                  <td><input id="cp_name" name="cp_name" size="40" maxlength="75" value="[% cp_name %]"></td>
+                </tr>
+                <tr>
+                 <th align=left nowrap><translate>Phone1</translate></th>
+                  <td><input id="cp_phone1" name="cp_phone1" size="40" maxlength="75" value="[% cp_phone1 %]"></td>
+                </tr>
+                <tr>
+                  <th align=left nowrap><translate>Phone2</translate></th>
+                  <td><input id="cp_phone2" name="cp_phone2" size="40" maxlength="75" value="[% cp_phone2 %]"></td>
+                </tr>
+                <tr>
+                  <th align=left nowrap><translate>Fax</translate></th>
+                  <td><input id=cp_fax name=cp_fax size=40 value="[% cp_fax %]"></td>
+                </tr>
+                <tr>
+                  <th align=left nowrap><translate>Mobile1</translate></th>
+                  <td><input id=cp_mobile1 name=cp_mobile1 size=40 value="[% cp_mobile1 %]"></td>
+                </tr>
+                <tr>
+                  <th align=left nowrap><translate>Mobile2</translate></th>
+                  <td><input id=cp_mobile2 name=cp_mobile2 size=40 value="[% cp_mobile2 %]"></td>
+                </tr>
+                <tr>
+                  <th align=left nowrap><translate>Sat. Phone</translate></th>
+                  <td><input id=cp_satphone name=cp_satphone size=40 value="[% cp_satphone %]"></td>
+                </tr>
+                <tr>
+                  <th align=left nowrap><translate>Sat. Fax</translate></th>
+                  <td><input id=cp_satfax name=cp_satfax size=40 value="[% cp_satfax %]"></td>
+                </tr>
+                <tr>
+                 <th align=left nowrap><translate>Project</translate></th>
+                  <td><input id=cp_project name=cp_project size=40 value="[% cp_project %]"></td>
+                </tr>
+                <tr>
+                 <th align=left nowrap><translate>E-mail</translate></th>
+                  <td><input id=cp_email name=cp_email size=40 value="[% cp_email %]"></td>
+                </tr>
+                <tr>
+                 <th align=left nowrap><translate>Private Phone</translate></th>
+                  <td><input id=cp_privatphone name=cp_privatphone size=40 value="[% cp_privatphone %]"></td>
+                </tr>
+                <tr>
+                 <th align=left nowrap><translate>Private E-mail</translate></th>
+                  <td><input id=cp_privatemail name=cp_privatemail size=40 value="[% cp_privatemail %]"></td>
+                </tr>
+                <tr>
+                 <th align=left nowrap><translate>Birthday</translate></th>
+                  <td><input id=cp_birthday name=cp_birthday size=40 value="[% cp_birthday %]"></td>
+                </tr>
+                
+          </table>
+        </td>
+        </tr>
+        <tr height="5"></tr>
+          <tr>
+            <th align=right nowrap><translate>Bcc</translate></th>
+            <td><input name=bcc size=35 value="[% bcc %]"></td>
+          </tr>
+      </table>
+    </td>
+  </tr>
+  <tr>
+    <td>
+      
+<br style="clear: left" /></div>
+<div id="deliveries" class="tabcontent">
+  <table>
+    <tr>
+      <th align=right><translate>Shipping Address</translate></th>
+      <td>
+        [%- INCLUDE generic/multibox.html 
+              name       = 'delivery_id',
+              id         = 'delivery_id',
+              DATA       = SHIPTO,
+              onChange   = "get_delivery(['shipto_id__' + this.value, 'from__' + from.value, 'to__' + to.value, 'id__' + cvid.value, 'db__' + db.value], ['delivery'])",
+              id_key     = 'shipto_id',
+              label_sub  = 'shipto_label',
+       -%]
+      </td>
+    </tr>
+    <tr>
+      <th align=left nowrap><translate>From</translate></th>
+      <td><input id=from name=from size=10 maxlength=10 value="[% from %]">
+        <input type="button" name="fromB" id="trigger_from" value="?"></td>
+      <th align=left nowrap><translate>To (time)</translate></th>
+      <td><input id=to name=to size=10 maxlength=10 value="[% to %]">
+        <input type="button" name="toB" id="trigger_to" value="?"></td>
+    </tr>       
+    <tr>
+     <td colspan=4>
+      <div id=delivery>
+      </div>
+      </td>
+    </tr>
+  </table>
+<br style="clear: left" /></div>
+
+</div>
+
+<script type="text/javascript"><!--
+  Calendar.setup({ inputField : "fromB", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger_from" });
+  Calendar.setup({ inputField : "toB", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger_to" });
+//--></script>