--- loncom/enrollment/localenroll.pm 2015/05/30 18:01:12 1.52 +++ loncom/enrollment/localenroll.pm 2016/04/02 04:31:26 1.54 @@ -1,6 +1,6 @@ # functions to glue school database system into Lon-CAPA for # automated enrollment -# $Id: localenroll.pm,v 1.52 2015/05/30 18:01:12 raeburn Exp $ +# $Id: localenroll.pm,v 1.54 2016/04/02 04:31:26 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -347,9 +347,10 @@ automatically, or held in a queue pendin the institution. Course requests will trigger this check if the process type has been set -to 'validate' for the course type (official, unofficial or community) and -the requestor's affiliation. Whether "validate" is an available option -in the Domain Configuration menu is controlled by auto_courserequest_checks(). +to 'validate' for the course type (official, unofficial, textbook, +placement or community) and the requestor's affiliation. Whether +"validate" is an available option in the Domain Configuration menu +is controlled by auto_courserequest_checks(). One scenario is where the request is for an official course, in which case a check could be made that the requestor is listed as instructor of record for the course in the institution's course schedule/database. @@ -361,7 +362,7 @@ given the data passed in to the routine. validate_crsreq takes seven arguments - (a) the LON-CAPA domain that will contain the course. (b) the username:domain for the course owner. - (c) the course type (official, unofficial or community) + (c) the course type (official, unofficial,textbook, placement or community) (d) a comma-separated list of institutional affiliations of the course owner. (e) the institutional code (in the MSU case this is a concatenation of @@ -408,8 +409,9 @@ This is used to determine whether the "v possible choices for course request processing in the Domain Configuration menu for Course Requests. Ultimately it is called by domainprefs.pm (via: lonnet -> lond -> localenroll.pm) The domain configuration menu includes -a table where columns are course type (official, unofficial or community) -and rows are institutional affiliations (e.g., Faculty, Staff, Student etc.). +a table where columns are course type (official, unofficial, textbook, +placement or community) and rows are institutional affiliations +(e.g., Faculty, Staff, Student etc.). crsreq_checks() takes three arguments: $dom, $reqtypes, $validations. $dom - the domain for which validation options are needed. @@ -935,6 +937,47 @@ sub get_userinfo { return $outcome; } +=pod + +=item get_multusersinfo + + (a) $dom - domain + (b) $type - username or id + (c) $unamenames - reference to hash containing usernames of users + (d) $instusers - reference to hash which will contain info for user + as key = value; keys will be one or all of: + lastname,firstname,middlename,generation,id,inststatus - + institutional status (e.g., faculty,staff,student) + Values are all scalars except inststatus, + which is an array. + (e) $instids - reference to hash which will contain ID numbers - + keys will be unique IDs (student or faculty/staff ID) + values will be either: scalar (username) or an array + if a single ID matches multiple usernames. + + returns 1 parameter - 'ok' if no processing error, or other value + if an error occurred. + + side effects - populates the $instusers and $instids refs to hashes. + with information for specified username, or specified + id, if fifth argument provided, from all available, or + specified (e.g., faculty only) institutional datafeeds, + if sixth argument provided. + + WARNING: You need to set $outcome to 'ok' once you have customized + this routine to communicate with an instititional + directory data source, otherwise retrieval of institutional + user information will always be reported as being unavailable + in domain $dom. + +=cut + +sub get_multusersinfo { + my ($dom,$type,$usernames,$instusers,$instids) = @_; + my $outcome = 'unavailable'; + return $outcome; +} + =pod =item inst_usertypes()