[1902] in Moira Commits

home help back first fref pref prev next nref lref last post

/svn/moira r4041 - trunk/moira/regtape

daemon@ATHENA.MIT.EDU (Garry Zacheiss)
Thu Jun 23 18:09:52 2011

Date: Thu, 23 Jun 2011 18:09:46 -0400
From: Garry Zacheiss <zacheiss@MIT.EDU>
Message-Id: <201106232209.p5NM9kD7003295@drugstore.mit.edu>
To: moira-commits@mit.edu
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Author: zacheiss
Date: 2011-06-23 18:09:46 -0400 (Thu, 23 Jun 2011)
New Revision: 4041

Modified:
   trunk/moira/regtape/common.h
   trunk/moira/regtape/staff.pc
   trunk/moira/regtape/student.pc
   trunk/moira/regtape/student.sql
Log:
Don't require 'six words' registration for cross-registered students.

Modified: trunk/moira/regtape/common.h
===================================================================
--- trunk/moira/regtape/common.h	2011-06-15 21:51:11 UTC (rev 4040)
+++ trunk/moira/regtape/common.h	2011-06-23 22:09:46 UTC (rev 4041)
@@ -22,6 +22,9 @@
   char *xaddress;
   char *xphone1;
   char *xphone2;
+
+  /* Only used by student load */
+  char *school_code;
 };
 
 void fixphone(char *phone);

Modified: trunk/moira/regtape/staff.pc
===================================================================
--- trunk/moira/regtape/staff.pc	2011-06-15 21:51:11 UTC (rev 4040)
+++ trunk/moira/regtape/staff.pc	2011-06-23 22:09:46 UTC (rev 4041)
@@ -184,6 +184,9 @@
   e.id = id;
   e.haddr = e.hphone = "";
 
+  /* Not used for employees. */
+  e.school_code = "";
+
   /* The following is really gross, but it happens to successfully convert
    * new-style Warehouse office descriptions into (more-readable) old-style
    * Personnel Office office descriptions.

Modified: trunk/moira/regtape/student.pc
===================================================================
--- trunk/moira/regtape/student.pc	2011-06-15 21:51:11 UTC (rev 4040)
+++ trunk/moira/regtape/student.pc	2011-06-23 22:09:46 UTC (rev 4041)
@@ -1,4 +1,4 @@
-/* $Id$
+/* $id: student.pc 3956 2010-01-05 20:56:56Z zacheiss $
  *
  * Load data into Moira from Registrar's Office data file
  *
@@ -67,6 +67,8 @@
 #define LEN_OADDR 30
 #define LOC_OPHONE (LOC_OADDR + LEN_OADDR)
 #define LEN_OPHONE 20
+#define LOC_SCHOOL_CODE (LOC_OPHONE + LEN_OPHONE)
+#define LEN_SCHOOL_CODE 2
 
 EXEC SQL BEGIN DECLARE SECTION;
 int who;
@@ -136,7 +138,11 @@
 
   while ((e = get_next_entry(in)))
     {
-      process_entry(e, 1);
+      /* Don't require secure registration for cross-registered students. */
+      if (!strcmp(e->school_code, "Z"))
+	process_entry(e, 0);
+      else
+	process_entry(e, 1);
       EXEC SQL COMMIT WORK;
       if (sqlca.sqlcode)
 	{
@@ -168,6 +174,7 @@
   static char state[LEN_STATE + 1], phone[LEN_PHONE + 1];
   static char ophone[LEN_OPHONE + 1], title[128];
   static char zip[LEN_ZIP + 1], oaddr[LEN_OADDR + 1];
+  static char school_code[LEN_SCHOOL_CODE + 1];
   static int nyear = 0;
   int ends_jr, ends_iii, ends_iv, ends_sr, ends_ii, ends_v;
   char *p;
@@ -213,6 +220,8 @@
   strtrim(oaddr);
   strlcpy(ophone, &buf[LOC_OPHONE], LEN_OPHONE + 1);
   strtrim(ophone);
+  strlcpy(school_code, &buf[LOC_SCHOOL_CODE], LEN_SCHOOL_CODE + 1);
+  strtrim(school_code);
 
   e.first = first;
   e.last = last;
@@ -245,6 +254,9 @@
 
   e.dept = course;
 
+  /* Used to detect cross-registered students. */
+  e.school_code = school_code;
+
   e.oaddr = oaddr;
   fixaddress(e.oaddr);
   e.ophone = e.xphone2 = ophone;

Modified: trunk/moira/regtape/student.sql
===================================================================
--- trunk/moira/regtape/student.sql	2011-06-15 21:51:11 UTC (rev 4040)
+++ trunk/moira/regtape/student.sql	2011-06-23 22:09:46 UTC (rev 4041)
@@ -3,6 +3,6 @@
 set pagesize 0
 set linesize 256
 spool /moira/load/student.input.unsorted
-select rpad(nvl(mit_id, ' '), 9, ' ') || rpad(nvl(last_name, ' '), 30, ' ') || rpad(nvl(first_name, ' '), 30, ' ') || rpad(nvl(middle_name, ' '), 30, ' ') || rpad(nvl(student_year, ' '), 1, ' ') || rpad(nvl(department, ' '), 4, ' ') || rpad(nvl(term_street1, ' '), 30, ' ') || rpad(nvl(term_city, ' '), 40, ' ') || rpad(nvl(term_state, ' '), 2, ' ') || rpad(nvl(term_zip, ' '), 9, ' ') || rpad(nvl(term_phone1, ' '), 20, ' ') || rpad(nvl(office_location, ' '), 30, ' ') || rpad(nvl(office_phone, ' '), 20, ' ') from wareuser.moira_student;
+select rpad(nvl(mit_id, ' '), 9, ' ') || rpad(nvl(last_name, ' '), 30, ' ') || rpad(nvl(first_name, ' '), 30, ' ') || rpad(nvl(middle_name, ' '), 30, ' ') || rpad(nvl(student_year, ' '), 1, ' ') || rpad(nvl(department, ' '), 4, ' ') || rpad(nvl(term_street1, ' '), 30, ' ') || rpad(nvl(term_city, ' '), 40, ' ') || rpad(nvl(term_state, ' '), 2, ' ') || rpad(nvl(term_zip, ' '), 9, ' ') || rpad(nvl(term_phone1, ' '), 20, ' ') || rpad(nvl(office_location, ' '), 30, ' ') || rpad(nvl(office_phone, ' '), 20, ' ') || rpad(nvl(school_code, ' '), 1, ' ') from wareuser.moira_student;
 spool off
 quit


home help back first fref pref prev next nref lref last post