From 086501bc3012aa31f689a4882b47a7e9200c35a7 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Mon, 26 May 2014 13:44:24 +0000 Subject: [PATCH] fixed .5 hours entered in infolog (PM tab) is displayed after saving as 30 days, caused by automatic transformation to minutes and not recognising that display_format does NOT support minutes --- etemplate/js/et2_widget_date.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/etemplate/js/et2_widget_date.js b/etemplate/js/et2_widget_date.js index 6bf9cf6488..4a8f43e27b 100644 --- a/etemplate/js/et2_widget_date.js +++ b/etemplate/js/et2_widget_date.js @@ -102,7 +102,7 @@ var et2_date = et2_inputWidget.extend( this.createInputWidget(); } }, - + set_value: function(_value) { var old_value = this.getValue(); if(_value === null || _value === "" || _value === undefined || @@ -122,7 +122,7 @@ var et2_date = et2_inputWidget.extend( } // Handle just time as a string in the form H:i - if(typeof _value == 'string' && isNaN(_value)) + if(typeof _value == 'string' && isNaN(_value)) { // silently fix skiped minutes or times with just one digit, as parser is quite pedantic ;-) var fix_reg = new RegExp((this._type == "date-timeonly"?'^':' ')+'([0-9]+)(:[0-9]*)?( ?(a|p)m?)?$','i'); @@ -186,8 +186,8 @@ var et2_date = et2_inputWidget.extend( } this.date = new Date(parsed); } - - + + this.set_validation_error(false); } } else if (typeof _value == 'object' && _value.date) { @@ -444,11 +444,11 @@ var et2_date_duration = et2_date.extend( // Figure out best unit for display var _unit = this.options.display_format == "d" ? "d" : "h"; - if (this.options.data_format.indexOf('m') > -1 && _value && _value < 60) + if (this.options.display_format.indexOf('m') > -1 && _value && _value < 60) { _unit = 'm'; } - else if (this.options.data_format.indexOf('d') > -1 && _value >= 60*this.options.hours_per_day) + else if (this.options.display_format.indexOf('d') > -1 && _value >= 60*this.options.hours_per_day) { _unit = 'd'; } @@ -635,9 +635,9 @@ var et2_date_ro = et2_valueWidget.extend([et2_IDetachedDOM], { // parseDateTime to handle string PHP: DateTime local date/time format var parsed = (typeof jQuery.datepicker.parseDateTime("yy-mm-dd","hh:mm:ss", _value) !='undefined')? - jQuery.datepicker.parseDateTime("yy-mm-dd","hh:mm:ss", _value): + jQuery.datepicker.parseDateTime("yy-mm-dd","hh:mm:ss", _value): jQuery.datepicker.parseDateTime(this.egw().preference('dateformat'),this.egw().preference('timeformat') == '24' ? 'H:i' : 'g:i a', _value); - + var text = new Date(parsed); // JS dates use milliseconds this.date.setTime(text.valueOf()); @@ -706,7 +706,7 @@ var et2_date_ro = et2_valueWidget.extend([et2_IDetachedDOM], } this.span.attr("datetime", date("Y-m-d H:i:s",this.date)).text(display); }, - + /** * Creates a list of attributes which can be set when working in the * "detached" mode. The result is stored in the _attrs array which is provided @@ -741,7 +741,7 @@ var et2_date_ro = et2_valueWidget.extend([et2_IDetachedDOM], setDetachedAttributes: function(_nodes, _values) { this.label_node = jQuery(_nodes[0]); this.span = jQuery(_nodes[1]); - + this.set_value(_values["value"]); if(_values["label"]) {