--- loncom/enrollment/localenroll.pm 2006/02/07 04:54:17 1.11 +++ loncom/enrollment/localenroll.pm 2006/07/11 02:28:27 1.15 @@ -1,6 +1,6 @@ # functions to glue school database system into Lon-CAPA for # automated enrollment -# $Id: localenroll.pm,v 1.11 2006/02/07 04:54:17 raeburn Exp $ +# $Id: localenroll.pm,v 1.15 2006/07/11 02:28:27 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -204,8 +204,9 @@ sub get_sections { # (a) the institutional courseID (in the MSU case this is a concatenation of # semester code, department code, course number, and section number # e.g., fs03nop590001). -# (b) the course owner. This is the LON-CAPA username of the course coordinator -# assigned to the course when it is first created. +# (b) the course owner. This is the LON-CAPA username and domain of the course +# coordinator assigned to the course when it is first created, in the form +# username:domain # (c) the LON-CAPA domain that contains the course # ################################# @@ -256,8 +257,8 @@ sub validate_courseID { # (a) $authparam - the value of from the classlist.xml files, # or if this blank, the default autharg, set by the domain coordinator when # creating the course with loncreatecourse.pm -# (b) $username - the username of the new user # (b) $dom - the domain of the new user. +# (c) $username - the username of the new user (currently not actually used) # # Four values are returned: # (a) the value of $authparam - which might have been changed @@ -286,7 +287,7 @@ sub validate_courseID { ############################### sub create_password { - my ($authparam,$username,$dom) = @_; + my ($authparam,$dom,$username) = @_; my $authchk = 'ok'; my $newpasswd = ''; my $create_passwd = 0; @@ -335,4 +336,104 @@ sub instcode_format () { return $outcome; } +############################### +# sub institutional_photos +# +# Called when automated enrollment manager is used to update student photos. +# +# Incoming data: six arguments +# (a) $dom (domain) +# (b) $crs (LONCAPA course number) +# (c) $affiliates: a reference to a hash with the keys set to the +# institutional course IDs for the course. +# (d) $result: a reference to a hash which will return usernames +# of students (& separated) in following categories (the keys): +# new, update, missing, same, deleted, noid, nouser. The list +# includes those students for whom the result of the modification +# process was either addition of a new photo. update of an +# existing photo, photo was found to be missing from institution's +# data store, photo used is same as before, or photo was +# deleted from storage on LON-CAPA server housing student's +# information, no student ID was available. + +# (e) $action: the type of action needed. (e.g., update, delete); +# (f) $students: a reference to a hash with the keys set to student +# usernames and domains in the form username:domain, and values set +# to the studentID, if action is required for specific students. +# +# returns 1 parameter: 'ok' if no processing errors. +# other course or student specific values can be stored as values +# in the appropriate referenced hashes. +############################### + +sub institutional_photos { + my ($dom,$crs,$affiliates,$result,$action,$students) = @_; + my $outcome = 'ok'; + return $outcome; +} + +############################### +# sub photo_permission +# +# Incoming data: three arguments +# (a) $dom (domain) +# (b) $perm_reqd: a reference to a a scalar that is either 'yes' +# if a course owner must indicate acceptance of conditions of use, +# 'no' otherwise. +# (c) $conditions: the text of the conditions of use. +# +# returns 1 parameter: 'ok' if no processing errors. +# $$perm_reqd is set to 'yes' or 'no' +# $$agreement is set to conditions of use - plain text string +# which will be displayed in a textarea in a web form. +############################### + +sub photo_permission { + my ($dom,$perm_reqd,$conditions) = @_; + $$perm_reqd = 'no'; + $$conditions = ''; + my $outcome = 'ok'; + return $outcome; +} + + +############################### +# sub manager_photo_update +# +# Incoming data: one argument +# (a) $dom (domain) +# +# returns 2 parameters: update (0 or 1), and comment. +# Called by automated enrollment manager, to determine +# whether "Update Student photos" button will be available, +# and if so, the message (plain text string) that will be displayed +# with the button. +############################### + +sub manager_photo_update { + my ($dom) = @_; + my $update = 0; + my $comment = ''; + return ($update,$comment); +} + +############################### +# sub AUTOLOAD +# +# Incoming data: none +# Returns '' +# +# Prevents errors when undefined subroutines are called in this package +# Will allow new routines added in the future to be called from lond etc. +# without the need for customized versions of local*.pm packages to be +# modified to include the new subroutines immediately. +# +# See "Programming Perl" 3rd ed. pp 296-298. +############################### + +sub AUTOLOAD { + our $AUTOLOAD; + return ''; +} + 1;