--- loncom/enrollment/localenroll.pm 2014/01/03 18:39:55 1.45 +++ loncom/enrollment/localenroll.pm 2014/04/16 14:40:11 1.46 @@ -1,6 +1,6 @@ # functions to glue school database system into Lon-CAPA for # automated enrollment -# $Id: localenroll.pm,v 1.45 2014/01/03 18:39:55 raeburn Exp $ +# $Id: localenroll.pm,v 1.46 2014/04/16 14:40:11 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -362,27 +362,31 @@ validate_crsreq takes six arguments - (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 - semester code, department code, and course number, e.g., fs03nop590. + semester code, department code, and course number, e.g., fs03nop590). (f) a comma-separated list of institutional sections included in the course request (only applicable to official courses). + (g) an optional reference to a hash of custom form data. + The custom form data will come from crsreq_updates(). A valid courserequest is confirmed by returning 'process'. -The following can be returned: process, rejected, pending, approval or error (with error condition - no :), followed by a : and then an optional message. +The following can be returned: process, rejected, pending, approval or +error (with error condition - no :), followed by a : and then an optional message. (a) process - the requestor is the recorded instructor - create the course (b) rejected - the requestor should never be requesting this course, reject the request permanently (c) pending - the requestor is not the recorded instructor, but could become so after administrative action at the institution. Put the - request in a queue and check localenroll:validate_instcode() - periodically until the status changes to "valid". + request in a queue and, if an official course, check + localenroll:validate_instcode() periodically until the status changes to + "valid". (d) approval - the request will be held pending review by a Domain Coordinator. (e) error (followed by the error condition). =cut sub validate_crsreq { - my ($dom,$owner,$crstype,$inststatuslist,$instcode,$instseclist) = @_; + my ($dom,$owner,$crstype,$inststatuslist,$instcode,$instseclist,$custominfo) = @_; my $outcome = 'approval'; return $outcome; } @@ -449,11 +453,16 @@ sub crsreq_updates { } if ($action eq 'review') { $outgoing->{'reviewweb'} = ''; + } elsif ($action eq 'prevalidate') { + $outgoing->{'formitems'} = {}; # key=>value, where key is form element name + # and value is multiple, if there + # are multiple form elements with + # the same name. } elsif ($action eq 'process') { $outgoing->{'formitems'} = {}; # key=>value, where key is form element name # and value is multiple, if there # are multiple form elements with - # the same name. + # the same name. } elsif ($action eq 'created') { $outgoing->{'createdweb'} = ''; $outgoing->{'createdmsg'} = [{ @@ -461,8 +470,8 @@ sub crsreq_updates { args => [], }]; } elsif ($action eq 'queued') { - $outgoing->{'queuedmsg'} = [{ - mt => '', + $outgoing->{'queuedmsg'} = [{ + mt => '', args => [], }]; $outgoing->{'queuedweb'} = '';