X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=js%2Fkivi.TimeRecording.js;h=710f272946a57ea5da73520f2586da5c6860f7a0;hb=2a0cbd885790174fa0f212e6661b30362650a42c;hp=f5cf3c84159875b0bf88eacdb3f2d94a3d6e6b3a;hpb=078bb016bca38979f722bf94b8a4d006f5b57077;p=kivitendo-erp.git diff --git a/js/kivi.TimeRecording.js b/js/kivi.TimeRecording.js index f5cf3c841..710f27294 100644 --- a/js/kivi.TimeRecording.js +++ b/js/kivi.TimeRecording.js @@ -1,6 +1,8 @@ namespace('kivi.TimeRecording', function(ns) { 'use strict'; + ns.inputs_to_disable = []; + ns.set_end_date = function() { if ($('#start_date').val() !== '' && $('#end_date').val() === '') { var kivi_start_date = kivi.format_date(kivi.parse_date($('#start_date').val())); @@ -19,13 +21,17 @@ namespace('kivi.TimeRecording', function(ns) { $time.val(kivi.format_time(date)); }; + var order_changed_called; ns.order_changed = function(value) { + order_changed_called = true; + if (!value) { $('#time_recording_customer_id').data('customer_vendor_picker').set_item({}); $('#time_recording_customer_id_name').prop('disabled', false); $('#time_recording_project_id').data('project_picker').set_item({}); $('#time_recording_project_id_name').prop('disabled', false); - return; + $('#time_recording_project_id ~ .ppp_popup_button').show() + return; } var url = 'controller.pl?action=TimeRecording/ajaj_get_order_info&id='+ value; @@ -34,7 +40,49 @@ namespace('kivi.TimeRecording', function(ns) { $('#time_recording_customer_id_name').prop('disabled', true); $('#time_recording_project_id').data('project_picker').set_item(data.project); $('#time_recording_project_id_name').prop('disabled', true); + $('#time_recording_project_id ~ .ppp_popup_button').hide() }); }; + ns.project_changed = function(event) { + if (order_changed_called) { + order_changed_called = false; + return; + } + + var project_id = $('#time_recording_project_id').val(); + + if (!project_id) { + $('#time_recording_customer_id_name').prop('disabled', false); + return; + } + + var url = 'controller.pl?action=TimeRecording/ajaj_get_project_info&id='+ project_id; + $.getJSON(url, function(data) { + if (data) { + $('#time_recording_customer_id').data('customer_vendor_picker').set_item(data.customer); + $('#time_recording_customer_id_name').prop('disabled', true); + } else { + $('#time_recording_customer_id_name').prop('disabled', false); + } + }); + }; + + ns.set_input_constraints = function() { + $(ns.inputs_to_disable).each(function(idx, elt) { + if ("customer" === elt) { + $('#time_recording_customer_id_name').prop('disabled', true); + } + if ("project" === elt) { + $('#time_recording_project_id_name').prop('disabled', true); + setTimeout(function() {$('#time_recording_project_id ~ .ppp_popup_button').hide();}, 100); + } + }); + }; + +}); + +$(function() { + kivi.TimeRecording.set_input_constraints(); + $('#time_recording_project_id').on('set_item:ProjectPicker', function(){ kivi.TimeRecording.project_changed() }); });