[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ic] Re: Your Interchange question


tom friedel wrote:

Hi,
Sorry to bother you, I was about to post to the interchange list the exact question you asked as I can not get the answer you received to work. Here would be my posting. If you have any info you could share with my I would appreciate it.
thank you
tom friedel


I am trying to set the price_level field of the userdb MySQL table to
a value of 'customer' when a new account is created.  I can easily set
some fields in UserDB

[value name=lname set="FORCE"]
[value name=price_level set="customer" ]
[userdb save]

Will save just the lname to FORCE, but price_level does not get set.


http://www.icdevgroup.org/pipermail/interchange-users/2003-May/033555.html

appears to answer the question, and says to put in catalog.cfg

UserDB default preferences "somevar someothervar price_level"
        (be sure to include vars like "email" if you use them)

But this is not working for me (price_level not saved)

Hi Tom,

I seem to remember spending a couple of days on this without getting anywhere :(

I seem to have ended up doing it this way:

# Set values to be stored in userdb
$Tag->value( { name => email, set => $email, hide => 1 } );
$Tag->value( { name => fname, set => $fname, hide => 1 } );
$Tag->value( { name => lname, set => $lname, hide => 1 } );
# Try to add user
if ( $Tag->userdb ( { function => new_account,
        assign_username => 1,
        password => $password,
        verify => $password,
        profile => autocreate } ) ) {
# If user created ok then set price_level
$Tag->data ( { table => userdb, field => price_level, key => $Session->{username}, value => "club_member" } ); $Tag->data ( { table => userdb, field => account_id, key => $Session->{username}, value => $memberid } ); Log("OK,Member added: username=$Session->{username}; memberid=$memberid");
        $Tag->userdb ( { function => logout } );
        return "OK\n";
}
else {
        Log("ERROR,Failed to add member to database: memberid=$memberid");
        return "User creation failed\n";
}

This could equally be done using IC Tags instead of perl (can't remember why I did it in perl now). Not very elegant, but I couldn't find another way to do it at the time.

--
Jamie Neil | <suppressed> | 0870 7777 454
Versado I.T. Services Ltd. | http://versado.net/ | 0845 450 1254
_______________________________________________
interchange-users mailing list
suppressed
http://www.icdevgroup.org/mailman/listinfo/interchange-users


Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.