commit e1c611d1dcc37c0eaffd245bec88322362529d1c
parent 567953e57c4ba033c818d06d56f7c6a9b6941a0c
Author: Dan Stillman <dstillman@zotero.org>
Date: Mon, 3 Aug 2009 10:50:03 +0000
Fix y/m/d indicator in date fields not showing up for partial dates
Diffstat:
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/chrome/content/zotero/xpcom/zotero.js b/chrome/content/zotero/xpcom/zotero.js
@@ -1852,6 +1852,7 @@ Zotero.Date = new function(){
// TODO: Allow negative multipart in DB and here with \-?
var _multipartRE = /^[0-9]{4}\-(0[0-9]|10|11|12)\-(0[0-9]|[1-2][0-9]|30|31) /;
var _sqldateRE = /^\-?[0-9]{4}\-(0[1-9]|10|11|12)\-(0[1-9]|[1-2][0-9]|30|31)$/;
+ var _sqldateWithZeroesRE = /^\-?[0-9]{4}\-(0[0-9]|10|11|12)\-(0[0-9]|[1-2][0-9]|30|31)$/;
var _sqldatetimeRE = /^\-?[0-9]{4}\-(0[1-9]|10|11|12)\-(0[1-9]|[1-2][0-9]|30|31) ([0-1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])$/;
/**
@@ -1900,7 +1901,10 @@ Zotero.Date = new function(){
}
- function isSQLDate(str){
+ function isSQLDate(str, allowZeroes) {
+ if (allowZeroes) {
+ return _sqldateWithZeroesRE.test(str);
+ }
return _sqldateRE.test(str);
}
@@ -1911,17 +1915,17 @@ Zotero.Date = new function(){
function sqlHasYear(sqldate){
- return isSQLDate(sqldate) && sqldate.substr(0,4)!='0000';
+ return isSQLDate(sqldate, true) && sqldate.substr(0,4)!='0000';
}
function sqlHasMonth(sqldate){
- return isSQLDate(sqldate) && sqldate.substr(5,2)!='00';
+ return isSQLDate(sqldate, true) && sqldate.substr(5,2)!='00';
}
function sqlHasDay(sqldate){
- return isSQLDate(sqldate) && sqldate.substr(8,2)!='00';
+ return isSQLDate(sqldate, true) && sqldate.substr(8,2)!='00';
}