JBAS-886 class cards use default dob 1900-01-01
authorBill Erickson <berickxx@gmail.com>
Tue, 29 Sep 2015 19:45:26 +0000 (12:45 -0700)
committerBill Erickson <berickxx@gmail.com>
Thu, 21 Mar 2019 19:46:23 +0000 (15:46 -0400)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
KCLS/utility-scripts/import_students/classroom_cards/405.classroom-cards.csv
KCLS/utility-scripts/import_students/generate-patrons-from-csv.pl

index 52c26c7..c884c07 100644 (file)
@@ -1,51 +1,51 @@
-action,student_id,active,first_given_name,family_name,day_phone,address_type,street1,street2,city,county,state,post_code
-C,0000,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0001,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0002,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0003,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0004,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0005,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0006,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0007,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0008,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0009,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0010,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0011,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0012,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0013,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0014,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0015,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0016,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0017,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0018,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0019,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0020,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0021,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0022,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0023,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0024,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0025,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0026,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0027,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0028,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0029,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0030,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0031,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0032,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0033,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0034,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0035,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0036,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0037,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0038,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0039,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0040,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0041,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0042,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0043,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0044,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0045,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0046,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0047,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0048,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
-C,0049,true,Bellevue,High,,,10416 Wolverine Way,,Bellevue,,WA,98004
+action,student_id,active,first_given_name,family_name,dob,address_type,street1,street2,city,county,state,post_code
+C,0000,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0001,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0002,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0003,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0004,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0005,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0006,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0007,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0008,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0009,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0010,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0011,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0012,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0013,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0014,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0015,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0016,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0017,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0018,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0019,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0020,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0021,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0022,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0023,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0024,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0025,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0026,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0027,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0028,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0029,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0030,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0031,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0032,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0033,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0034,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0035,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0036,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0037,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0038,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0039,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0040,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0041,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0042,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0043,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0044,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0045,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0046,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0047,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0048,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
+C,0049,true,Bellevue,High,1900-01-01,,10416 Wolverine Way,,Bellevue,,WA,98004
index e252972..efec270 100755 (executable)
@@ -340,8 +340,7 @@ sub translate_patron_fields {
         $phash->{$_} =~ s/(^\s*|\s*$)//g if $phash->{$_};
     }
 
-    my @required = qw/student_id first_given_name family_name/;
-    push (@required, 'dob') unless $is_classroom;
+    my @required = qw/student_id first_given_name family_name dob/;
 
     # check required fields
     for my $field (@required) {
@@ -349,20 +348,17 @@ sub translate_patron_fields {
             unless $phash->{$field};
     }
 
-    if (!$is_classroom) { # classroom cards have no DoB
-
-        if ($phash->{dob} =~ m|\d{1,2}/\d{1,2}/\d{4}|) {
-            # dob is encoded in American-style month/day/year
-            # Translate it to ISO8601
-            my ($mon, $day, $year) = 
-                $phash->{dob} =~ m|(\d{1,2})/(\d{1,2})/(\d{4})|;
-            $phash->{dob} = sprintf("%s-%02d-%02d", $year, $mon, $day);
-        }
-
-        push(@errors, "Invalid dob")
-            unless $phash->{dob} =~ m/^\d{4}-\d{2}-\d{2}$/;
+    if ($phash->{dob} =~ m|\d{1,2}/\d{1,2}/\d{4}|) {
+        # dob is encoded in American-style month/day/year
+        # Translate it to ISO8601
+        my ($mon, $day, $year) = 
+            $phash->{dob} =~ m|(\d{1,2})/(\d{1,2})/(\d{4})|;
+        $phash->{dob} = sprintf("%s-%02d-%02d", $year, $mon, $day);
     }
 
+    push(@errors, "Invalid dob")
+        unless $phash->{dob} =~ m/^\d{4}-\d{2}-\d{2}$/;
+
     if (my $dp = $phash->{day_phone}) {
 
         if ($dp =~ /^\(?\d{3}\)?-?\s*-?\s*$/) {