From: Bernd Bleßmann Date: Mon, 26 Oct 2015 13:08:04 +0000 (+0100) Subject: Auftrags-Controller: PriceSources: Preis und Rabatt-Feld readonly, wenn nicht frei X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=4a7662c8d94e536c8c452b9004229ec527af02ea;p=kivitendo-erp.git Auftrags-Controller: PriceSources: Preis und Rabatt-Feld readonly, wenn nicht frei --- diff --git a/templates/webpages/order/tabs/_row.html b/templates/webpages/order/tabs/_row.html index 637769b7b..d8ec4df0e 100644 --- a/templates/webpages/order/tabs/_row.html +++ b/templates/webpages/order/tabs/_row.html @@ -48,31 +48,43 @@ class="recalc") %] - [%- SET EDIT_PRICES = 1 %] - [%- IF EDIT_PRICES %] - [%- L.button_tag("price_chooser_item_row(this)", ITEM.active_price_source.source_description, name = "price_chooser_button") %] - [%- END %] + [%- L.button_tag("price_chooser_item_row(this)", ITEM.active_price_source.source_description, name = "price_chooser_button") %] [%- L.hidden_tag("order.orderitems[].active_price_source", ITEM.active_price_source.source) %] - [%- IF EDIT_PRICES %] + [%- SET EDIT_PRICE = (AUTH.assert('edit_prices', 1) && ITEM.active_price_source.source == '') %] +
[%- L.input_tag("order.orderitems[].sellprice_as_number", ITEM.sellprice_as_number, size = 10, style='text-align:right', + disabled=(EDIT_PRICE? '' : 1), class="recalc") %] - [%- ELSE %] - [%- ITEM.sellprice_as_number %] - [%- L.hidden_tag("order.orderitems[].sellprice_as_number", ITEM.sellprice_as_number) %] - [%- END %] +
+
+ [%- L.div_tag(ITEM.sellprice_as_number, name="sellprice_text", style='text-align:right') %] + [%- L.hidden_tag("order.orderitems[].sellprice_as_number", + ITEM.sellprice_as_number, + disabled=(EDIT_PRICE? 1 : '')) %] +
[%- L.hidden_tag("order.orderitems[].active_discount_source", ITEM.active_discount_source.source) %] - [%- L.input_tag("order.orderitems[].discount_as_percent", - ITEM.discount_as_percent, - size = 5, - style='text-align:right', - class="recalc") %] + [%- SET EDIT_DISCOUNT = (AUTH.assert('edit_prices', 1) && ITEM.active_discount_source.source == '') %] +
+ [%- L.input_tag("order.orderitems[].discount_as_percent", + ITEM.discount_as_percent, + size = 5, + style='text-align:right', + disabled=(EDIT_DISCOUNT? '' : 1), + class="recalc") %] +
+
+ [%- L.div_tag(ITEM.discount_as_percent, name="discount_text", style='text-align:right') %] + [%- L.hidden_tag("order.orderitems[].discount_as_percent", + ITEM.discount_as_percent, + disabled=(EDIT_DISCOUNT? 1 : '')) %] +
[%- L.div_tag(LxERP.format_amount(ITEM.linetotal, 2, 0), name="linetotal") %] diff --git a/templates/webpages/order/tabs/basic_data.html b/templates/webpages/order/tabs/basic_data.html index 613c8b396..c67ed3788 100644 --- a/templates/webpages/order/tabs/basic_data.html +++ b/templates/webpages/order/tabs/basic_data.html @@ -283,26 +283,69 @@ function price_chooser_item_row(clicked) { 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 price_elt = $(row).find('[name="order.orderitems[].sellprice_as_number"]'); var button_elt = $(row).find('[name="price_chooser_button"]'); button_elt.val(descr); source_elt.val(source); - if (price_str) price_elt.val(price_str); - recalc_amounts_and_taxes(); + 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, discount_str) { var row = $('#item_' + item_id).parents("tbody").first(); - var source_elt = $(row).find('[name="order.orderitems[].active_discount_source"]'); - var discount_elt = $(row).find('[name="order.orderitems[].discount_as_percent"]'); + var source_elt = $(row).find('[name="order.orderitems[].active_discount_source"]'); source_elt.val(source); - if (discount_str) discount_elt.val(discount_str); - recalc_amounts_and_taxes(); + 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 recalc_amounts_and_taxes() {