X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=js%2Fkivi.Order.js;h=b0960e7be0de30ad54c5343da0dda4b93f772485;hb=d58f0807a72e7a791cded47b057e5f20116ca13f;hp=9d2c9e8416a1cfe89d612c59da2d623aaa3e3b37;hpb=5efe13905a6ef7dbd22650cc9c1c17a246277484;p=kivitendo-erp.git
diff --git a/js/kivi.Order.js b/js/kivi.Order.js
index 9d2c9e841..b0960e7be 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);
};
@@ -96,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();
};
@@ -155,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());
};
@@ -234,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' });
@@ -453,6 +474,15 @@ namespace('kivi.Order', function(ns) {
return insert_before_item_id;
};
+ ns.update_item_input_row = function() {
+ if (!ns.check_cv()) return;
+
+ var data = $('#order_form').serializeArray();
+ data.push({ name: 'action', value: 'Order/update_item_input_row' });
+
+ $.post("controller.pl", data, kivi.eval_json_result);
+ };
+
ns.add_item = function() {
if ($('#add_item_parts_id').val() === '') return;
if (!ns.check_cv()) return;
@@ -528,7 +558,7 @@ namespace('kivi.Order', function(ns) {
$.post("controller.pl", data, kivi.eval_json_result);
};
- ns.update_price_source = function(item_id, source, descr, price_str, price_editable) {
+ ns.set_price_and_source_text = function(item_id, source, descr, price_str, price_editable) {
var row = $('#item_' + item_id).parents("tbody").first();
var source_elt = $(row).find('[name="order.orderitems[].active_price_source"]');
var button_elt = $(row).find('[name="price_chooser_button"]');
@@ -557,13 +587,17 @@ namespace('kivi.Order', function(ns) {
var html_elt = $(row).find('[name="sellprice_text"]');
price_elt.val(price_str);
html_elt.html(price_str);
- ns.recalc_amounts_and_taxes();
}
+ };
+ ns.update_price_source = function(item_id, source, descr, price_str, price_editable) {
+ ns.set_price_and_source_text(item_id, source, descr, price_str, price_editable);
+
+ if (price_str) ns.recalc_amounts_and_taxes();
kivi.io.close_dialog();
};
- ns.update_discount_source = function(item_id, source, descr, discount_str, price_editable) {
+ ns.set_discount_and_source_text = function(item_id, source, descr, discount_str, price_editable) {
var row = $('#item_' + item_id).parents("tbody").first();
var source_elt = $(row).find('[name="order.orderitems[].active_discount_source"]');
var button_elt = $(row).find('[name="price_chooser_button"]');
@@ -592,9 +626,13 @@ namespace('kivi.Order', function(ns) {
var html_elt = $(row).find('[name="discount_text"]');
discount_elt.val(discount_str);
html_elt.html(discount_str);
- ns.recalc_amounts_and_taxes();
}
+ };
+
+ ns.update_discount_source = function(item_id, source, descr, discount_str, price_editable) {
+ ns.set_discount_and_source_text(item_id, source, descr, discount_str, price_editable);
+ if (discount_str) ns.recalc_amounts_and_taxes();
kivi.io.close_dialog();
};
@@ -821,7 +859,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');
@@ -881,13 +919,9 @@ $(function() {
$('#order_transdate_as_date').change(kivi.Order.update_exchangerate);
$('#order_exchangerate_as_null_number').change(kivi.Order.exchangerate_changed);
- if ($('#type').val() == 'sales_order' || $('#type').val() == 'sales_quotation' ) {
- $('#add_item_parts_id').on('set_item:PartPicker', function(e,o) { $('#add_item_sellprice_as_number').val(kivi.format_amount(o.sellprice, -2)) });
- } else {
- $('#add_item_parts_id').on('set_item:PartPicker', function(e,o) { $('#add_item_sellprice_as_number').val(kivi.format_amount(o.lastcost, -2)) });
- }
- $('#add_item_parts_id').on('set_item:PartPicker', function(e,o) { $('#add_item_description').val(o.description) });
- $('#add_item_parts_id').on('set_item:PartPicker', function(e,o) { $('#add_item_unit').val(o.unit) });
+ $('#add_item_parts_id').on('set_item:PartPicker', function() {
+ kivi.Order.update_item_input_row();
+ });
$('.add_item_input').keydown(function(event) {
if (event.keyCode == 13) {