First draft at add script.
This commit is contained in:
		
							parent
							
								
									b174fec8c3
								
							
						
					
					
						commit
						a4eb7ac8ac
					
				
					 2 changed files with 85 additions and 0 deletions
				
			
		|  | @ -29,3 +29,5 @@ Common Tasks | |||
| These are recipes for some common tasks that one might want to complete on | ||||
| the command line with the Supporters database. | ||||
| 
 | ||||
| * Add a Supporter from the command line: | ||||
|         ./scripts/add-supporter.plx <DBFILE> | ||||
|  |  | |||
							
								
								
									
										83
									
								
								scripts/add-supporter.plx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								scripts/add-supporter.plx
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,83 @@ | |||
| #!/usr/bin/perl | ||||
| 
 | ||||
| use strict; | ||||
| use warnings; | ||||
| 
 | ||||
| use DBI; | ||||
| use Encode qw(encode decode); | ||||
| use Supporters; | ||||
| 
 | ||||
| if (@ARGV != 1 and @ARGV !=2) { | ||||
|   print STDERR "usage: $0 <SUPPORTERS_SQLITE_DB_FILE> <VERBOSITY_LEVEL>\n"; | ||||
|   exit 1; | ||||
| } | ||||
| 
 | ||||
| my($SUPPORTERS_SQLITE_DB_FILE, $VERBOSE) = @ARGV; | ||||
| $VERBOSE = 0 if not defined $VERBOSE; | ||||
| 
 | ||||
| my $dbh = DBI->connect("dbi:SQLite:dbname=$SUPPORTERS_SQLITE_DB_FILE", "", "", | ||||
|                                { RaiseError => 1, sqlite_unicode => 1 }) | ||||
|   or die $DBI::errstr; | ||||
| 
 | ||||
| print "Ledger Entity Id: "; | ||||
| my $entityId = <STDIN>; | ||||
| chomp $entityId; | ||||
| 
 | ||||
| print "Display Name: "; | ||||
| my $displayName = <STDIN>; | ||||
| chomp $displayName; | ||||
| 
 | ||||
| print "Public Ack (0 or 1): "; | ||||
| my $publicAck = <STDIN>; | ||||
| chomp $publicAck; | ||||
| 
 | ||||
| print "Email Address: "; | ||||
| my $email = <STDIN>; | ||||
| chomp $email; | ||||
| 
 | ||||
| print "Email Address Type: "; | ||||
| my $emailType = <STDIN>; | ||||
| chomp $emailType; | ||||
| 
 | ||||
| 
 | ||||
| print "Want T-Shirt: "; | ||||
| my $tshirt = <STDIN>; | ||||
| chomp $tshirt; | ||||
| 
 | ||||
| my $tshirtSize; | ||||
| 
 | ||||
| if ($tshirt) { | ||||
|   print "T-Shirt Size: "; | ||||
|   $tshirtSize = <STDIN>; | ||||
|   chomp $tshirtSize; | ||||
| } | ||||
| 
 | ||||
| print "Want announcemailing list: "; | ||||
| my $wantList = <STDIN>; | ||||
| chomp $wantList; | ||||
| 
 | ||||
| print "postal Address (. to end):\n"; | ||||
| my $postal; | ||||
| while (my $line = <STDIN>) { | ||||
|   last if /^\s*\.\s*$/; | ||||
|   $postal .= $line; | ||||
| } | ||||
| 
 | ||||
| my $sp = new Supporters($dbh, [ "none" ]); | ||||
| 
 | ||||
| my $donorId = $sp->addSupporter({ ledger_entity_id => $entityId, email_address => $email, email_address_type => $emailType, | ||||
|                   display_name => $displayName, public_ack => $publicAck} ); | ||||
| if ($tshirt) { | ||||
|   my $requestParamaters = { donorId => $donorId, requestConfiguration => $tshirtSize, requestType => 't-shirt-0' }; | ||||
|   $sp->addRequest($requestParamaters); | ||||
| } | ||||
| if ($wantList) { | ||||
|   my $requestParamaters = { donorId => $donorId, requestType => 'join-announce-email-list' }; | ||||
|   $sp->addRequest($requestParamaters); | ||||
| } | ||||
| if ($postal and $postal !~ /^\s*$/) { | ||||
|   print "postal type: "; | ||||
|   my $postalType = <STDIN>; | ||||
|   chomp $postalType; | ||||
|   $sp->addPostalAddress($donorId, $postal, $postalType); | ||||
| } | ||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Bradley M. Kuhn
						Bradley M. Kuhn