epic-s6ts
[kivitendo-erp.git] / js / kivi.AP.js
index 55c164f..90ef829 100644 (file)
@@ -4,7 +4,9 @@ namespace('kivi.AP', function(ns){
   ns.check_fields_before_posting = function() {
     var errors = [];
 
-    if ($('#transdate').val() === '')
+    // if the element transdate exists, we have a AP form otherwise we have to check the invoice form
+    var invoice_date = ($('#transdate').length === 0) ? $('#transdate').val() : $('#invdate').val();
+    if (invoice_date === '')
       errors.push(kivi.t8('Invoice Date missing!'));
 
     if ($('#duedate').val() === '')
@@ -13,7 +15,7 @@ namespace('kivi.AP', function(ns){
     if ($('#invnumber').val() === '')
       errors.push(kivi.t8('Invoice Number missing!'));
 
-    if ($('#vendor').val() === '')
+    if ($('#vendor_id').val() ===  '')
       errors.push(kivi.t8('Vendor missing!'));
 
     if (errors.length === 0)
@@ -23,4 +25,33 @@ namespace('kivi.AP', function(ns){
 
     return false;
   };
+
+  ns.check_duplicate_invnumber = function() {
+    var exists_invnumber = false;
+
+    $.ajax({
+      url: 'controller.pl',
+      data: { action: 'SalesPurchase/check_duplicate_invnumber',
+              vendor_id    : $('#vendor_id').val(),
+              invnumber    : $('#invnumber').val()
+      },
+      method: "GET",
+      async: false,
+      dataType: 'text',
+      success: function(val) {
+        exists_invnumber = val;
+      }
+    });
+
+    if (exists_invnumber == 1) {
+      return confirm(kivi.t8('This vendor has already a booking with this invoice number, do you really want to add the same invoice number again?'));
+    }
+
+    return true;
+  };
+
+});
+
+$(function() {
+  kivi.File.doc_tab_init('ap_tabs', 'ui-tabs-docs', $('#id').val(), 'purchase_invoice');
 });