#!/usr/bin/perl # make-patron.pl - create patrons by hand; a hack! # Eric Lease Morgan # January 15, 2007 (MLK Day) - first cut # define audience term id's use constant UNDERGRAD => 43009; use constant GRADUATE => 43010; use constant FACULTY => 43011; use constant STAFF => 43012; use constant OTHER => 43013; # configure my $out_afsid = 'inewton'; my $first_name = 'Isaac'; my $last_name = 'Newton'; my $dept = 'Physics'; my $out_email_addr = 'inewton@nd.edu'; my $term_id = FACULTY; # require use MyLibrary::Core; use MyLibrary::Patron; MyLibrary::Config->instance( 'your_page' ); # check to see if this record already exits if (! MyLibrary::Patron->new( username => $out_afsid )) { # create it my $patron = MyLibrary::Patron->new; $patron->patron_firstname( $first_name ); $patron->patron_surname( $last_name ); $patron->patron_email( $out_email_addr ); $patron->patron_username( $out_afsid ); $patron->patron_organization( $dept ); $patron->patron_stylesheet_id( 1 ); $patron->commit; $patron->patron_terms( new => [ $term_id ]); &display( $patron ); print " action: added (", $patron->patron_id, ")\n"; } else { # update it my $patron = MyLibrary::Patron->new( username => $out_afsid ); $patron->patron_firstname( $first_name ); $patron->patron_surname( $last_name ); $patron->patron_email( $out_email_addr ); $patron->patron_username( $out_afsid ); $patron->patron_organization( $dept ); $patron->commit; $patron->patron_terms( new => [ $term_id ]); &display( $patron ); print " action: updated (", $patron->patron_id, ")\n"; } # make things pretty print "\n"; sub display { my $patron = shift; print ' username: ' . $patron->patron_username . "\n"; print ' first name: ' . $patron->patron_firstname . "\n"; print ' last name: ' . $patron->patron_surname . "\n"; print ' organization: ' . $patron->patron_organization . "\n"; print ' email: ' . $patron->patron_email . "\n"; }