|
From: Chris W. <la...@us...> - 2001-10-15 04:23:21
|
Update of /cvsroot/openinteract/SPOPS/eg
In directory usw-pr-cvs1:/tmp/cvs-serv27433
Added Files:
fetch_doodads.pl stock_doodads.pl
Log Message:
added object class and sample scripts to create and fetch objects
under security
--- NEW FILE: fetch_doodads.pl ---
#!/usr/bin/perl
# $Id: fetch_doodads.pl,v 1.1 2001/10/15 04:23:18 lachoy Exp $
use strict;
require My::Security;
require My::User;
require My::Doodad;
{
# Display info as a normal user, then as a manager
runas( 'UserA' );
runas( 'ManagerC' );
}
sub runas {
my ( $username ) = @_;
my $user = My::User->fetch_by_login_name( $username, { return_single => 1 } );
My::Doodad->set_user( $user );
My::Doodad->set_group( $user->group );
my $iter = My::Doodad->fetch_iterator;
print "\nDoodads in database, fetched as user ($username):\n";
while ( my $doodad = $iter->get_next ) {
printf "%-20s (\$%5.2f) Security: %s\n", $doodad->{name}, $doodad->{unit_cost},
$doodad->{tmp_security_level};
}
}
--- NEW FILE: stock_doodads.pl ---
#!/usr/bin/perl
# $Id: stock_doodads.pl,v 1.1 2001/10/15 04:23:18 lachoy Exp $
use strict;
require My::Security;
require My::User;
require My::Doodad;
my @DOODAD_FIELD = qw( name description unit_cost factory );
my @DOODAD_DATA = (
[ 'Gobstopper', "Doesn't melt in your hand or your mouth", 1.75, 'Kalamazoo, Michigan, USA' ],
[ 'AF-22 Peacegiver', 'Brings feeling of peace instead of anger', 20,000, 'San Jose, California, USA' ],
[ 'Chuckie', 'One bad doll', 12.95, 'Gary, Indiana, USA' ],
[ 'Lego army', 'With friends like these...', 85.75, 'Copenhagen, Denmark' ],
);
{
my $user = My::User->fetch_by_login_name( 'UserA', { return_single => 1 } );
My::Doodad->set_user( $user );
foreach my $data ( @DOODAD_DATA ) {
my $doodad = My::Doodad->new;
for ( my $i = 0; $i < scalar @DOODAD_FIELD; $i++ ) {
$doodad->{ $DOODAD_FIELD[ $i ] } = $data->[ $i ];
}
$doodad->save({ skip_cache => 1 });
print "Created doodad with ID: ", $doodad->id, "\n";
}
}
|