[interchange-cvs] interchange - heins modified 6 files
interchange-cvs at icdevgroup.org
interchange-cvs at icdevgroup.org
Mon Mar 24 10:30:10 EST 2008
User: heins
Date: 2008-03-24 15:30:10 GMT
Modified: . WHATSNEW-5.5
Modified: dist/standard catalog.cfg
Modified: dist/standard/dbconf/mysql userdb.mysql
Modified: dist/standard/dbconf/pgsql userdb.pgsql
Modified: dist/standard/products userdb.txt
Modified: lib/Vend UserDB.pm
Log:
* Add new options for determining date of events in the userdb:
UserDB <profile> created_date_iso <field_name>
UserDB <profile> created_date_epoch <field_name>
UserDB <profile> updated_date_iso <field_name>
UserDB <profile> updated_date_epoch <field_name>
created_date_iso
Place a string ISO date in this field when user created.
created_date_epoch
Place a string epoch date in this field when user created.
Only works if no iso date defined.
updated_date_iso
Place a string ISO date in this field when user updated via
[userdb save] (i.e. set_values()).
updated_date_epoch
Place a string epoch date in this field when user updated via
[userdb save] (i.e. set_values()).
Only works if no iso date defined.
Default is not to use this feature, though this is now in
the standard template:
UserDB default created_date_epoch created
UserDB default updated_date_epoch updated
along with the appropriate fields.
Revision Changes Path
1.98 interchange/WHATSNEW-5.5
rev 1.98, prev_rev 1.97
Index: WHATSNEW-5.5
===================================================================
RCS file: /var/cvs/interchange/WHATSNEW-5.5,v
retrieving revision 1.97
retrieving revision 1.98
diff -u -r1.97 -r1.98
--- WHATSNEW-5.5 21 Mar 2008 19:23:24 -0000 1.97
+++ WHATSNEW-5.5 24 Mar 2008 15:30:10 -0000 1.98
@@ -309,6 +309,34 @@
UserDB default validchars "-A-Za-z0-9_ at .+"
+* Add new options for determining date of events in the userdb:
+
+ UserDB <profile> created_date_iso <field_name>
+ UserDB <profile> created_date_epoch <field_name>
+ UserDB <profile> updated_date_iso <field_name>
+ UserDB <profile> updated_date_epoch <field_name>
+
+ created_date_iso
+ Place a string ISO date in this field when user created.
+ created_date_epoch
+ Place a string epoch date in this field when user created.
+ Only works if no iso date defined.
+ updated_date_iso
+ Place a string ISO date in this field when user updated via
+ [userdb save] (i.e. set_values()).
+ updated_date_epoch
+ Place a string epoch date in this field when user updated via
+ [userdb save] (i.e. set_values()).
+ Only works if no iso date defined.
+
+ Default is not to use this feature, though this is now in
+ the standard template:
+
+ UserDB default created_date_epoch created
+ UserDB default updated_date_epoch updated
+
+ along with the appropriate fields.
+
UserTag
-------
1.22 interchange/dist/standard/catalog.cfg
rev 1.22, prev_rev 1.21
Index: catalog.cfg
===================================================================
RCS file: /var/cvs/interchange/dist/standard/catalog.cfg,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- catalog.cfg 24 Nov 2007 00:51:24 -0000 1.21
+++ catalog.cfg 24 Mar 2008 15:30:10 -0000 1.22
@@ -213,6 +213,12 @@
# Don't want people setting their credit limit or dealer status directly
UserDB default scratch "dealer price_level credit_limit"
+# Update the database with the date when creating a user
+UserDB default created_date_iso created
+
+# Update the database with the date when updating a user via set_values
+UserDB default updated_date_iso updated
+
# Set some other things you want to retain but which don't deserve their
# own field -- stored in serial field preferences
UserDB default extra_fields <<EOU
1.3 interchange/dist/standard/dbconf/mysql/userdb.mysql
rev 1.3, prev_rev 1.2
Index: userdb.mysql
===================================================================
RCS file: /var/cvs/interchange/dist/standard/dbconf/mysql/userdb.mysql,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- userdb.mysql 19 Oct 2005 14:26:32 -0000 1.2
+++ userdb.mysql 24 Mar 2008 15:30:10 -0000 1.3
@@ -24,6 +24,7 @@
Database userdb COLUMN_DEF "city=varchar(30)"
Database userdb COLUMN_DEF "company=varchar(64)"
Database userdb COLUMN_DEF "country=varchar(10)"
+Database userdb COLUMN_DEF "created=varchar(32)"
Database userdb COLUMN_DEF "credit_limit=varchar(16)"
Database userdb COLUMN_DEF "db_acl=BLOB"
Database userdb COLUMN_DEF "dealer=varchar(32)"
@@ -44,4 +45,5 @@
Database userdb COLUMN_DEF "preferences=BLOB"
Database userdb COLUMN_DEF "s_nickname=text"
Database userdb COLUMN_DEF "state=varchar(20)"
+Database userdb COLUMN_DEF "updated=varchar(32)"
Database userdb COLUMN_DEF "zip=varchar(10)"
1.3 interchange/dist/standard/dbconf/pgsql/userdb.pgsql
rev 1.3, prev_rev 1.2
Index: userdb.pgsql
===================================================================
RCS file: /var/cvs/interchange/dist/standard/dbconf/pgsql/userdb.pgsql,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- userdb.pgsql 19 Oct 2005 14:26:32 -0000 1.2
+++ userdb.pgsql 24 Mar 2008 15:30:10 -0000 1.3
@@ -24,6 +24,7 @@
Database userdb COLUMN_DEF "b_zip=varchar(10)"
Database userdb COLUMN_DEF "carts=text"
Database userdb COLUMN_DEF "city=varchar(30)"
+Database userdb COLUMN_DEF "created=varchar(32)"
Database userdb COLUMN_DEF "company=varchar(64)"
Database userdb COLUMN_DEF "country=varchar(10)"
Database userdb COLUMN_DEF "credit_limit=varchar(16)"
@@ -46,6 +47,7 @@
Database userdb COLUMN_DEF "preferences=text"
Database userdb COLUMN_DEF "s_nickname=text"
Database userdb COLUMN_DEF "state=varchar(20)"
+Database userdb COLUMN_DEF "updated=varchar(32)"
Database userdb COLUMN_DEF "zip=varchar(10)"
Database userdb DEFAULT "inactive=''"
1.3 interchange/dist/standard/products/userdb.txt
rev 1.3, prev_rev 1.2
Index: userdb.txt
===================================================================
RCS file: /var/cvs/interchange/dist/standard/products/userdb.txt,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- userdb.txt 19 Oct 2005 14:48:00 -0000 1.2
+++ userdb.txt 24 Mar 2008 15:30:10 -0000 1.3
@@ -1,4 +1,4 @@
-username password acl mod_time s_nickname company fname lname address1 address2 address3 city state zip country phone_day mv_shipmode b_nickname b_fname b_lname b_company b_address1 b_address2 b_address3 b_city b_state b_zip b_country b_phone p_nickname email fax phone_night address_book accounts preferences carts owner file_acl db_acl mail_list credit_limit inactive dealer price_level
+username password acl mod_time s_nickname company fname lname address1 address2 address3 city state zip country phone_day mv_shipmode b_nickname b_fname b_lname b_company b_address1 b_address2 b_address3 b_city b_state b_zip b_country b_phone p_nickname email fax phone_night address_book accounts preferences carts owner file_acl db_acl mail_list credit_limit inactive dealer price_level updated created
ckirk kirk 0 Auto Exchange Express Charles Kirk 123 Exchange Dr. Seattle WA 34987 US 360-111-1234 upsg kirk at icdevgroup.net 360-111-1239 360-111-1244 alert
jdoe test 0 John Doe 614 Hamlet Lane Herndon VA 20171 US 703-456-2965 upsg Jerry Balfour Akopia, Inc. 11480 Sunset Hills Rd. Suite 200 East Reston VA 20190 USA devnull at icdevgroup.net 703-555-1212 newsletter alert upgrade 99448.07 1 dealer
jking king 0 Car Parts, Inc. John King 123 Auto Blvd. Miami FL 39807 US 305-111-1234 upsg king at icdevgroup.net 305-111-1234 305-111-1239 alert upgrade
2.60 interchange/lib/Vend/UserDB.pm
rev 2.60, prev_rev 2.59
Index: UserDB.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/UserDB.pm,v
retrieving revision 2.59
retrieving revision 2.60
diff -u -r2.59 -r2.60
--- UserDB.pm 14 Feb 2008 14:46:11 -0000 2.59
+++ UserDB.pm 24 Mar 2008 15:30:10 -0000 2.60
@@ -1,6 +1,6 @@
# Vend::UserDB - Interchange user database functions
#
-# $Id: UserDB.pm,v 2.59 2008-02-14 14:46:11 kwalsh Exp $
+# $Id: UserDB.pm,v 2.60 2008-03-24 15:30:10 mheins Exp $
#
# Copyright (C) 2002-2007 Interchange Development Group
# Copyright (C) 1996-2002 Red Hat, Inc.
@@ -17,7 +17,7 @@
package Vend::UserDB;
-$VERSION = substr(q$Revision: 2.59 $, 10);
+$VERSION = substr(q$Revision: 2.60 $, 10);
use vars qw!
$VERSION
@@ -299,6 +299,10 @@
ACL => $options{acl} || 'acl',
FILE_ACL => $options{file_acl} || 'file_acl',
DB_ACL => $options{db_acl} || 'db_acl',
+ CREATED_DATE_ISO => $options{created_date_iso},
+ CREATED_DATE_UNIX => $options{created_date_epoch},
+ UPDATED_DATE_ISO => $options{updated_date_iso},
+ UPDATED_DATE_UNIX => $options{updated_date_epoch},
},
STATUS => 0,
ERROR => '',
@@ -877,6 +881,34 @@
);
}
}
+
+ my $dfield;
+ my $dstring;
+ if($dfield = $self->{OPTIONS}{updated_date_iso}) {
+ if($self->{OPTIONS}{updated_date_gmtime}) {
+ $dstring = POSIX::strftime('%Y-%m-%d %H:%M:%SZ', gmtime());
+ }
+ elsif($self->{OPTIONS}{updated_date_showzone}) {
+ $dstring = POSIX::strftime('%Y-%m-%d %H:%M:%S %z', localtime());
+ }
+ else {
+ $dstring = POSIX::strftime('%Y-%m-%d %H:%M:%S', localtime());
+ }
+ }
+ elsif($dfield = $self->{OPTIONS}{updated_date_epoch}) {
+ $dstring = time;
+ }
+
+ if($dfield and $dstring) {
+ if($db->test_column($dfield)) {
+ push @bfields, $dfield;
+ push @bvals, $dstring;
+ }
+ else {
+ my $msg = errmsg("updated field %s doesn't exist", $dfield);
+ Vend::Tags->warnings($msg);
+ }
+ }
while(@extra) {
push @bfields, shift @extra;
@@ -1349,7 +1381,7 @@
my $login_time;
unless($self->{OPTIONS}{null_time}) {
$login_time = $self->{OPTIONS}{iso_time}
- ? POSIX::strftime("%Y-%m-%dT%H:%M:%S", localtime($now))
+ ? POSIX::strftime("%Y-%m-%d %H:%M:%S", localtime($now))
: $now;
}
eval {
@@ -1727,6 +1759,35 @@
or die errmsg("Database access error: %s", $udb->errstr) . "\n";
}
+ my $dfield;
+ my $dstring;
+ if($dfield = $self->{OPTIONS}{created_date_iso}) {
+ if($self->{OPTIONS}{created_date_gmtime}) {
+ $dstring = POSIX::strftime('%Y-%m-%d %H:%M:%SZ', gmtime());
+ }
+ elsif($self->{OPTIONS}{created_date_showzone}) {
+ $dstring = POSIX::strftime('%Y-%m-%d %H:%M:%S %z', localtime());
+ }
+ else {
+ $dstring = POSIX::strftime('%Y-%m-%d %H:%M:%S', localtime());
+ }
+ }
+ elsif($dfield = $self->{OPTIONS}{created_date_epoch}) {
+ $dstring = time;
+ }
+
+ if($dfield and $dstring) {
+ $udb->set_field(
+ $self->{USERNAME},
+ $dfield,
+ $dstring,
+ )
+ or do {
+ my $msg = errmsg('Failed to set new account creation date: %s', $udb->errstr);
+ Vend::Tags->warnings($msg);
+ };
+ }
+
if($options{no_login}) {
$Vend::Session->{auto_created_user} = $self->{USERNAME};
}
More information about the interchange-cvs
mailing list