[1902] in Moira Commits
/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