From cf04c9314400dfbee41c0d69208782da3b3c1f4f Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 4 Aug 2002 23:38:21 +0000 Subject: [PATCH] fix up the webdb_create update stuff --- source/mir/storage/Database.java | 40 ++++++++++++++++++++--------------- templates-dist/admin/content.template | 7 +++--- 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/source/mir/storage/Database.java b/source/mir/storage/Database.java index 523fb60e..c3a6e937 100755 --- a/source/mir/storage/Database.java +++ b/source/mir/storage/Database.java @@ -27,10 +27,13 @@ import mir.misc.*; * Treiber, Host, User und Passwort, ueber den der Zugriff auf die * Datenbank erfolgt. * - * @version $Revision: 1.20 $ $Date: 2002/07/21 22:32:25 $ + * @version $Revision: 1.21 $ $Date: 2002/08/04 23:38:22 $ * @author $Author: mh $ * * $Log: Database.java,v $ + * Revision 1.21 2002/08/04 23:38:22 mh + * fix up the webdb_create update stuff + * * Revision 1.20 2002/07/21 22:32:25 mh * on insert, the "webdb_lastchange" field should get a value * @@ -69,7 +72,7 @@ public class Database implements StorageObject { private SimpleDateFormat _dateFormatterOut = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); private SimpleDateFormat _dateFormatterIn = - new SimpleDateFormat("yyyy-MM-dd"); + new SimpleDateFormat("yyyy-MM-dd HH:mm"); private Calendar _cal = new GregorianCalendar(); private static final int _millisPerHour = 60 * 60 * 1000; @@ -793,22 +796,25 @@ public class Database implements StorageObject { if (metadataFields.contains("webdb_lastchange")) { sql.append(",webdb_lastchange=NOW()"); } - // special case: the webdb_create requires the field in yyyy-mm-dd format - // so anything extra will be ignored. which breaks actual updating when a - // a change in date is not desired but the values hash has the correct and - // full "webdb_create" field and value in it. solution make it so the update - // must be called webdb_create_update. a hack I know.. hopefully - // we can replace this whole layer soon. -mh + // special case: the webdb_create requires the field in yyyy-mm-dd HH:mm + // format so anything extra will be ignored. -mh if (metadataFields.contains("webdb_create") && - theEntity.hasValueForField("webdb_create_update")) { - // TimeStamp stuff - try { - java.util.Date d = _dateFormatterIn.parse( - theEntity.getValue("webdb_create")); - Timestamp tStamp = new Timestamp(d.getTime()); - sql.append(",webdb_create='"+tStamp.toString()+"'"); - } catch (ParseException e) { - throw new StorageObjectException(e.toString()); + theEntity.hasValueForField("webdb_create")) { + // minimum of 10 (yyyy-mm-dd)... + if (theEntity.getValue("webdb_create").length() >= 10) { + String dateString = theEntity.getValue("webdb_create"); + // if only 10, then add 00:00 so it doesn't throw a ParseException + if (dateString.length() == 10) + dateString=dateString+" 00:00"; + + // TimeStamp stuff + try { + java.util.Date d = _dateFormatterIn.parse(dateString); + Timestamp tStamp = new Timestamp(d.getTime()); + sql.append(",webdb_create='"+tStamp.toString()+"'"); + } catch (ParseException e) { + throw new StorageObjectException(e.toString()); + } } } if (streamedInput != null) { diff --git a/templates-dist/admin/content.template b/templates-dist/admin/content.template index 52fee59a..160e82c8 100755 --- a/templates-dist/admin/content.template +++ b/templates-dist/admin/content.template @@ -63,12 +63,13 @@ p { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt} - + ${lang("content.create_date")}: - - + + ${data.webdb_create}

${lang("edit")} (yyyy-mm-dd [HH:mm]): +
-- 2.11.0