[interchange-cvs] interchange - heins modified
code/UI_Tag/user_merge.tag
interchange-cvs at icdevgroup.org
interchange-cvs at icdevgroup.org
Mon Jan 21 14:22:56 EST 2008
User: heins
Date: 2008-01-21 19:22:55 GMT
Modified: code/UI_Tag user_merge.tag
Log:
* Add merge of saved carts when merging users.
* If cart name already exists, log to logs/merged_users.log and do not
overwrite.
Revision Changes Path
1.3 +18 -1 interchange/code/UI_Tag/user_merge.tag
rev 1.3, prev_rev 1.2
Index: user_merge.tag
===================================================================
RCS file: /var/cvs/interchange/code/UI_Tag/user_merge.tag,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- user_merge.tag 30 Mar 2007 23:40:54 -0000 1.2
+++ user_merge.tag 21 Jan 2008 19:22:55 -0000 1.3
@@ -5,7 +5,7 @@
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version. See the LICENSE file for details.
#
-# $Id: user_merge.tag,v 1.2 2007/03/30 23:40:54 pajamian Exp $
+# $Id: user_merge.tag,v 1.3 2008/01/21 19:22:55 mheins Exp $
UserTag user-merge Order from to
UserTag user-merge addAttr
@@ -124,6 +124,8 @@
$from_user{$_}++;
}
+ my $cart_hash = string_to_ref($urec->{carts});
+ my $carts_changed;
my @users = sort keys %from_user;
@@ -146,6 +148,18 @@
}
my $urec = $udb->row_hash($user);
+ my $chash = string_to_ref($urec->{carts});
+ if(ref $chash) {
+ for(keys %$chash) {
+ if($cart_hash->{$_}) {
+ $Tag->log({ type => 'text', file => $logfile, body => "unable to merge cart=$_ (already exists). Contents=$urec->{carts}\n"} );
+ }
+ else {
+ $cart_hash->{$_} = $chash->{$_};
+ $carts_changed++;
+ }
+ }
+ }
my $ustring = ::uneval($urec);
$Tag->log({ type => 'text', file => $logfile, body => "delete user $user=$ustring\n"} );
$udb->delete_record($user)
@@ -153,6 +167,9 @@
push @record, "delete user $user" unless $opt->{no_delete};
}
+ if($carts_changed) {
+ $udb->set_field($to, 'carts', ::uneval($cart_hash));
+ }
push @record, '';
$Tag->log({ type => 'text', file => $logfile, body => join("\n", @record)} );
More information about the interchange-cvs
mailing list