Merge branch 'b-3.6.1' of ../kivitendo-erp_20220811
[kivitendo-erp.git] / templates / webpages / oe / form_header.html
index e3f3e1d..002fa55 100644 (file)
@@ -1,23 +1,22 @@
 [%- USE T8 %]
 [%- USE HTML %]
 [%- USE LxERP %]
-[%- USE L %]
-<body onLoad="[% onload %]">
+[%- USE L %][%- USE P -%]
 
-  <form method="post" name="oe" action="[% script %]">
+  <form method="post" id='form' name="oe" action="[% script %]"
+        data-transport-cost-reminder-article-id="[% HTML.escape(transport_cost_reminder_article.id) %]"
+        data-transport-cost-reminder-article-description="[% HTML.escape(transport_cost_reminder_article.displayable_name) %]"
+        >
 
-    <script type="text/javascript" src="js/common.js"></script>
     <script type="text/javascript" src="js/delivery_customer_selection.js"></script>
-    <script type="text/javascript" src="js/vendor_selection.js"></script>
     <script type="text/javascript" src="js/calculate_qty.js"></script>
-    <script type="text/javascript" src="js/customer_or_vendor_selection.js"></script>
     <script type="text/javascript" src="js/follow_up.js"></script>
     [%- IF is_sales_ord %]
      [% L.javascript_tag("js/edit_periodic_invoices_config") %]
     [%- END %]
 
 [%- FOREACH row = HIDDENS %]
-   <input type="hidden" name="[% HTML.escape(row.name) %]" value="[% HTML.escape(row.value) %]" >
+   <input type="hidden" name="[% HTML.escape(row.name) %]" id="[% HTML.escape(row.name) %]" value="[% HTML.escape(row.value) %]" >
 [%- END %]
 
     <input type="hidden" name="convert_from_oe_ids" value="[% HTML.escape(convert_from_oe_ids) %]">
     <input type="hidden" name="follow_up_trans_type_1" value="[% HTML.escape(type) %]">
     <input type="hidden" name="follow_up_trans_info_1" value="[% HTML.escape(follow_up_trans_info) %]">
     <input type="hidden" name="follow_up_rowcount" value="1">
+    <input type="hidden" name="lastmtime" value="[% HTML.escape(lastmtime) %]">
 
-    <div class="listtop">[% title %]</div>
+    <h1>[% title %]</h1>
 
 [%- INCLUDE 'common/flash.html' %]
+[%- INCLUDE 'generic/set_longdescription.html' %]
+
+    <div id="oe_tabs" class="tabwidget">
+     <ul>
+      <li><a href="#ui-tabs-basic-data">[% 'Basic Data' | $T8 %]</a></li>
+[%- IF INSTANCE_CONF.get_webdav %]
+      <li><a href="#ui-tabs-webdav">[% 'WebDAV' | $T8 %]</a></li>
+[%- END %]
+[%- IF id AND INSTANCE_CONF.get_doc_storage %]
+      <li><a href="controller.pl?action=File/list&file_type=document&object_type=[% HTML.escape(type) %]&object_id=[% HTML.url(id) %]">[% 'Documents' | $T8 %]</a></li>
+      <li><a href="controller.pl?action=File/list&file_type=attachment&object_type=[% HTML.escape(type) %]&object_id=[% HTML.url(id) %]">[% 'Attachments' | $T8 %]</a></li>
+[%- END %]
+[%- IF id AND AUTH.assert('record_links', 1) %]
+      <li><a href="controller.pl?action=RecordLinks/ajax_list&object_model=Order&object_id=[% HTML.url(id) %]">[% 'Linked Records' | $T8 %]</a></li>
+[%- END %]
+     </ul>
+
+     <div id="ui-tabs-basic-data">
 
     <table width="100%">
-      <tr height="5"></tr>
       <tr>
         <td>
           <table width="100%">
                   <tr>
                     <th align="right">[% IF vc == 'customer' %][% 'Customer' | $T8 %][% ELSE %][% 'Vendor' | $T8 %][% END %]</th>
                     <td>
-                      [%- INCLUDE 'generic/multibox.html'
-                           name          = vc,
-                           style         = 'width: 250px',
-                           DATA          = vc == 'customer' ? ALL_CUSTOMERS : ALL_VENDORS,
-                           id_sub        = 'vc_keys',
-                           label_key     = 'name',
-                           select        = vc_select,
-                           limit         = vclimit,
-                           allow_textbox = 1,
-                           onChange      = "document.getElementById('update_button').click();" -%]
-                      <input type="button" value="[% 'Details (one letter abbreviation)' | $T8 %]" onclick="show_vc_details('[% HTML.escape(vc) %]')">
+                     [%- SET vc_id = vc _ "_id" %]
+                     [% P.customer_vendor.picker(vc_id, $vc_id, type=vc, style="width: 250px", class="initial_focus", onchange="\$('#update_button').click()") %]
+                     [% P.button_tag("show_vc_details('" _ HTML.escape(vc) _  "')", LxERP.t8("Details (one letter abbreviation)")) %]
+                     [% P.hidden_tag("previous_" _ vc_id, $vc_id) %]
                     </td>
                   </tr>
 [%- IF ALL_CONTACTS.size %]
                   <tr>
                     <th align="right">[% 'Contact Person' | $T8 %]</th>
                     <td>
-                      [%- INCLUDE 'generic/multibox.html'
-                           name       = 'cp_id',
-                           style      = 'width: 250px',
-                           DATA       = ALL_CONTACTS,
-                           id_key     = 'cp_id',
-                           label_sub  = 'contact_labels',
-                           show_empty = 1 -%]
+                      [% L.select_tag('cp_id', ALL_CONTACTS, default=cp_id, value_key='cp_id', title_key='full_name_dep', with_empty=1, style='width: 250px') %]
                     </td>
                   </tr>
 [%- END %]
-[%- IF ALL_SHIPTO.size %]
                   <tr>
                     <th align="right">[% 'Shipping Address' | $T8 %]</th>
                     <td>
-                      [%- INCLUDE 'generic/multibox.html'
-                           name       = 'shipto_id',
-                           style      = 'width: 250px',
-                           DATA       = ALL_SHIPTO,
-                           id_key     = 'shipto_id',
-                           label_sub  = 'shipto_labels',
-                           show_empty = 1,
-                           onChange   = "document.getElementById('update_button').click();" -%]
+[%- IF ALL_SHIPTO.size %]
+                      [% shiptos = [ [ "", LxERP.t8("No/individual shipping address") ] ] ;
+                         L.select_tag('shipto_id', shiptos.import(ALL_SHIPTO), default=shipto_id, value_key='shipto_id', title_key='displayable_id', style='width: 250px') %]
+[%- END %]
+                      [% L.button_tag("kivi.SalesPurchase.edit_custom_shipto()", LxERP.t8("Custom shipto")) %]
+                    </td>
+                  </tr>
+
+[%- IF is_sales && vc_obj.additional_billing_addresses.as_list.size %]
+                  <tr>
+                    <th align="right">[% 'Custom Billing Address' | $T8 %]</th>
+                    <td>
+                      [% L.select_tag('billing_address_id', vc_obj.additional_billing_addresses,
+                                      with_empty=1, default=billing_address_id, value_key='id', title_key='displayable_id', style='width: 250px') %]
                     </td>
                   </tr>
 [%- END %]
+
 [%- IF is_order %]
                   <tr>
                     <td align="right">[% 'Credit Limit' | $T8 %]</td>
                   <tr>
                     <th align="right">[% 'Steuersatz' | $T8 %]</th>
                     <td>
-                      [%- INCLUDE 'generic/multibox.html'
-                           name       = 'taxzone_id',
-                           style      = 'width: 250px',
-                           DATA       = ALL_TAXZONES,
-                           id_key     = 'id',
-                           label_key  = 'description' -%]
+                      [% L.select_tag('taxzone_id', ( id ? ALL_TAXZONES : ALL_ACTIVE_TAXZONES), default=taxzone_id, title_key='description', style='width: 250px') %]
                     </td>
                   </tr>
-[%- IF ALL_DEPARTMENTS %]
+[%- IF ALL_LANGUAGES.size %]
                   <tr>
-                    <th align="right" nowrap>[% 'Department' | $T8 %]</th>
+                    <th align="right" nowrap>[% 'Language' | $T8 %]</th>
                     <td colspan="3">
-                      [%- INCLUDE 'generic/multibox.html'
-                           name       = 'department_id',
-                           style      = 'width: 250px',
-                           DATA       = ALL_DEPARTMENTS,
-                           id_key     = 'id',
-                           label_sub  = 'department_labels',
-                           show_empty = 1 -%]
+                      [% L.select_tag('language_id', ALL_LANGUAGES, default=language_id, title_key = 'description', with_empty=1, style='width:250px') %]
                     </td>
                   </tr>
 [%- END %]
+[%- IF ALL_DEPARTMENTS.size %]
                   <tr>
-[%- IF currencies %]
+                    <th align="right" nowrap>[% 'Department' | $T8 %]</th>
+                    <td colspan="3">
+                      [% L.select_tag('department_id', ALL_DEPARTMENTS, default=department_id, title_key = 'description', with_empty=1, style='width:250px') %]
+                    </td>
+                  </tr>
+[%- END %]
                   <tr>
                     <th align="right">[% 'Currency' | $T8 %]</th>
-                    <td>[% currencies %]</td>
+                    <td>[% L.select_tag("currency", ALL_CURRENCIES, value_key="name", default=currency, onchange="document.getElementById('update_button').click();") %]</td>
                   </tr>
-[%- END %]
 [%- IF show_exchangerate %]
                   <tr>
                     <th align="right">[% 'Exchangerate' | $T8 %]</th>
                     <td>
                      [%- IF forex %]
-                      [% LxERP.format_amount(exchangerate, 2) %]
+                      [% LxERP.format_amount(exchangerate, 5) %]
                      [%- ELSE %]
                       <input name="exchangerate" size="10" value="[% HTML.escape(LxERP.format_amount(exchangerate)) %]">
                      [%- END %]
                   </tr>
                   <tr>
                     <th align="right">[% 'Transaction description' | $T8 %]</th>
-                    <td colspan="3"><input name="transaction_description" size="35" value="[% HTML.escape(transaction_description) %]"></td>
+                    <td colspan="3">[% L.input_tag("transaction_description", transaction_description, size=35, "data-validate"=INSTANCE_CONF.get_require_transaction_description_ps ? 'required' : '') %]</td>
                   </tr>
 [%- IF show_delivery_customer %]
                   <tr>
                   <tr>
                     <th align="right">[% 'Employee' | $T8 %]</th>
                     <td>
-                      [%- INCLUDE 'generic/multibox.html'
-                           name       = 'employee_id',
-                           DATA       = ALL_EMPLOYEES,
-                           id_key     = 'id',
-                           label_sub  = 'sales_employee_labels' -%]
+                      [% L.select_tag('employee_id', ALL_EMPLOYEES, default=employee_id, title_key='safe_name') %]
                     </td>
                   </tr>
 [%- IF is_sales and ALL_SALESMEN.size %]
                   <tr>
                     <th align="right">[% 'Salesman' | $T8 %]</th>
                     <td>
-                      [%- INCLUDE 'generic/multibox.html'
-                           name       = 'salesman_id',
-                           default    = salesman_id ? salesman_id : employee_id,
-                           DATA       = ALL_SALESMEN,
-                           id_key     = 'id',
-                           label_sub  = 'sales_employee_labels' -%]
+                      [% L.select_tag('salesman_id', ALL_SALESMEN, default=(salesman_id ? salesman_id : employee_id), title_key='safe_name') %]
                     </td>
                   </tr>
 [%- END %]
 [%- IF is_order %]
                   <tr>
                     <th width="70%" align="right" nowrap>[% 'Order Number' | $T8 %]</th>
-                    <td><input name="ordnumber" size="11" value="[% HTML.escape(ordnumber) %]"></td>
+                    <td>
+[%- IF INSTANCE_CONF.get_sales_purchase_record_numbers_changeable %]
+                      [% L.input_tag("ordnumber", ordnumber, size="11") %]
+[%- ELSIF id %]
+                      [% HTML.escape(ordnumber) %]
+                      [% L.hidden_tag("ordnumber", ordnumber) %]
+[%- ELSE %]
+                      [% LxERP.t8("will be set upon saving") %]
+[%- END %]
+                    </td>
                   </tr>
 [%- END %]
                   <tr>
                     <th width="70%" align="right" nowrap>[% IF is_req_quo %][% 'RFQ Number' | $T8 %][% ELSE %][% 'Quotation Number' | $T8 %][% END %]</th>
-                    <td><input name="quonumber" size="11" value="[% HTML.escape(quonumber) %]"></td>
+                    <td>
+[%- IF is_order || INSTANCE_CONF.get_sales_purchase_record_numbers_changeable %]
+                      [% L.input_tag("quonumber", quonumber, size="11") %]
+[%- ELSIF id %]
+                      [% HTML.escape(quonumber) %]
+                      [% L.hidden_tag("quonumber", quonumber) %]
+[%- ELSE %]
+                      [% LxERP.t8("will be set upon saving") %]
+[%- END %]
+                    </td>
                   </tr>
 [%- IF is_order %]
                   <tr>
                     <th width="70%" align="right" nowrap>[% 'Customer Order Number' | $T8 %]</th>
-                    <td><input name="cusordnumber" size="11" value="[% HTML.escape(cusordnumber) %]"></td>
+                    <td><input name="cusordnumber" id="cusordnumber" size="11" value="[% HTML.escape(cusordnumber) %]"></td>
                   </tr>
 [%- END %]
                   <tr>
                      [%- END %]
                     </th>
                     <td nowrap>
-                      <input name=transdate id=transdate size=11 title="[% HTML.escape(dateformat) %]" value="[% transdate %]" onBlur="check_right_date_format(this)">
-                      <input type=button name=transdate id="trigger1" value="[% 'button' | $T8 %]">
+                      [% L.date_tag('transdate', transdate, id='transdate') %]
                     </td>
                   </tr>
+                  <tr>
+                    <th align="right" nowrap>[% LxERP.t8('Tax point') %]</th>
+                    <td nowrap>[% L.date_tag('tax_point', tax_point, id='tax_point') %]</td>
+                  </tr>
                   <tr>
                     <th align="right" nowrap>
                      [%- IF is_sales_quo %]
                       [% 'Valid until' | $T8 %]
                      [%- ELSE %]
-                      [% 'Required by' | $T8 %]
+                      [% 'Reqdate' | $T8 %]
                      [%- END %]
                     </th>
                     <td nowrap>
-                      <input name=reqdate id=reqdate size=11 title="[% HTML.escape(dateformat) %]" value="[% reqdate %]" onBlur="check_right_date_format(this)">
-                      <input type=button name=reqdate id="trigger2" value="[% 'button' | $T8 %]">
+                      [% L.date_tag('reqdate', reqdate, id='reqdate') %]
                     </td>
                   </tr>
+                  [%- IF is_sales_ord %]
+                  <tr>
+                    <th align="right" nowrap>[% 'Insert Date' | $T8 %]</th>
+                    <td>[% oe_obj.itime_as_date %]</td>
+                  </tr>
+                  [%- END %]
                   <tr>
                     <th width="70%" align="right" nowrap>[% 'Project Number' | $T8 %]</th>
                     <td>
-                      [%- INCLUDE 'generic/multibox.html'
-                           name       = 'globalproject_id',
-                           DATA       = ALL_PROJECTS,
-                           id_key     = 'id',
-                           label_key  = 'projectnumber',
-                           show_empty = 1,
-                           onChange   = "document.getElementById('update_button').click();" -%]
+                      [%- L.select_tag('globalproject_id', ALL_PROJECTS, title_key='projectnumber', default=globalproject_id, with_empty='1', onChange="document.getElementById('update_button').click();") %]
                     </td>
                   </tr>
+[%- IF type == 'sales_quotation' %]
+                  <tr>
+                    <th width="70%" align="right" nowrap>[% 'Order probability' | $T8 %]</th>
+                    <td nowrap>
+                      [%- L.select_tag('order_probability', ORDER_PROBABILITIES, title='title', default=order_probability) %]%
+                    </td>
+                  </tr>
+                  <tr>
+                    <th width="70%" align="right" nowrap>[% 'Expected billing date' | $T8 %]</th>
+                    <td nowrap>
+                      [%- L.date_tag('expected_billing_date', expected_billing_date) %]
+                    </td>
+                  </tr>
+[%- END %]
                 </table>
               </td>
             </tr>
           </table>
         </td>
       </tr>
-
-    <script type="text/javascript">
-     <!--
-       Calendar.setup({ inputField : "transdate", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger1" });
-       Calendar.setup({ inputField : "reqdate", ifFormat :"[% myconfig_jsc_dateformat %]", align : "BL", button : "trigger2" });
-     //-->
-    </script>