added ability to specify which types of notices to generate
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 21 Aug 2008 19:59:31 +0000 (19:59 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 21 Aug 2008 19:59:31 +0000 (19:59 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@10406 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/support-scripts/generate_circ_notices.pl

index 887ecde..b430286 100755 (executable)
@@ -45,6 +45,7 @@ my $opt_days_back = '';
 my $opt_gen_global_templates = 0;
 my $opt_show_help = 0;
 my $opt_append_global_email_fail;
+my $opt_notice_types = '';
 
 GetOptions(
     'osrf_opt_osrf_config=s' => \$opt_osrf_config,
@@ -53,6 +54,7 @@ GetOptions(
     'generate-global-templates' => \$opt_gen_global_templates,
     'days-back=s' => \$opt_days_back,
     'append-global-email-fail' => \$opt_append_global_email_fail,
+    'notice-types=s' => \$opt_notice_types,
     'help' => \$opt_show_help,
 );
 
@@ -65,7 +67,7 @@ Evergreen Circulation Notice Generator
 
     --config <config_file>
     
-    --send-email
+    --send-email
         If set, generate email notices
 
     --generate-day-intervals
@@ -79,11 +81,15 @@ Evergreen Circulation Notice Generator
         to the global notice file set.  This will only have any bearing if --generate-global-templates
         is enabled.
 
-    --days-back <days_back_comma_separted>  This is used to set the effective run date of the script.
+    --days-back <days_back_comma_separted>  
+        This is used to set the effective run date of the script.
         This is useful if you don't want to generate notices on certain days.  For example, if you don't 
         generate notices on the weekend, you would run this script on weekdays and set --days-back to 
         0,1,2 when it's run on Monday to capture any notices from Saturday and Sunday. 
 
+    --notice-types <overdue,predue,...>
+        Comma-separated list of notice types to generate for this run of the script
+
     --help 
         Print this help message
 HELP
@@ -94,6 +100,9 @@ sub main {
     osrf_connect($opt_osrf_config);
     $settings = OpenSRF::Utils::SettingsClient->new;
 
+    die "Please specify at least 1 type of notice to generate with --notice-types\n"
+        unless $opt_notice_types;
+
     my $sender_address = $settings->config_value(notifications => 'sender_address');
     my $od_sender_addr = $settings->config_value(notifications => overdue => 'sender_address') || $sender_address;
     my $pd_sender_addr = $settings->config_value(notifications => predue => 'sender_address') || $sender_address;
@@ -112,8 +121,12 @@ sub main {
         OpenSRF::Utils->interval_to_seconds($b->{notify_interval}) } @$predue_notices;
 
     for my $db (($opt_days_back) ? split(',', $opt_days_back) : 0) {
-        generate_notice_set($_, 'overdue', $db) for @overdues;
-        generate_notice_set($_, 'predue', $db) for @predues;
+        if($opt_notice_types =~ /overdue/) {
+            generate_notice_set($_, 'overdue', $db) for @overdues;
+        }
+        if($opt_notice_types =~ /predue/) {
+            generate_notice_set($_, 'predue', $db) for @predues;
+        }
     }
 
     generate_global_overdue_file() if $opt_gen_global_templates;