Order: second row javascript direkt indizieren …
[kivitendo-erp.git] / js / kivi.Order.js
index a5a8c31..e7815d4 100644 (file)
@@ -14,7 +14,7 @@ namespace('kivi.Order', function(ns) {
     return true;
   };
 
-  ns.check_save_duplicate_parts = function() {
+  ns.check_duplicate_parts = function(question) {
     var id_arr = $('[name="order.orderitems[].parts_id"]').map(function() { return this.value; }).get();
 
     var i, obj = {}, pos = [];
@@ -28,15 +28,16 @@ namespace('kivi.Order', function(ns) {
     }
 
     if (pos.length > 0) {
+      question = question || kivi.t8("Do you really want to save?");
       return confirm(kivi.t8("There are duplicate parts at positions") + "\n"
                      + pos.join(', ') + "\n"
-                     + kivi.t8("Do you really want to save?"));
+                     + question);
     }
     return true;
   };
 
   ns.check_valid_reqdate = function() {
-    if ($('#order_reqdate').val() === '') {
+    if ($('#order_reqdate_as_date').val() === '') {
       alert(kivi.t8('Please select a delivery date.'));
       return false;
     } else {
@@ -46,8 +47,8 @@ namespace('kivi.Order', function(ns) {
 
   ns.save = function(action, warn_on_duplicates, warn_on_reqdate) {
     if (!ns.check_cv()) return;
-    if (warn_on_duplicates && !ns.check_save_duplicate_parts()) return;
-    if (warn_on_reqdate    && !ns.check_valid_reqdate())        return;
+    if (warn_on_duplicates && !ns.check_duplicate_parts()) return;
+    if (warn_on_reqdate    && !ns.check_valid_reqdate())   return;
 
     var data = $('#order_form').serializeArray();
     data.push({ name: 'action', value: 'Order/' + action });
@@ -62,8 +63,9 @@ namespace('kivi.Order', function(ns) {
     $.post("controller.pl", data, kivi.eval_json_result);
   };
 
-  ns.show_print_options = function() {
+  ns.show_print_options = function(warn_on_duplicates) {
     if (!ns.check_cv()) return;
+    if (warn_on_duplicates && !ns.check_duplicate_parts(kivi.t8("Do you really want to print?"))) return;
 
     kivi.popup_dialog({
       id: 'print_options',
@@ -93,8 +95,10 @@ namespace('kivi.Order', function(ns) {
     $.download("controller.pl", data);
   };
 
-  ns.email = function() {
+  ns.email = function(warn_on_duplicates) {
+    if (warn_on_duplicates && !ns.check_duplicate_parts(kivi.t8("Do you really want to send by mail?"))) return;
     if (!ns.check_cv()) return;
+
     var data = $('#order_form').serializeArray();
     data.push({ name: 'action', value: 'Order/show_email_dialog' });
 
@@ -627,12 +631,12 @@ namespace('kivi.Order', function(ns) {
 
     kivi.popup_dialog({
       url:    'controller.pl?action=Order/show_periodic_invoices_config_dialog',
-      data:   { type:        $('#type').val(),
-                id:          $('#id').val(),
-                config:      $('#order_periodic_invoices_config').val(),
-                customer_id: $('#order_customer_id').val(),
-                transdate:   $('#order_transdate').val(),
-                language_id: $('#language_id').val()
+      data:   { type:              $('#type').val(),
+                id:                $('#id').val(),
+                config:            $('#order_periodic_invoices_config').val(),
+                customer_id:       $('#order_customer_id').val(),
+                transdate_as_date: $('#order_transdate_as_date').val(),
+                language_id:       $('#language_id').val()
               },
       id:     'jq_periodic_invoices_config_dialog',
       load:   kivi.reinit_widgets,