kivitendo/js/kivi.Order.js @ 13193b1a
0935b012 | Bernd Bleßmann | namespace('kivi.Order', function(ns) {
|
||
ns.check_cv = function() {
|
||||
68da3b40 | Bernd Bleßmann | if ($('#type').val() == 'sales_order' || $('#type').val() == 'sales_quotation') {
|
||
7ede2933 | Sven Schöling | if ($('#order_customer_id').val() === '') {
|
||
0935b012 | Bernd Bleßmann | alert(kivi.t8('Please select a customer.'));
|
||
return false;
|
||||
}
|
||||
} else {
|
||||
7ede2933 | Sven Schöling | if ($('#order_vendor_id').val() === '') {
|
||
0935b012 | Bernd Bleßmann | alert(kivi.t8('Please select a vendor.'));
|
||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
};
|
||||
3a35d09f | Bernd Bleßmann | ns.check_duplicate_parts = function(question) {
|
||
68da3b40 | Bernd Bleßmann | var id_arr = $('[name="order.orderitems[].parts_id"]').map(function() { return this.value; }).get();
|
||
e09f2da3 | Bernd Bleßmann | |||
var i, obj = {}, pos = [];
|
||||
for (i = 0; i < id_arr.length; i++) {
|
||||
var id = id_arr[i];
|
||||
if (obj.hasOwnProperty(id)) {
|
||||
pos.push(i + 1);
|
||||
}
|
||||
obj[id] = 0;
|
||||
}
|
||||
if (pos.length > 0) {
|
||||
d6b56cbd | Bernd Bleßmann | question = question || kivi.t8("Do you really want to continue?");
|
||
e09f2da3 | Bernd Bleßmann | return confirm(kivi.t8("There are duplicate parts at positions") + "\n"
|
||
+ pos.join(', ') + "\n"
|
||||
3a35d09f | Bernd Bleßmann | + question);
|
||
e09f2da3 | Bernd Bleßmann | }
|
||
return true;
|
||||
};
|
||||
1d1f3140 | Jan Büren | ns.check_valid_reqdate = function() {
|
||
452e195f | Bernd Bleßmann | if ($('#order_reqdate_as_date').val() === '') {
|
||
1d1f3140 | Jan Büren | alert(kivi.t8('Please select a delivery date.'));
|
||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
6f01c56f | Bernd Bleßmann | ns.save = function(params) {
|
||
0935b012 | Bernd Bleßmann | if (!ns.check_cv()) return;
|
||
6f01c56f | Bernd Bleßmann | |||
const action = params.action;
|
||||
const warn_on_duplicates = params.warn_on_duplicates;
|
||||
const warn_on_reqdate = params.warn_on_reqdate;
|
||||
const back_to_caller = params.back_to_caller;
|
||||
3a35d09f | Bernd Bleßmann | if (warn_on_duplicates && !ns.check_duplicate_parts()) return;
|
||
if (warn_on_reqdate && !ns.check_valid_reqdate()) return;
|
||||
0935b012 | Bernd Bleßmann | |||
var data = $('#order_form').serializeArray();
|
||||
06806380 | Bernd Bleßmann | data.push({ name: 'action', value: 'Order/' + action });
|
||
07dd84c0 | Bernd Bleßmann | |||
abafb475 | Bernd Bleßmann | if (back_to_caller) data.push({ name: 'back_to_caller', value: '1' });
|
||
07dd84c0 | Bernd Bleßmann | $.post("controller.pl", data, kivi.eval_json_result);
|
||
};
|
||||
0935b012 | Bernd Bleßmann | ns.delete_order = function() {
|
||
var data = $('#order_form').serializeArray();
|
||||
data.push({ name: 'action', value: 'Order/delete' });
|
||||
$.post("controller.pl", data, kivi.eval_json_result);
|
||||
};
|
||||
6f01c56f | Bernd Bleßmann | ns.show_print_options = function(params) {
|
||
0935b012 | Bernd Bleßmann | if (!ns.check_cv()) return;
|
||
6f01c56f | Bernd Bleßmann | |||
const warn_on_duplicates = params.warn_on_duplicates;
|
||||
const warn_on_reqdate = params.warn_on_reqdate;
|
||||
3a35d09f | Bernd Bleßmann | if (warn_on_duplicates && !ns.check_duplicate_parts(kivi.t8("Do you really want to print?"))) return;
|
||
12f1d5b5 | Jan Büren | if (warn_on_reqdate && !ns.check_valid_reqdate()) return;
|
||
0935b012 | Bernd Bleßmann | |||
kivi.popup_dialog({
|
||||
id: 'print_options',
|
||||
dialog: {
|
||||
title: kivi.t8('Print options'),
|
||||
width: 800,
|
||||
height: 300
|
||||
}
|
||||
});
|
||||
};
|
||||
ns.print = function() {
|
||||
$('#print_options').dialog('close');
|
||||
var data = $('#order_form').serializeArray();
|
||||
data = data.concat($('#print_options_form').serializeArray());
|
||||
data.push({ name: 'action', value: 'Order/print' });
|
||||
$.post("controller.pl", data, kivi.eval_json_result);
|
||||
};
|
||||
var email_dialog;
|
||||
d83928f0 | Bernd Bleßmann | ns.setup_send_email_dialog = function() {
|
||
kivi.SalesPurchase.show_all_print_options_elements();
|
||||
kivi.SalesPurchase.show_print_options_elements([ 'sendmode', 'media', 'copies', 'remove_draft' ], false);
|
||||
$('#print_options_form table').first().remove().appendTo('#email_form_print_options');
|
||||
30b8dc10 | Moritz Bunkus | $('select#format').change(kivi.Order.adjust_email_attachment_name_for_template_format);
|
||
kivi.Order.adjust_email_attachment_name_for_template_format();
|
||||
d83928f0 | Bernd Bleßmann | var to_focus = $('#email_form_to').val() === '' ? 'to' : 'subject';
|
||
$('#email_form_' + to_focus).focus();
|
||||
};
|
||||
ns.finish_send_email_dialog = function() {
|
||||
kivi.SalesPurchase.show_all_print_options_elements();
|
||||
$('#email_form_print_options table').first().remove().prependTo('#print_options_form');
|
||||
return true;
|
||||
};
|
||||
0935b012 | Bernd Bleßmann | ns.show_email_dialog = function(html) {
|
||
d83928f0 | Bernd Bleßmann | var id = 'send_email_dialog';
|
||
0935b012 | Bernd Bleßmann | var dialog_params = {
|
||
id: id,
|
||||
width: 800,
|
||||
d83928f0 | Bernd Bleßmann | height: 600,
|
||
title: kivi.t8('Send email'),
|
||||
0935b012 | Bernd Bleßmann | modal: true,
|
||
d83928f0 | Bernd Bleßmann | beforeClose: kivi.Order.finish_send_email_dialog,
|
||
0935b012 | Bernd Bleßmann | close: function(event, ui) {
|
||
email_dialog.remove();
|
||||
d83928f0 | Bernd Bleßmann | }
|
||
0935b012 | Bernd Bleßmann | };
|
||
$('#' + id).remove();
|
||||
email_dialog = $('<div style="display:none" id="' + id + '"></div>').appendTo('body');
|
||||
email_dialog.html(html);
|
||||
email_dialog.dialog(dialog_params);
|
||||
d83928f0 | Bernd Bleßmann | kivi.Order.setup_send_email_dialog();
|
||
0935b012 | Bernd Bleßmann | $('.cancel').click(ns.close_email_dialog);
|
||
return true;
|
||||
};
|
||||
ns.send_email = function() {
|
||||
10fe2228 | Jan Büren | // push button only once -> slow response from mail server
|
||
ns.email_dialog_disable_send();
|
||||
0935b012 | Bernd Bleßmann | var data = $('#order_form').serializeArray();
|
||
d83928f0 | Bernd Bleßmann | data = data.concat($('[name^="email_form."]').serializeArray());
|
||
data = data.concat($('[name^="print_options."]').serializeArray());
|
||||
0935b012 | Bernd Bleßmann | data.push({ name: 'action', value: 'Order/send_email' });
|
||
$.post("controller.pl", data, kivi.eval_json_result);
|
||||
};
|
||||
a65dfe51 | Bernd Bleßmann | ns.email_dialog_disable_send = function() {
|
||
// disable mail send event to prevent
|
||||
// impatient users to send multiple times
|
||||
$('#send_email').prop('disabled', true);
|
||||
};
|
||||
0935b012 | Bernd Bleßmann | ns.close_email_dialog = function() {
|
||
email_dialog.dialog("close");
|
||||
};
|
||||
30b8dc10 | Moritz Bunkus | 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));
|
||||
};
|
||||
faf31da3 | Bernd Bleßmann | ns.set_number_in_title = function(elt) {
|
||
$('#nr_in_title').html($(elt).val());
|
||||
};
|
||||
299dba8f | Steven Schubiger | ns.reload_cv_dependent_selections = function() {
|
||
199bd497 | Bernd Bleßmann | $('#order_shipto_id').val('');
|
||
0935b012 | Bernd Bleßmann | var data = $('#order_form').serializeArray();
|
||
data.push({ name: 'action', value: 'Order/customer_vendor_changed' });
|
||||
$.post("controller.pl", data, kivi.eval_json_result);
|
||||
};
|
||||
ns.reformat_number = function(event) {
|
||||
$(event.target).val(kivi.format_amount(kivi.parse_amount($(event.target).val()), -2));
|
||||
};
|
||||
598383b3 | Bernd Bleßmann | ns.reformat_number_as_null_number = function(event) {
|
||
if ($(event.target).val() === '') {
|
||||
return;
|
||||
}
|
||||
ns.reformat_number(event);
|
||||
};
|
||||
4b1666b7 | Felix Eichler | ns.update_exchangerate = function(event) {
|
||
f8b23396 | Bernd Bleßmann | if (!ns.check_cv()) {
|
||
$('#order_currency_id').val($('#old_currency_id').val());
|
||||
return;
|
||||
}
|
||||
0956f2d4 | Felix Eichler | var rate_input = $('#order_exchangerate_as_null_number');
|
||
598383b3 | Bernd Bleßmann | // unset exchangerate if currency changed
|
||
if ($('#order_currency_id').val() !== $('#old_currency_id').val()) {
|
||||
rate_input.val('');
|
||||
}
|
||||
// only set exchangerate if unset
|
||||
if (rate_input.val() !== '') {
|
||||
return;
|
||||
}
|
||||
4b1666b7 | Felix Eichler | |||
var data = $('#order_form').serializeArray();
|
||||
data.push({ name: 'action', value: 'Order/update_exchangerate' });
|
||||
$.ajax({
|
||||
url: 'controller.pl',
|
||||
data: data,
|
||||
method: 'POST',
|
||||
dataType: 'json',
|
||||
success: function(data){
|
||||
0956f2d4 | Felix Eichler | if (!data.is_standard) {
|
||
4b1666b7 | Felix Eichler | $('#currency_name').text(data.currency_name);
|
||
if (data.exchangerate) {
|
||||
598383b3 | Bernd Bleßmann | rate_input.val(data.exchangerate);
|
||
4b1666b7 | Felix Eichler | } else {
|
||
598383b3 | Bernd Bleßmann | rate_input.val('');
|
||
4b1666b7 | Felix Eichler | }
|
||
$('#exchangerate_settings').show();
|
||||
} else {
|
||||
598383b3 | Bernd Bleßmann | rate_input.val('');
|
||
4b1666b7 | Felix Eichler | $('#exchangerate_settings').hide();
|
||
}
|
||||
0956f2d4 | Felix Eichler | if ($('#order_currency_id').val() != $('#old_currency_id').val() ||
|
||
!data.is_standard && data.exchangerate != $('#old_exchangerate').val()) {
|
||||
31fe31f4 | Bernd Bleßmann | kivi.display_flash('warning', kivi.t8('You have changed the currency or exchange rate. Please check prices.'));
|
||
4b1666b7 | Felix Eichler | }
|
||
$('#old_currency_id').val($('#order_currency_id').val());
|
||||
$('#old_exchangerate').val(data.exchangerate);
|
||||
}
|
||||
});
|
||||
};
|
||||
e8a62150 | Felix Eichler | ns.exchangerate_changed = function(event) {
|
||
0956f2d4 | Felix Eichler | if (kivi.parse_amount($('#order_exchangerate_as_null_number').val()) != kivi.parse_amount($('#old_exchangerate').val())) {
|
||
31fe31f4 | Bernd Bleßmann | kivi.display_flash('warning', kivi.t8('You have changed the currency or exchange rate. Please check prices.'));
|
||
0956f2d4 | Felix Eichler | $('#old_exchangerate').val($('#order_exchangerate_as_null_number').val());
|
||
e8a62150 | Felix Eichler | }
|
||
};
|
||||
0935b012 | Bernd Bleßmann | ns.recalc_amounts_and_taxes = function() {
|
||
2d586b8b | Bernd Bleßmann | if (!kivi.validate_form('#order_form')) return;
|
||
0935b012 | Bernd Bleßmann | var data = $('#order_form').serializeArray();
|
||
data.push({ name: 'action', value: 'Order/recalc_amounts_and_taxes' });
|
||||
$.post("controller.pl", data, kivi.eval_json_result);
|
||||
};
|
||||
ns.unit_change = function(event) {
|
||||
68da3b40 | Bernd Bleßmann | var row = $(event.target).parents("tbody").first();
|
||
var item_id_dom = $(row).find('[name="orderitem_ids[+]"]');
|
||||
0935b012 | Bernd Bleßmann | var sellprice_dom = $(row).find('[name="order.orderitems[].sellprice_as_number"]');
|
||
68da3b40 | Bernd Bleßmann | var select_elt = $(row).find('[name="order.orderitems[].unit"]');
|
||
0935b012 | Bernd Bleßmann | |||
var oldval = $(select_elt).data('oldval');
|
||||
$(select_elt).data('oldval', $(select_elt).val());
|
||||
var data = $('#order_form').serializeArray();
|
||||
68da3b40 | Bernd Bleßmann | data.push({ name: 'action', value: 'Order/unit_changed' },
|
||
{ name: 'item_id', value: item_id_dom.val() },
|
||||
{ name: 'old_unit', value: oldval },
|
||||
{ name: 'sellprice_dom_id', value: sellprice_dom.attr('id') });
|
||||
0935b012 | Bernd Bleßmann | |||
$.post("controller.pl", data, kivi.eval_json_result);
|
||||
};
|
||||
ns.update_sellprice = function(item_id, price_str) {
|
||||
68da3b40 | Bernd Bleßmann | var row = $('#item_' + item_id).parents("tbody").first();
|
||
0935b012 | Bernd Bleßmann | var price_elt = $(row).find('[name="order.orderitems[].sellprice_as_number"]');
|
||
var html_elt = $(row).find('[name="sellprice_text"]');
|
||||
price_elt.val(price_str);
|
||||
html_elt.html(price_str);
|
||||
};
|
||||
28a7a539 | Bernd Bleßmann | ns.load_second_row = function(row) {
|
||
var item_id_dom = $(row).find('[name="orderitem_ids[+]"]');
|
||||
68da3b40 | Bernd Bleßmann | var div_elt = $(row).find('[name="second_row"]');
|
||
28a7a539 | Bernd Bleßmann | |||
if ($(div_elt).data('loaded') == 1) {
|
||||
return;
|
||||
}
|
||||
var data = $('#order_form').serializeArray();
|
||||
68da3b40 | Bernd Bleßmann | data.push({ name: 'action', value: 'Order/load_second_rows' },
|
||
{ name: 'item_ids[]', value: item_id_dom.val() });
|
||||
28a7a539 | Bernd Bleßmann | |||
$.post("controller.pl", data, kivi.eval_json_result);
|
||||
};
|
||||
9eb765a5 | Bernd Bleßmann | ns.load_all_second_rows = function() {
|
||
var rows = $('.row_entry').filter(function(idx, elt) {
|
||||
return $(elt).find('[name="second_row"]').data('loaded') != 1;
|
||||
});
|
||||
var item_ids = $.map(rows, function(elt) {
|
||||
var item_id = $(elt).find('[name="orderitem_ids[+]"]').val();
|
||||
return { name: 'item_ids[]', value: item_id };
|
||||
});
|
||||
if (item_ids.length == 0) {
|
||||
return;
|
||||
}
|
||||
var data = $('#order_form').serializeArray();
|
||||
data.push({ name: 'action', value: 'Order/load_second_rows' });
|
||||
data = data.concat(item_ids);
|
||||
$.post("controller.pl", data, kivi.eval_json_result);
|
||||
};
|
||||
ns.hide_second_row = function(row) {
|
||||
$(row).children().not(':first').hide();
|
||||
2659735b | Bernd Bleßmann | $(row).data('expanded', 0);
|
||
9eb765a5 | Bernd Bleßmann | var elt = $(row).find('.expand');
|
||
91d46243 | Bernd Bleßmann | elt.attr('src', "image/expand.svg");
|
||
9eb765a5 | Bernd Bleßmann | elt.attr('alt', kivi.t8('Show details'));
|
||
elt.attr('title', kivi.t8('Show details'));
|
||||
};
|
||||
ns.show_second_row = function(row) {
|
||||
$(row).children().not(':first').show();
|
||||
2659735b | Bernd Bleßmann | $(row).data('expanded', 1);
|
||
9eb765a5 | Bernd Bleßmann | var elt = $(row).find('.expand');
|
||
91d46243 | Bernd Bleßmann | elt.attr('src', "image/collapse.svg");
|
||
9eb765a5 | Bernd Bleßmann | elt.attr('alt', kivi.t8('Hide details'));
|
||
elt.attr('title', kivi.t8('Hide details'));
|
||||
};
|
||||
ns.toggle_second_row = function(row) {
|
||||
2659735b | Bernd Bleßmann | if ($(row).data('expanded') == 1) {
|
||
9eb765a5 | Bernd Bleßmann | ns.hide_second_row(row);
|
||
} else {
|
||||
ns.show_second_row(row);
|
||||
}
|
||||
};
|
||||
28a7a539 | Bernd Bleßmann | |||
0935b012 | Bernd Bleßmann | ns.init_row_handlers = function() {
|
||
kivi.run_once_for('.recalc', 'on_change_recalc', function(elt) {
|
||||
$(elt).change(ns.recalc_amounts_and_taxes);
|
||||
});
|
||||
kivi.run_once_for('.reformat_number', 'on_change_reformat', function(elt) {
|
||||
$(elt).change(ns.reformat_number);
|
||||
});
|
||||
kivi.run_once_for('.unitselect', 'on_change_unit_with_oldval', function(elt) {
|
||||
$(elt).data('oldval', $(elt).val());
|
||||
$(elt).change(ns.unit_change);
|
||||
});
|
||||
kivi.run_once_for('.row_entry', 'on_kbd_click_show_hide', function(elt) {
|
||||
$(elt).keydown(function(event) {
|
||||
37acd860 | Bernd Bleßmann | var row;
|
||
68da3b40 | Bernd Bleßmann | if (event.keyCode == 40 && event.shiftKey === true) {
|
||
0935b012 | Bernd Bleßmann | // shift arrow down
|
||
event.preventDefault();
|
||||
37acd860 | Bernd Bleßmann | row = $(event.target).parents(".row_entry").first();
|
||
28a7a539 | Bernd Bleßmann | ns.load_second_row(row);
|
||
9eb765a5 | Bernd Bleßmann | ns.show_second_row(row);
|
||
0935b012 | Bernd Bleßmann | return false;
|
||
}
|
||||
68da3b40 | Bernd Bleßmann | if (event.keyCode == 38 && event.shiftKey === true) {
|
||
0935b012 | Bernd Bleßmann | // shift arrow up
|
||
event.preventDefault();
|
||||
37acd860 | Bernd Bleßmann | row = $(event.target).parents(".row_entry").first();
|
||
9eb765a5 | Bernd Bleßmann | ns.hide_second_row(row);
|
||
0935b012 | Bernd Bleßmann | return false;
|
||
}
|
||||
});
|
||||
});
|
||||
9eb765a5 | Bernd Bleßmann | |||
kivi.run_once_for('.expand', 'expand_second_row', function(elt) {
|
||||
$(elt).click(function(event) {
|
||||
event.preventDefault();
|
||||
var row = $(event.target).parents(".row_entry").first();
|
||||
ns.load_second_row(row);
|
||||
ns.toggle_second_row(row);
|
||||
return false;
|
||||
})
|
||||
});
|
||||
0935b012 | Bernd Bleßmann | };
|
||
5737ce39 | Bernd Bleßmann | ns.redisplay_line_values = function(is_sales, data) {
|
||
$('.row_entry').each(function(idx, elt) {
|
||||
$(elt).find('[name="linetotal"]').html(data[idx][0]);
|
||||
if (is_sales && $(elt).find('[name="second_row"]').data('loaded') == 1) {
|
||||
var mt = data[idx][1];
|
||||
var mp = data[idx][2];
|
||||
var h = '<span';
|
||||
if (mt[0] === '-') h += ' class="plus0"';
|
||||
h += '>' + mt + ' ' + mp + '%';
|
||||
h += '</span>';
|
||||
$(elt).find('[name="linemargin"]').html(h);
|
||||
}
|
||||
0935b012 | Bernd Bleßmann | });
|
||
};
|
||||
a66591cc | Bernd Bleßmann | ns.redisplay_cvpartnumbers = function(data) {
|
||
$('.row_entry').each(function(idx, elt) {
|
||||
$(elt).find('[name="cvpartnumber"]').html(data[idx][0]);
|
||||
});
|
||||
};
|
||||
0935b012 | Bernd Bleßmann | ns.renumber_positions = function() {
|
||
$('.row_entry [name="position"]').each(function(idx, elt) {
|
||||
$(elt).html(idx+1);
|
||||
});
|
||||
59103201 | Bernd Bleßmann | $('.row_entry').each(function(idx, elt) {
|
||
$(elt).data("position", idx+1);
|
||||
});
|
||||
0935b012 | Bernd Bleßmann | };
|
||
ns.reorder_items = function(order_by) {
|
||||
var dir = $('#' + order_by + '_header_id a img').attr("data-sort-dir");
|
||||
$('#row_table_id thead a img').remove();
|
||||
var src;
|
||||
if (dir == "1") {
|
||||
dir = "0";
|
||||
src = "image/up.png";
|
||||
} else {
|
||||
dir = "1";
|
||||
src = "image/down.png";
|
||||
7ede2933 | Sven Schöling | }
|
||
0935b012 | Bernd Bleßmann | |||
$('#' + order_by + '_header_id a').append('<img border=0 data-sort-dir=' + dir + ' src=' + src + ' alt="' + kivi.t8('sort items') + '">');
|
||||
var data = $('#order_form').serializeArray();
|
||||
68da3b40 | Bernd Bleßmann | data.push({ name: 'action', value: 'Order/reorder_items' },
|
||
{ name: 'order_by', value: order_by },
|
||||
{ name: 'sort_dir', value: dir });
|
||||
0935b012 | Bernd Bleßmann | |||
$.post("controller.pl", data, kivi.eval_json_result);
|
||||
};
|
||||
ns.redisplay_items = function(data) {
|
||||
var old_rows = $('.row_entry').detach();
|
||||
var new_rows = [];
|
||||
$(data).each(function(idx, elt) {
|
||||
new_rows.push(old_rows[elt.old_pos - 1]);
|
||||
});
|
||||
$(new_rows).appendTo($('#row_table_id'));
|
||||
ns.renumber_positions();
|
||||
};
|
||||
59103201 | Bernd Bleßmann | ns.get_insert_before_item_id = function(wanted_pos) {
|
||
if (wanted_pos === '') return;
|
||||
var insert_before_item_id;
|
||||
// selection by data does not seem to work if data is changed at runtime
|
||||
// var elt = $('.row_entry [data-position="' + wanted_pos + '"]');
|
||||
$('.row_entry').each(function(idx, elt) {
|
||||
if ($(elt).data("position") == wanted_pos) {
|
||||
insert_before_item_id = $(elt).find('[name="orderitem_ids[+]"]').val();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
return insert_before_item_id;
|
||||
};
|
||||
958b82d6 | Bernd Bleßmann | 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);
|
||||
};
|
||||
0935b012 | Bernd Bleßmann | ns.add_item = function() {
|
||
7ede2933 | Sven Schöling | if ($('#add_item_parts_id').val() === '') return;
|
||
0935b012 | Bernd Bleßmann | if (!ns.check_cv()) return;
|
||
$('#row_table_id thead a img').remove();
|
||||
59103201 | Bernd Bleßmann | var insert_before_item_id = ns.get_insert_before_item_id($('#add_item_position').val());
|
||
0935b012 | Bernd Bleßmann | var data = $('#order_form').serializeArray();
|
||
59103201 | Bernd Bleßmann | data.push({ name: 'action', value: 'Order/add_item' },
|
||
{ name: 'insert_before_item_id', value: insert_before_item_id });
|
||||
0935b012 | Bernd Bleßmann | |||
$.post("controller.pl", data, kivi.eval_json_result);
|
||||
};
|
||||
594ec6f3 | Bernd Bleßmann | ns.open_multi_items_dialog = function() {
|
||
af4dfe1e | Bernd Bleßmann | if (!ns.check_cv()) return;
|
||
594ec6f3 | Bernd Bleßmann | var pp = $("#add_item_parts_id").data("part_picker");
|
||
pp.o.multiple=1;
|
||||
pp.open_dialog();
|
||||
};
|
||||
8ad661b7 | Bernd Bleßmann | ns.add_multi_items = function(data) {
|
||
59103201 | Bernd Bleßmann | var insert_before_item_id = ns.get_insert_before_item_id($('#multi_items_position').val());
|
||
8ad661b7 | Bernd Bleßmann | data = data.concat($('#order_form').serializeArray());
|
||
59103201 | Bernd Bleßmann | data.push({ name: 'action', value: 'Order/add_multi_items' },
|
||
{ name: 'insert_before_item_id', value: insert_before_item_id });
|
||||
759e7200 | Bernd Bleßmann | $.post("controller.pl", data, kivi.eval_json_result);
|
||
};
|
||||
0935b012 | Bernd Bleßmann | ns.delete_order_item_row = function(clicked) {
|
||
var row = $(clicked).parents("tbody").first();
|
||||
$(row).remove();
|
||||
ns.renumber_positions();
|
||||
ns.recalc_amounts_and_taxes();
|
||||
};
|
||||
ns.row_table_scroll_down = function() {
|
||||
$('#row_table_scroll_id').scrollTop($('#row_table_scroll_id')[0].scrollHeight);
|
||||
};
|
||||
ns.show_longdescription_dialog = function(clicked) {
|
||||
68da3b40 | Bernd Bleßmann | var row = $(clicked).parents("tbody").first();
|
||
var position = $(row).find('[name="position"]').html();
|
||||
var partnumber = $(row).find('[name="partnumber"]').html();
|
||||
var description_elt = $(row).find('[name="order.orderitems[].description"]');
|
||||
0935b012 | Bernd Bleßmann | var longdescription_elt = $(row).find('[name="order.orderitems[].longdescription"]');
|
||
68da3b40 | Bernd Bleßmann | var params = {
|
||
runningnumber: position,
|
||||
partnumber: partnumber,
|
||||
aa60c549 | Moritz Bunkus | description: description_elt.val(),
|
||
default_longdescription: longdescription_elt.val(),
|
||||
68da3b40 | Bernd Bleßmann | set_function: function(val) {
|
||
aa60c549 | Moritz Bunkus | longdescription_elt.val(val);
|
||
68da3b40 | Bernd Bleßmann | }
|
||
};
|
||||
0935b012 | Bernd Bleßmann | |||
kivi.SalesPurchase.edit_longdescription_with_params(params);
|
||||
};
|
||||
ns.price_chooser_item_row = function(clicked) {
|
||||
69966b4c | Bernd Bleßmann | if (!ns.check_cv()) return;
|
||
68da3b40 | Bernd Bleßmann | var row = $(clicked).parents("tbody").first();
|
||
0935b012 | Bernd Bleßmann | var item_id_dom = $(row).find('[name="orderitem_ids[+]"]');
|
||
var data = $('#order_form').serializeArray();
|
||||
68da3b40 | Bernd Bleßmann | data.push({ name: 'action', value: 'Order/price_popup' },
|
||
{ name: 'item_id', value: item_id_dom.val() });
|
||||
0935b012 | Bernd Bleßmann | |||
$.post("controller.pl", data, kivi.eval_json_result);
|
||||
};
|
||||
d6fed9b5 | Bernd Bleßmann | ns.set_price_and_source_text = function(item_id, source, descr, price_str, price_editable) {
|
||
68da3b40 | Bernd Bleßmann | var row = $('#item_' + item_id).parents("tbody").first();
|
||
0935b012 | Bernd Bleßmann | var source_elt = $(row).find('[name="order.orderitems[].active_price_source"]');
|
||
var button_elt = $(row).find('[name="price_chooser_button"]');
|
||||
button_elt.val(button_elt.val().replace(/.*\|/, descr + " |"));
|
||||
source_elt.val(source);
|
||||
68da3b40 | Bernd Bleßmann | var editable_div_elt = $(row).find('[name="editable_price"]');
|
||
0935b012 | Bernd Bleßmann | var not_editable_div_elt = $(row).find('[name="not_editable_price"]');
|
||
7ede2933 | Sven Schöling | if (price_editable == 1 && source === '') {
|
||
0935b012 | Bernd Bleßmann | // editable
|
||
$(editable_div_elt).show();
|
||||
$(not_editable_div_elt).hide();
|
||||
$(editable_div_elt).find(':input').prop("disabled", false);
|
||||
$(not_editable_div_elt).find(':input').prop("disabled", true);
|
||||
} else {
|
||||
// not editable
|
||||
$(editable_div_elt).hide();
|
||||
$(not_editable_div_elt).show();
|
||||
$(editable_div_elt).find(':input').prop("disabled", true);
|
||||
$(not_editable_div_elt).find(':input').prop("disabled", false);
|
||||
}
|
||||
if (price_str) {
|
||||
var price_elt = $(row).find('[name="order.orderitems[].sellprice_as_number"]');
|
||||
var html_elt = $(row).find('[name="sellprice_text"]');
|
||||
price_elt.val(price_str);
|
||||
html_elt.html(price_str);
|
||||
}
|
||||
d6fed9b5 | Bernd Bleßmann | };
|
||
ns.update_price_source = function(item_id, source, descr, price_str, price_editable) {
|
||||
1b58f5da | Bernd Bleßmann | ns.set_price_and_source_text(item_id, source, descr, price_str, price_editable);
|
||
0935b012 | Bernd Bleßmann | |||
d6fed9b5 | Bernd Bleßmann | if (price_str) ns.recalc_amounts_and_taxes();
|
||
0935b012 | Bernd Bleßmann | kivi.io.close_dialog();
|
||
};
|
||||
d6fed9b5 | Bernd Bleßmann | ns.set_discount_and_source_text = function(item_id, source, descr, discount_str, price_editable) {
|
||
68da3b40 | Bernd Bleßmann | var row = $('#item_' + item_id).parents("tbody").first();
|
||
0935b012 | Bernd Bleßmann | var source_elt = $(row).find('[name="order.orderitems[].active_discount_source"]');
|
||
var button_elt = $(row).find('[name="price_chooser_button"]');
|
||||
button_elt.val(button_elt.val().replace(/\|.*/, "| " + descr));
|
||||
source_elt.val(source);
|
||||
68da3b40 | Bernd Bleßmann | var editable_div_elt = $(row).find('[name="editable_discount"]');
|
||
0935b012 | Bernd Bleßmann | var not_editable_div_elt = $(row).find('[name="not_editable_discount"]');
|
||
7ede2933 | Sven Schöling | if (price_editable == 1 && source === '') {
|
||
0935b012 | Bernd Bleßmann | // editable
|
||
$(editable_div_elt).show();
|
||||
$(not_editable_div_elt).hide();
|
||||
$(editable_div_elt).find(':input').prop("disabled", false);
|
||||
$(not_editable_div_elt).find(':input').prop("disabled", true);
|
||||
} else {
|
||||
// not editable
|
||||
$(editable_div_elt).hide();
|
||||
$(not_editable_div_elt).show();
|
||||
$(editable_div_elt).find(':input').prop("disabled", true);
|
||||
$(not_editable_div_elt).find(':input').prop("disabled", false);
|
||||
}
|
||||
if (discount_str) {
|
||||
var discount_elt = $(row).find('[name="order.orderitems[].discount_as_percent"]');
|
||||
var html_elt = $(row).find('[name="discount_text"]');
|
||||
discount_elt.val(discount_str);
|
||||
html_elt.html(discount_str);
|
||||
}
|
||||
d6fed9b5 | Bernd Bleßmann | };
|
||
0935b012 | Bernd Bleßmann | |||
d6fed9b5 | Bernd Bleßmann | ns.update_discount_source = function(item_id, source, descr, discount_str, price_editable) {
|
||
1b58f5da | Bernd Bleßmann | ns.set_discount_and_source_text(item_id, source, descr, discount_str, price_editable);
|
||
d6fed9b5 | Bernd Bleßmann | if (discount_str) ns.recalc_amounts_and_taxes();
|
||
0935b012 | Bernd Bleßmann | kivi.io.close_dialog();
|
||
};
|
||||
5c859d64 | Bernd Bleßmann | ns.show_periodic_invoices_config_dialog = function() {
|
||
if ($('#type').val() !== 'sales_order') return;
|
||||
kivi.popup_dialog({
|
||||
68da3b40 | Bernd Bleßmann | url: 'controller.pl?action=Order/show_periodic_invoices_config_dialog',
|
||
452e195f | Bernd Bleßmann | 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()
|
||||
68da3b40 | Bernd Bleßmann | },
|
||
id: 'jq_periodic_invoices_config_dialog',
|
||||
load: kivi.reinit_widgets,
|
||||
5c859d64 | Bernd Bleßmann | dialog: {
|
||
68da3b40 | Bernd Bleßmann | title: kivi.t8('Edit the configuration for periodic invoices'),
|
||
5c859d64 | Bernd Bleßmann | width: 800,
|
||
height: 650
|
||||
}
|
||||
});
|
||||
return true;
|
||||
};
|
||||
ns.close_periodic_invoices_config_dialog = function() {
|
||||
$('#jq_periodic_invoices_config_dialog').dialog('close');
|
||||
};
|
||||
ns.assign_periodic_invoices_config = function() {
|
||||
var data = $('[name="Form"]').serializeArray();
|
||||
68da3b40 | Bernd Bleßmann | data.push({ name: 'type', value: $('#type').val() },
|
||
{ name: 'action', value: 'Order/assign_periodic_invoices_config' });
|
||||
5c859d64 | Bernd Bleßmann | $.post("controller.pl", data, kivi.eval_json_result);
|
||
};
|
||||
ns.check_save_active_periodic_invoices = function() {
|
||||
var type = $('#type').val();
|
||||
if (type !== 'sales_order') return true;
|
||||
var active = false;
|
||||
$.ajax({
|
||||
68da3b40 | Bernd Bleßmann | url: 'controller.pl',
|
||
data: { action: 'Order/get_has_active_periodic_invoices',
|
||||
type : type,
|
||||
id : $('#id').val(),
|
||||
config: $('#order_periodic_invoices_config').val(),
|
||||
},
|
||||
method: "GET",
|
||||
async: false,
|
||||
5c859d64 | Bernd Bleßmann | dataType: 'text',
|
||
68da3b40 | Bernd Bleßmann | success: function(val) {
|
||
5c859d64 | Bernd Bleßmann | active = val;
|
||
}
|
||||
});
|
||||
if (active == 1) {
|
||||
return confirm(kivi.t8('This sales order has an active configuration for periodic invoices. If you save then all subsequently created invoices will contain those changes as well, but not those that have already been created. Do you want to continue?'));
|
||||
}
|
||||
return true;
|
||||
};
|
||||
aacd6696 | Bernd Bleßmann | ns.show_vc_details_dialog = function() {
|
||
if (!ns.check_cv()) return;
|
||||
var vc;
|
||||
var vc_id;
|
||||
var title;
|
||||
if ($('#type').val() == 'sales_order' || $('#type').val() == 'sales_quotation' ) {
|
||||
vc = 'customer';
|
||||
vc_id = $('#order_customer_id').val();
|
||||
title = kivi.t8('Customer details');
|
||||
} else {
|
||||
vc = 'vendor';
|
||||
vc_id = $('#order_vendor_id').val();
|
||||
title = kivi.t8('Vendor details');
|
||||
}
|
||||
kivi.popup_dialog({
|
||||
68da3b40 | Bernd Bleßmann | url: 'controller.pl',
|
||
data: { action: 'Order/show_customer_vendor_details_dialog',
|
||||
type : $('#type').val(),
|
||||
vc : vc,
|
||||
vc_id : vc_id
|
||||
},
|
||||
id: 'jq_customer_vendor_details_dialog',
|
||||
aacd6696 | Bernd Bleßmann | dialog: {
|
||
68da3b40 | Bernd Bleßmann | title: title,
|
||
aacd6696 | Bernd Bleßmann | width: 800,
|
||
height: 650
|
||||
}
|
||||
});
|
||||
return true;
|
||||
};
|
||||
ff5279ed | Bernd Bleßmann | ns.update_row_from_master_data = function(clicked) {
|
||
var row = $(clicked).parents("tbody").first();
|
||||
var item_id_dom = $(row).find('[name="orderitem_ids[+]"]');
|
||||
var data = $('#order_form').serializeArray();
|
||||
data.push({ name: 'action', value: 'Order/update_row_from_master_data' });
|
||||
data.push({ name: 'item_ids[]', value: item_id_dom.val() });
|
||||
$.post("controller.pl", data, kivi.eval_json_result);
|
||||
};
|
||||
ns.update_all_rows_from_master_data = function() {
|
||||
var item_ids = $.map($('.row_entry'), function(elt) {
|
||||
var item_id = $(elt).find('[name="orderitem_ids[+]"]').val();
|
||||
return { name: 'item_ids[]', value: item_id };
|
||||
});
|
||||
if (item_ids.length == 0) {
|
||||
return;
|
||||
}
|
||||
var data = $('#order_form').serializeArray();
|
||||
data.push({ name: 'action', value: 'Order/update_row_from_master_data' });
|
||||
data = data.concat(item_ids);
|
||||
$.post("controller.pl", data, kivi.eval_json_result);
|
||||
};
|
||||
00402ae6 | Bernd Bleßmann | ns.show_calculate_qty_dialog = function(clicked) {
|
||
68da3b40 | Bernd Bleßmann | var row = $(clicked).parents("tbody").first();
|
||
var input_id = $(row).find('[name="order.orderitems[].qty_as_number"]').attr('id');
|
||||
6770b19a | Bernd Bleßmann | var formula_id = $(row).find('[name="formula[+]"]').attr('id');
|
||
00402ae6 | Bernd Bleßmann | |||
6770b19a | Bernd Bleßmann | calculate_qty_selection_dialog("", input_id, "", formula_id);
|
||
00402ae6 | Bernd Bleßmann | return true;
|
||
68da3b40 | Bernd Bleßmann | };
|
||
00402ae6 | Bernd Bleßmann | |||
199bd497 | Bernd Bleßmann | ns.edit_custom_shipto = function() {
|
||
if (!ns.check_cv()) return;
|
||||
kivi.SalesPurchase.edit_custom_shipto();
|
||||
};
|
||||
fb5bcaea | Bernd Bleßmann | ns.purchase_check_for_direct_delivery = function(params) {
|
||
9619d8be | Bernd Bleßmann | const to_type = params.to_type;
|
||
fb5bcaea | Bernd Bleßmann | if ($('#type').val() != 'sales_quotation' && $('#type').val() != 'sales_order') {
|
||
9619d8be | Bernd Bleßmann | kivi.submit_ajax_form("controller.pl", '#order_form', {action: 'Order/save_and_order_workflow', to_type: to_type});
|
||
2fd4736b | Bernd Bleßmann | return;
|
||
9cb9a448 | Bernd Bleßmann | }
|
||
var empty = true;
|
||||
var shipto;
|
||||
if ($('#order_shipto_id').val() !== '') {
|
||||
empty = false;
|
||||
shipto = $('#order_shipto_id option:selected').text();
|
||||
} else {
|
||||
$('#shipto_inputs [id^="shipto"]').each(function(idx, elt) {
|
||||
if (!empty) return true;
|
||||
if (/^shipto_to_copy/.test($(elt).prop('id'))) return true;
|
||||
if (/^shiptocp_gender/.test($(elt).prop('id'))) return true;
|
||||
if (/^shiptocvar_/.test($(elt).prop('id'))) return true;
|
||||
if ($(elt).val() !== '') {
|
||||
empty = false;
|
||||
return false;
|
||||
}
|
||||
});
|
||||
var shipto_elements = [];
|
||||
$([$('#shiptoname').val(), $('#shiptostreet').val(), $('#shiptozipcode').val(), $('#shiptocity').val()]).each(function(idx, elt) {
|
||||
if (elt !== '') shipto_elements.push(elt);
|
||||
});
|
||||
shipto = shipto_elements.join('; ');
|
||||
}
|
||||
if (!empty) {
|
||||
9619d8be | Bernd Bleßmann | ns.direct_delivery_dialog(shipto, to_type);
|
||
9cb9a448 | Bernd Bleßmann | } else {
|
||
9619d8be | Bernd Bleßmann | kivi.submit_ajax_form("controller.pl", '#order_form', {action: 'Order/save_and_order_workflow', to_type: to_type});
|
||
9cb9a448 | Bernd Bleßmann | }
|
||
};
|
||||
9619d8be | Bernd Bleßmann | ns.direct_delivery_callback = function(accepted, to_type) {
|
||
9cb9a448 | Bernd Bleßmann | $('#direct-delivery-dialog').dialog('close');
|
||
if (accepted) {
|
||||
$('<input type="hidden" name="use_shipto">').appendTo('#order_form').val('1');
|
||||
}
|
||||
9619d8be | Bernd Bleßmann | kivi.submit_ajax_form("controller.pl", '#order_form', {action: 'Order/save_and_order_workflow', to_type: to_type});
|
||
9cb9a448 | Bernd Bleßmann | };
|
||
9619d8be | Bernd Bleßmann | ns.direct_delivery_dialog = function(shipto, to_type) {
|
||
9cb9a448 | Bernd Bleßmann | $('#direct-delivery-dialog').remove();
|
||
var text1 = kivi.t8('You have entered or selected the following shipping address for this customer:');
|
||||
54e099ac | Bernd Bleßmann | var text2 = kivi.t8('Do you want to carry this shipping address over to the new purchase document so that the vendor can deliver the goods directly to your customer?');
|
||
9cb9a448 | Bernd Bleßmann | var html = '<div id="direct-delivery-dialog"><p>' + text1 + '</p><p>' + shipto + '</p><p>' + text2 + '</p>';
|
||
html = html + '<hr><p>';
|
||||
9619d8be | Bernd Bleßmann | html = html + '<input type="button" value="' + kivi.t8('Yes') + '" size="30" onclick="kivi.Order.direct_delivery_callback(true, \'' + to_type + '\')">';
|
||
9cb9a448 | Bernd Bleßmann | html = html + ' ';
|
||
9619d8be | Bernd Bleßmann | html = html + '<input type="button" value="' + kivi.t8('No') + '" size="30" onclick="kivi.Order.direct_delivery_callback(false, \'' + to_type + '\')">';
|
||
9cb9a448 | Bernd Bleßmann | html = html + '</p></div>';
|
||
$(html).hide().appendTo('#order_form');
|
||||
kivi.popup_dialog({id: 'direct-delivery-dialog',
|
||||
dialog: {title: kivi.t8('Carry over shipping address'),
|
||||
height: 300,
|
||||
width: 500 }});
|
||||
};
|
||||
6e8c0011 | Bernd Bleßmann | ns.follow_up_window = function() {
|
||
var id = $('#id').val();
|
||||
var type = $('#type').val();
|
||||
var number_info = '';
|
||||
if ($('#type').val() == 'sales_order' || $('#type').val() == 'purchase_order') {
|
||||
number_info = $('#order_ordnumber').val();
|
||||
} else if ($('#type').val() == 'sales_quotation' || $('#type').val() == 'request_quotation') {
|
||||
number_info = $('#order_quonumber').val();
|
||||
}
|
||||
var name_info = '';
|
||||
if ($('#type').val() == 'sales_order' || $('#type').val() == 'sales_quotation') {
|
||||
name_info = $('#order_customer_id_name').val();
|
||||
} else if ($('#type').val() == 'purchase_order' || $('#type').val() == 'request_quotation') {
|
||||
name_info = $('#order_vendor_id_name').val();
|
||||
}
|
||||
var info = '';
|
||||
if (number_info !== '') { info += ' (' + number_info + ')' }
|
||||
if (name_info !== '') { info += ' (' + name_info + ')' }
|
||||
036d7ce5 | Jan Büren | if (!$('#follow_up_rowcount').length) {
|
||
c372f6f8 | Bernd Bleßmann | $('<input type="hidden" name="follow_up_rowcount" id="follow_up_rowcount">').appendTo('#order_form');
|
||
$('<input type="hidden" name="follow_up_trans_id_1" id="follow_up_trans_id_1">').appendTo('#order_form');
|
||||
$('<input type="hidden" name="follow_up_trans_type_1" id="follow_up_trans_type_1">').appendTo('#order_form');
|
||||
$('<input type="hidden" name="follow_up_trans_info_1" id="follow_up_trans_info_1">').appendTo('#order_form');
|
||||
$('<input type="hidden" name="follow_up_trans_subject_1" id="follow_up_trans_subject_1">').appendTo('#order_form');
|
||||
}
|
||||
$('#follow_up_rowcount').val(1);
|
||||
$('#follow_up_trans_id_1').val(id);
|
||||
$('#follow_up_trans_type_1').val(type);
|
||||
$('#follow_up_trans_info_1').val(info);
|
||||
$('#follow_up_trans_subject_1').val($('#order_transaction_description').val());
|
||||
6e8c0011 | Bernd Bleßmann | |||
follow_up_window();
|
||||
};
|
||||
d1809c22 | Bernd Bleßmann | 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);
|
||||
};
|
||||
9ce44b6f | Bernd Bleßmann | 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 ]));
|
||||
};
|
||||
5efe1390 | Bernd Bleßmann | 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;
|
||||
};
|
||||
332b5ec7 | Bernd Bleßmann | ns.load_phone_note = function(id, subject, body) {
|
||
$('#phone_note_edit_text').html(kivi.t8('Edit note'));
|
||||
$('#phone_note_id').val(id);
|
||||
$('#phone_note_subject').val(subject);
|
||||
$('#phone_note_body').val(body);
|
||||
$('#phone_note_delete_button').show();
|
||||
};
|
||||
ns.cancel_phone_note = function() {
|
||||
$('#phone_note_edit_text').html(kivi.t8('Add note'));
|
||||
$('#phone_note_id').val('');
|
||||
$('#phone_note_subject').val('');
|
||||
$('#phone_note_body').val('');
|
||||
$('#phone_note_delete_button').hide();
|
||||
};
|
||||
ns.save_phone_note = function() {
|
||||
var data = $('#order_form').serializeArray();
|
||||
data.push({ name: 'action', value: 'Order/save_phone_note' });
|
||||
$.post("controller.pl", data, kivi.eval_json_result);
|
||||
};
|
||||
ns.delete_phone_note = function() {
|
||||
if ($('#phone_note_id').val() === '') return;
|
||||
var data = $('#order_form').serializeArray();
|
||||
data.push({ name: 'action', value: 'Order/delete_phone_note' });
|
||||
$.post("controller.pl", data, kivi.eval_json_result);
|
||||
};
|
||||
6587b90e | Bernd Bleßmann | ns.open_customervendor_tab = function(id_selector, db) {
|
||
if (!ns.check_cv()) return;
|
||||
window.open("controller.pl?action=CustomerVendor/edit&db=" + encodeURIComponent(db) + "&id=" + encodeURIComponent($(id_selector).val()), '_blank');
|
||||
};
|
||||
0935b012 | Bernd Bleßmann | });
|
||
68da3b40 | Bernd Bleßmann | $(function() {
|
||
8e77bd29 | Bernd Bleßmann | if ($('#type').val() == 'sales_order' || $('#type').val() == 'sales_quotation' ) {
|
||
299dba8f | Steven Schubiger | $('#order_customer_id').change(kivi.Order.reload_cv_dependent_selections);
|
||
0935b012 | Bernd Bleßmann | } else {
|
||
299dba8f | Steven Schubiger | $('#order_vendor_id').change(kivi.Order.reload_cv_dependent_selections);
|
||
0935b012 | Bernd Bleßmann | }
|
||
4b1666b7 | Felix Eichler | $('#order_currency_id').change(kivi.Order.update_exchangerate);
|
||
0ed20721 | Bernd Bleßmann | $('#order_transdate_as_date').change(kivi.Order.update_exchangerate);
|
||
0956f2d4 | Felix Eichler | $('#order_exchangerate_as_null_number').change(kivi.Order.exchangerate_changed);
|
||
4b1666b7 | Felix Eichler | |||
958b82d6 | Bernd Bleßmann | $('#add_item_parts_id').on('set_item:PartPicker', function() {
|
||
kivi.Order.update_item_input_row();
|
||||
});
|
||||
0935b012 | Bernd Bleßmann | |||
$('.add_item_input').keydown(function(event) {
|
||||
68da3b40 | Bernd Bleßmann | if (event.keyCode == 13) {
|
||
0935b012 | Bernd Bleßmann | event.preventDefault();
|
||
kivi.Order.add_item();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
kivi.Order.init_row_handlers();
|
||||
$('#row_table_id').on('sortstop', function(event, ui) {
|
||||
$('#row_table_id thead a img').remove();
|
||||
kivi.Order.renumber_positions();
|
||||
});
|
||||
9eb765a5 | Bernd Bleßmann | |||
$('#expand_all').on('click', function(event) {
|
||||
event.preventDefault();
|
||||
2659735b | Bernd Bleßmann | if ($('#expand_all').data('expanded') == 1) {
|
||
$('#expand_all').data('expanded', 0);
|
||||
91d46243 | Bernd Bleßmann | $('#expand_all').attr('src', 'image/expand.svg');
|
||
9eb765a5 | Bernd Bleßmann | $('#expand_all').attr('alt', kivi.t8('Show all details'));
|
||
$('#expand_all').attr('title', kivi.t8('Show all details'));
|
||||
$('.row_entry').each(function(idx, elt) {
|
||||
kivi.Order.hide_second_row(elt);
|
||||
});
|
||||
} else {
|
||||
2659735b | Bernd Bleßmann | $('#expand_all').data('expanded', 1);
|
||
91d46243 | Bernd Bleßmann | $('#expand_all').attr('src', "image/collapse.svg");
|
||
9eb765a5 | Bernd Bleßmann | $('#expand_all').attr('alt', kivi.t8('Hide all details'));
|
||
$('#expand_all').attr('title', kivi.t8('Hide all details'));
|
||||
kivi.Order.load_all_second_rows();
|
||||
$('.row_entry').each(function(idx, elt) {
|
||||
kivi.Order.show_second_row(elt);
|
||||
});
|
||||
}
|
||||
return false;
|
||||
});
|
||||
2659735b | Bernd Bleßmann | |||
598383b3 | Bernd Bleßmann | $('.reformat_number_as_null_number').change(kivi.Order.reformat_number_as_null_number);
|
||
0935b012 | Bernd Bleßmann | });
|