X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/078bb016bca38979f722bf94b8a4d006f5b57077..1d99e3e9537f75342a9f20f1e89a3e8cb4bb5444:/js/kivi.TimeRecording.js 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() }); });