X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/527c790aa1b87caa3f11edb59dc8f9ef45dc4a1f..c25fdc227a49e304313d4a89d97e1be70c910319:/templates/webpages/order/tabs/basic_data.html diff --git a/templates/webpages/order/tabs/basic_data.html b/templates/webpages/order/tabs/basic_data.html index aa39b2421..e02c498ba 100644 --- a/templates/webpages/order/tabs/basic_data.html +++ b/templates/webpages/order/tabs/basic_data.html @@ -140,6 +140,7 @@ [%- 'Qty' | $T8 %] [%- 'Price Factor' | $T8 %] [%- 'Unit' | $T8 %] + [%- 'Price Source' | $T8 %] [%- 'Price' | $T8 %] [%- 'Discount' | $T8 %] [%- 'Extended' | $T8 %] @@ -147,7 +148,7 @@ [%- FOREACH item = SELF.order.items_sorted %] - [%- PROCESS order/tabs/_row.html ITEM=item %] + [%- PROCESS order/tabs/_row.html ITEM=item ID=item.id %] [%- END %] @@ -268,6 +269,91 @@ function delete_order_item_row(clicked) { recalc_amounts_and_taxes(); } +function price_chooser_item_row(clicked) { + var row = $(clicked).parents("tbody").first(); + var item_id_dom = $(row).find('[name="orderitem_ids[+]"]'); + + var data = $('#order_form').serialize(); + data += '&action=Order/price_popup'; + data += '&item_id=' + item_id_dom.val(); + + $.post("controller.pl", data, kivi.eval_json_result); +} + +function update_price_source(item_id, source, descr, price_str) { + 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"]'); + + button_elt.val(button_elt.val().replace(/.*\|/, descr + " |")); + source_elt.val(source); + + var editable_div_elt = $(row).find('[name="editable_price"]'); + var not_editable_div_elt = $(row).find('[name="not_editable_price"]'); + if ([%- AUTH.assert('edit_prices', 1) %] == 1 && source == '') { + // 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); + recalc_amounts_and_taxes(); + } + + kivi.io.close_dialog(); +} + +function update_discount_source(item_id, source, descr, discount_str) { + 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"]'); + + button_elt.val(button_elt.val().replace(/\|.*/, "| " + descr)); + source_elt.val(source); + + var editable_div_elt = $(row).find('[name="editable_discount"]'); + var not_editable_div_elt = $(row).find('[name="not_editable_discount"]'); + if ([%- AUTH.assert('edit_prices', 1) %] == 1 && source == '') { + // 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); + recalc_amounts_and_taxes(); + } + + kivi.io.close_dialog(); +} + +function reformat_number(event) { + $(event.target).val(kivi.format_amount(kivi.parse_amount($(event.target).val()), -2)); +} + function recalc_amounts_and_taxes() { var data = $('#order_form').serialize(); data += '&action=Order/recalc_amounts_and_taxes'; @@ -350,8 +436,13 @@ close_email_dialog = function() { $(function(){ $('#order_[%- cv_id %]').change(reload_cv_dependend_selections); - $('#add_item_parts_id').on('set_item:PartPicker', function(e,o) { $('#add_item_sellprice_as_number').val(kivi.format_amount(o.sellprice, -2)) }); + [%- IF SELF.cv == 'customer' %] + $('#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)) }); + [%- END %] $('#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_input').keydown(function(event) { if(event.keyCode == 13) { event.preventDefault(); @@ -361,6 +452,7 @@ $(function(){ }); row_set_keyboard_events($('.row_entry')); $('.recalc').change(recalc_amounts_and_taxes); + $('.reformat_number').change(reformat_number); });