X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=js%2Fkivi.TimeRecording.js;h=710f272946a57ea5da73520f2586da5c6860f7a0;hb=f8fff60be1abb9986486cc7367747ee16d829116;hp=cf501490575dba82c7ab4c7c4b4125dc4892d2b3;hpb=8915e7750d73593e86979e9a6a9016016a70c808;p=kivitendo-erp.git diff --git a/js/kivi.TimeRecording.js b/js/kivi.TimeRecording.js index cf5014905..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,4 +21,68 @@ 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); + $('#time_recording_project_id ~ .ppp_popup_button').show() + return; + } + + var url = 'controller.pl?action=TimeRecording/ajaj_get_order_info&id='+ value; + $.getJSON(url, function(data) { + $('#time_recording_customer_id').data('customer_vendor_picker').set_item(data.customer); + $('#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() }); });