X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=inline;f=js%2Frequirement_spec.js;h=cc2f3323bb261df90111b746a959f3494ced9d9b;hb=45ff2497af0be84db6bf29613d1dfd54a1c7d91a;hp=b1d5ce85f7e8e7c878d24e6fa7014170c5af2931;hpb=0c3193511e1ea50fad793887ede6ac5732d85074;p=kivitendo-erp.git
diff --git a/js/requirement_spec.js b/js/requirement_spec.js
index b1d5ce85f..cc2f3323b 100644
--- a/js/requirement_spec.js
+++ b/js/requirement_spec.js
@@ -153,6 +153,8 @@ ns.initialize_requirement_spec = function(data) {
ns.create_context_menus(data.is_template);
$('#requirement_spec_tabs').on("tabsbeforeactivate", ns.tabs_before_activate);
+
+ ns.time_based_units = data.time_based_units;
};
// -------------------------------------------------------------------------
@@ -411,6 +413,47 @@ ns.init_function_block_keypress_events = function(form_id) {
.bind('keypress', 'shift+return', function(event) { return ns.submit_function_block.apply(this, [ event, true ]); });
};
+ns.renumber_callback = function(accepted) {
+ console.log(accepted ? "yay :)" : "oh no :(");
+ if (!accepted)
+ return;
+
+ $.ajax({
+ url: 'controller.pl?action=RequirementSpec/renumber_sections',
+ type: 'post',
+ data: { id: $('#requirement_spec_id').val() },
+ success: kivi.eval_json_result
+ });
+};
+
+ns.renumber = function(opt) {
+ $('#rs-dialog-confirm').remove();
+
+ var text1 = kivi.t8('Re-numbering all sections and function blocks in the order they are currently shown cannot be undone.');
+ var text2 = kivi.t8('Do you really want do continue?');
+ var $dialog = $('
' + text1 + '
' + text2 + '
').hide().appendTo('body');
+ var buttons = {};
+
+ buttons[kivi.t8('Yes')] = function() {
+ $(this).dialog('close');
+ ns.renumber_callback(true);
+ };
+
+ buttons[kivi.t8('No')] = function() {
+ $(this).dialog('close');
+ ns.renumber_callback(false);
+ };
+
+ $dialog.dialog({
+ resizable: false
+ , modal: true
+ , title: kivi.t8('Are you sure?')
+ , height: 250
+ , width: 400
+ , buttons: buttons
+ });
+};
+
// -------------------------------------------------------------------------
// ------------------------------- templates -------------------------------
// -------------------------------------------------------------------------
@@ -565,6 +608,31 @@ ns.assign_order_part_id_to_all = function() {
}).each(function(idx, elt) {
$(elt).val(order_part_name);
});
+
+ var unit = $('#quotations_and_orders_order_id').closest('td').data('unit');
+ var text = ns.time_based_units[unit] ? kivi.t8("time and effort based position") : kivi.t8("flat-rate position");
+
+ $('#quotations_and_orders_form [data-unit-column=1]').html(unit);
+ $('#quotations_and_orders_form [data-position-type-column=1]').html(text);
+};
+
+ns.assign_order_part_on_part_picked = function(event, item) {
+ if (!item || !item.unit)
+ return;
+
+ var $elt = $(this),
+ id = $elt.prop('id');
+
+ if (id == 'quotations_and_orders_order_id')
+ $elt.closest('td').data('unit', item.unit);
+
+ else {
+ var $tr = $elt.closest('tr');
+ var text = ns.time_based_units[item.unit] ? kivi.t8("time and effort based position") : kivi.t8("flat-rate position");
+
+ $tr.find('[data-unit-column=1]').html(item.unit);
+ $tr.find('[data-position-type-column=1]').html(text);
+ }
};
// -------------------------------------------------------------------------
@@ -602,7 +670,7 @@ ns.disable_commands = function(key, opt) {
ns.find_versioned_copy_id = function(clicked_elt) {
var id = $(clicked_elt).find("[name=versioned_copy_id]");
- return id ? id.val() : undefined;
+ return id.size() ? id.val() : undefined;
};
ns.disable_versioned_copy_item_commands = function(key, opt) {
@@ -622,7 +690,7 @@ ns.create_version = function() {
ns.create_pdf_for_versioned_copy_ajax_call = function(key, opt) {
var data = {
action: "RequirementSpec/create_pdf",
- id: ns.find_versioned_copy_id(opt.$trigger)
+ id: ns.find_versioned_copy_id(opt.$trigger) || $('#requirement_spec_id').val()
};
$.download("controller.pl", data);
@@ -802,6 +870,8 @@ ns.create_context_menus = function(is_template) {
// , sep99: "---------"
, copy_reqspec: { name: kivi.t8('Copy template'), icon: "copy", callback: kivi.requirement_spec.copy_reqspec }
, delete_reqspec: { name: kivi.t8('Delete template'), icon: "delete", callback: kivi.requirement_spec.delete_reqspec }
+ , sep_paste_template: "---------"
+ , renumber: { name: kivi.t8('Renumber sections and function blocks'), icon: "renumber", callback: kivi.requirement_spec.renumber }
};
$.contextMenu({
@@ -821,6 +891,8 @@ ns.create_context_menus = function(is_template) {
, copy_reqspec: { name: kivi.t8('Copy requirement spec'), icon: "copy", callback: kivi.requirement_spec.copy_reqspec }
, delete_reqspec: { name: kivi.t8('Delete requirement spec'), icon: "delete", callback: kivi.requirement_spec.delete_reqspec }
, sep_paste_template: "---------"
+ , renumber: { name: kivi.t8('Renumber sections and function blocks'), icon: "renumber", callback: kivi.requirement_spec.renumber }
+ , sep_paste_template: "---------"
, paste_template: { name: kivi.t8('Paste template'), icon: "paste", callback: kivi.requirement_spec.paste_template }
};
@@ -834,7 +906,7 @@ ns.create_context_menus = function(is_template) {
});
$.contextMenu({
- selector: '.basic-settings-context-menu',
+ selector: ':has(> .basic-settings-context-menu:visible)',
items: $.extend({
heading: { name: kivi.t8('Basic settings actions'), className: 'context-menu-heading' }
, edit: { name: kivi.t8('Edit'), icon: "edit", callback: kivi.requirement_spec.standard_basic_settings_ajax_call }
@@ -843,7 +915,7 @@ ns.create_context_menus = function(is_template) {
});
$.contextMenu({
- selector: '.edit-project-link-context-menu',
+ selector: ':has(> .edit-project-link-context-menu:visible)',
items: $.extend({
heading: { name: kivi.t8('Project link actions'), className: 'context-menu-heading' }
, save: { name: kivi.t8('Save'), icon: "save", callback: kivi.requirement_spec.standard_basic_settings_ajax_call }
@@ -894,7 +966,7 @@ ns.create_context_menus = function(is_template) {
});
$.contextMenu({
- selector: '.edit-basic-settings-context-menu',
+ selector: ':has(> .edit-basic-settings-context-menu:visible)',
items: $.extend({
heading: { name: kivi.t8('Basic settings actions'), className: 'context-menu-heading' }
, save: { name: kivi.t8('Save'), icon: "save", callback: kivi.requirement_spec.standard_basic_settings_ajax_call }
@@ -903,7 +975,7 @@ ns.create_context_menus = function(is_template) {
});
$.contextMenu({
- selector: '.time-cost-estimate-context-menu',
+ selector: ':has(> div > .time-cost-estimate-context-menu:visible)',
items: $.extend({
heading: { name: kivi.t8('Time/cost estimate actions'), className: 'context-menu-heading' }
, edit: { name: kivi.t8('Edit'), icon: "edit", callback: kivi.requirement_spec.standard_time_cost_estimate_ajax_call }
@@ -911,7 +983,7 @@ ns.create_context_menus = function(is_template) {
});
$.contextMenu({
- selector: '.edit-time-cost-estimate-context-menu',
+ selector: ':has(> .edit-time-cost-estimate-context-menu:visible)',
items: $.extend({
heading: { name: kivi.t8('Time/cost estimate actions'), className: 'context-menu-heading' }
, save: { name: kivi.t8('Save'), icon: "save", callback: kivi.requirement_spec.standard_time_cost_estimate_ajax_call }
@@ -921,7 +993,7 @@ ns.create_context_menus = function(is_template) {
});
$.contextMenu({
- selector: '.additional-parts-context-menu',
+ selector: ':has(> .additional-parts-context-menu:visible)',
items: $.extend({
heading: { name: kivi.t8('Additional articles actions'), className: 'context-menu-heading' }
, edit: { name: kivi.t8('Edit'), icon: "edit", callback: kivi.requirement_spec.standard_additional_parts_ajax_call }
@@ -935,7 +1007,7 @@ ns.create_context_menus = function(is_template) {
};
$.contextMenu({
- selector: '.edit-additional-parts-context-menu',
+ selector: ':has(> .edit-additional-parts-context-menu:visible)',
items: $.extend({
heading: { name: kivi.t8('Additional articles actions'), className: 'context-menu-heading' }
}, additional_parts_actions, general_actions)
@@ -950,7 +1022,7 @@ ns.create_context_menus = function(is_template) {
});
$.contextMenu({
- selector: '.quotations-and-orders-context-menu,.quotations-and-orders-order-context-menu',
+ selector: ':has(> .quotations-and-orders-context-menu:visible),.quotations-and-orders-order-context-menu',
items: $.extend({
heading: { name: kivi.t8('Quotations/Orders actions'), className: 'context-menu-heading' }
, edit_assignment: { name: kivi.t8('Edit article/section assignments'), icon: "edit", callback: ns.standard_quotation_order_ajax_call }
@@ -963,7 +1035,7 @@ ns.create_context_menus = function(is_template) {
});
$.contextMenu({
- selector: '.quotations-and-orders-edit-assignment-context-menu',
+ selector: ':has(> .quotations-and-orders-edit-assignment-context-menu:visible)',
items: $.extend({
heading: { name: kivi.t8('Edit article/section assignments'), className: 'context-menu-heading' }
, save_assignment: { name: kivi.t8('Save'), icon: "edit", callback: ns.standard_quotation_order_ajax_call }
@@ -972,7 +1044,7 @@ ns.create_context_menus = function(is_template) {
});
$.contextMenu({
- selector: '.quotations-and-orders-new-context-menu',
+ selector: ':has(> .quotations-and-orders-new-context-menu:visible)',
items: $.extend({
heading: { name: kivi.t8('Create new quotation/order'), className: 'context-menu-heading' }
, create: { name: kivi.t8('Create'), icon: "edit", callback: ns.standard_quotation_order_ajax_call }
@@ -981,7 +1053,7 @@ ns.create_context_menus = function(is_template) {
});
$.contextMenu({
- selector: '.quotations-and-orders-update-context-menu',
+ selector: ':has(> .quotations-and-orders-update-context-menu:visible)',
items: $.extend({
heading: { name: kivi.t8('Update quotation/order'), className: 'context-menu-heading' }
, do_update: { name: kivi.t8('Update'), icon: "update", callback: ns.standard_quotation_order_ajax_call }
@@ -1037,3 +1109,9 @@ ns.create_context_menus = function(is_template) {
};
}); // end of namespace(...., function() {...
+
+function local_reinit_widgets() {
+ kivi.run_once_for('#quotations_and_orders_order_id,[name="sections[].order_part_id"]', "assign_order_part_on_part_picked", function(elt) {
+ $(elt).on('set_item:PartPicker', kivi.requirement_spec.assign_order_part_on_part_picked);
+ });
+}