X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=js%2Finserts.js;h=ca55cfa110e8e592c102e939abbd138d6f384005;hb=2207001a09311b191e06b761cc86be8ba91a1d8f;hp=2e706fb5e89b8dcab06b78d44192118b845890cf;hpb=3a179c3c7d947efea18c1fb381b48d293b162499;p=fa-stable.git diff --git a/js/inserts.js b/js/inserts.js index 2e706fb5..ca55cfa1 100644 --- a/js/inserts.js +++ b/js/inserts.js @@ -213,47 +213,57 @@ function passBack(value) { */ function fix_date(date, last) { - var regex = /(\d+)[^\d]*(\d+)*[^\d]*(\d+)*/; - var dat = regex.exec(last); - var cur = regex.exec(date); + var dat = last.split(user.datesep); + var cur = date.split(user.datesep); var day, month, year; // TODO: user.date as default? // TODO: user.datesys - if (!dat || !cur) return date; - - if (cur[3] != undefined) // full date entered - dat = cur; - - if (user.datefmt == 0) // set defaults - { - day = dat[2]; month = dat[1]; year = dat[3]; - } else if (user.datefmt == 1) + if (date == "" || date == last) // should we return an empty date or should we return last? + return date; + if (user.datefmt == 0 || user.datefmt == 3) // set defaults { - day = dat[1]; month = dat[2]; year = dat[3]; + day = dat[1]; month = dat[0]; year = dat[2]; + } else if (user.datefmt == 1 || user.datefmt == 4){ + day = dat[0]; month = dat[1]; year = dat[2]; } else { - day = dat[3]; month = dat[2]; year = dat[1]; + day = dat[2]; month = dat[1]; year = dat[0]; } - - if (cur[2] == undefined) // only day entred - day = cur[1]; - else // day + month - if (cur[2] != undefined) - { - if (user.datefmt==1) - { day = cur[1]; month = cur[2] } - else - { day = cur[2]; month = cur[1] } - } - - if (day<10) day = '0'+parseInt(day, 10); - if (month<10) month = '0'+parseInt(month, 10); + if (cur[1] != undefined && cur[1] != "") // day or month entered, could be string 3 + { + if (user.datefmt == 0 || user.datefmt == 3 || ((user.datefmt == 2 || user.datefmt == 5) && (cur[2] == undefined || cur[2] == ""))) + day = cur[1]; + else + month = cur[1]; + } + if (cur[0] != undefined && cur[0] != "") // day or month entered. could be string 3 + { + if (cur[1] == undefined || cur[1] == "") + day = cur[0]; + else if (user.datefmt == 0 || user.datefmt == 3 || ((user.datefmt == 2 || user.datefmt == 5) && (cur[2] == undefined || cur[2] == ""))) + month = cur[0]; + else if (user.datefmt == 2 || user.datefmt == 5) + year = cur[0]; + else + day = cur[0]; + } + if (cur[2] != undefined && cur[2] != "") // year, + { + if (user.datefmt == 2 || user.datefmt == 5) + day = cur[2]; + else + year = cur[2]; + } + if (user.datefmt<3) { + if (day<10) day = '0'+parseInt(day, 10); + if (month<10) month = '0'+parseInt(month, 10); + } if (year<100) year = year<60 ? (2000+parseInt(year,10)) : (1900+parseInt(year,10)); // console.info(day,month,year) - if (user.datefmt == 0) + if (user.datefmt == 0 || user.datefmt==3) return month+user.datesep+day+user.datesep+year; - if (user.datefmt == 1) + if (user.datefmt == 1 || user.datefmt==4) return day+user.datesep+month+user.datesep+year; return year+user.datesep+month+user.datesep+day; }