X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=js%2Fkivi.Order.js;h=05cea60a37a01a5321c1e60f64ecd0449f31628f;hb=08e48f66590f580cbe2c8e3df76883d88b4c0fef;hp=714a40e53d3f90b5e9a85c3b314df6ec72919d9f;hpb=a65dfe51eb299bf771348b847783662d914c15e6;p=kivitendo-erp.git
diff --git a/js/kivi.Order.js b/js/kivi.Order.js
index 714a40e53..05cea60a3 100644
--- a/js/kivi.Order.js
+++ b/js/kivi.Order.js
@@ -45,7 +45,7 @@ namespace('kivi.Order', function(ns) {
}
};
- ns.save = function(action, warn_on_duplicates, warn_on_reqdate) {
+ ns.save = function(action, warn_on_duplicates, warn_on_reqdate, back_to_caller) {
if (!ns.check_cv()) return;
if (warn_on_duplicates && !ns.check_duplicate_parts()) return;
if (warn_on_reqdate && !ns.check_valid_reqdate()) return;
@@ -53,6 +53,8 @@ namespace('kivi.Order', function(ns) {
var data = $('#order_form').serializeArray();
data.push({ name: 'action', value: 'Order/' + action });
+ if (back_to_caller) data.push({ name: 'back_to_caller', value: '1' });
+
$.post("controller.pl", data, kivi.eval_json_result);
};
@@ -63,9 +65,10 @@ namespace('kivi.Order', function(ns) {
$.post("controller.pl", data, kivi.eval_json_result);
};
- ns.show_print_options = function(warn_on_duplicates) {
+ ns.show_print_options = function(warn_on_duplicates, warn_on_reqdate) {
if (!ns.check_cv()) return;
if (warn_on_duplicates && !ns.check_duplicate_parts(kivi.t8("Do you really want to print?"))) return;
+ if (warn_on_reqdate && !ns.check_valid_reqdate()) return;
kivi.popup_dialog({
id: 'print_options',
@@ -95,6 +98,9 @@ namespace('kivi.Order', function(ns) {
$('#print_options_form table').first().remove().appendTo('#email_form_print_options');
+ $('select#format').change(kivi.Order.adjust_email_attachment_name_for_template_format);
+ kivi.Order.adjust_email_attachment_name_for_template_format();
+
var to_focus = $('#email_form_to').val() === '' ? 'to' : 'subject';
$('#email_form_' + to_focus).focus();
};
@@ -154,6 +160,20 @@ namespace('kivi.Order', function(ns) {
email_dialog.dialog("close");
};
+ ns.adjust_email_attachment_name_for_template_format = function() {
+ var $filename_elt = $('#email_form_attachment_filename');
+ var $format_elt = $('select#format');
+
+ if (!$filename_elt || !$format_elt)
+ return;
+
+ var format = $format_elt.val().toLowerCase();
+ var new_ext = format == 'html' ? 'html' : format == 'opendocument' ? 'odt' : 'pdf';
+ var filename = $filename_elt.val();
+
+ $filename_elt.val(filename.replace(/[^.]+$/, new_ext));
+ };
+
ns.set_number_in_title = function(elt) {
$('#nr_in_title').html($(elt).val());
};
@@ -233,6 +253,8 @@ namespace('kivi.Order', function(ns) {
};
ns.recalc_amounts_and_taxes = function() {
+ if (!kivi.validate_form('#order_form')) return;
+
var data = $('#order_form').serializeArray();
data.push({ name: 'action', value: 'Order/recalc_amounts_and_taxes' });
@@ -820,7 +842,7 @@ namespace('kivi.Order', function(ns) {
if (number_info !== '') { info += ' (' + number_info + ')' }
if (name_info !== '') { info += ' (' + name_info + ')' }
- if (!$('#follow_up_rowcount').lenght) {
+ if (!$('#follow_up_rowcount').length) {
$('').appendTo('#order_form');
$('').appendTo('#order_form');
$('').appendTo('#order_form');
@@ -836,6 +858,37 @@ namespace('kivi.Order', function(ns) {
follow_up_window();
};
+ ns.create_part = function() {
+ var data = $('#order_form').serializeArray();
+ data.push({ name: 'action', value: 'Order/create_part' });
+
+ $.post("controller.pl", data, kivi.eval_json_result);
+ };
+
+ ns.check_transport_cost_article_presence = function() {
+ var $form = $('#order_form');
+ var wanted_part_id = $form.data('transport-cost-reminder-article-id');
+
+ if (!wanted_part_id) return true
+
+ var id_arr = $('[name="order.orderitems[].parts_id"]').map(function() { return this.value; }).get();
+ id_arr = $.grep(id_arr, function(elt) {
+ return ((elt*1) === wanted_part_id);
+ });
+
+ if (id_arr.length) return true;
+
+ var description = $form.data('transport-cost-reminder-article-description');
+ return confirm(kivi.t8("The transport cost article '#1' is missing. Do you want to continue anyway?", [ description ]));
+ };
+
+ ns.check_cusordnumber_presence = function() {
+ if ($('#order_cusordnumber').val() === '') {
+ return confirm(kivi.t8('The customer order number is missing. Do you want to continue anyway?'));
+ }
+ return true;
+ };
+
});
$(function() {