[LON-CAPA-cvs] cvs: loncom /enrollment localenroll.pm

raeburn raeburn at source.lon-capa.org
Sat May 30 14:01:12 EDT 2015


raeburn		Sat May 30 18:01:12 2015 EDT

  Modified files:              
    /loncom/enrollment	localenroll.pm 
  Log:
  - Update perldoc for validate_crsreq() and crsreq_updates().
  
  
Index: loncom/enrollment/localenroll.pm
diff -u loncom/enrollment/localenroll.pm:1.51 loncom/enrollment/localenroll.pm:1.52
--- loncom/enrollment/localenroll.pm:1.51	Sat May 30 16:14:38 2015
+++ loncom/enrollment/localenroll.pm	Sat May 30 18:01:12 2015
@@ -1,6 +1,6 @@
 # functions to glue school database system into Lon-CAPA for 
 # automated enrollment
-# $Id: localenroll.pm,v 1.51 2015/05/30 16:14:38 raeburn Exp $
+# $Id: localenroll.pm,v 1.52 2015/05/30 18:01:12 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -369,21 +369,27 @@
  (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().
+     The custom form data will come from crsreq_updates(), with one
+     additional item: $custominfo->{'_LC_clonefrom'}, provided internally
+     (the courseID of the LON-CAPA course being cloned).
 
 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. 
 
 (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, 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
@@ -444,6 +450,42 @@
     return 'ok';
 }
 
+=pod
+
+=item crsreq_updates()
+
+This is used to customize the LON-CAPA course request process.
+There are two hash references: $incoming, and $outgoing; $incoming can
+contain additional information collected from the requester, whereas $outgoing
+can contain custom items to send back to lonrequestcourse.pm, which creates the
+HTML displayed to the user during a course request.
+
+Different key-value pairs may be returned to lonrequestcourse.pm in the $outgoing
+hashref depending on the current action.  The available actions are:
+review, prevalidate, process, created and queued.
+
+One scenario would be to return HTML markup in: $outgoing->{'reviewweb'},
+i.e., where the action is 'review', to prompt the user to provide additional
+information as part of the course request, at the request review stage, 
+(i.e,, the page which contains the button used to submit a completed course request).
+
+The HTML could contain form elements (e.g., radio buttons etc.). The value(s)
+selected by the requester in those form elements will be available in the incoming
+hashref, for a subsequent action, if the corresponding keys have been included
+in $outgoing->{'formitems'}, i.e., $outgoing will be hash of a hash.  If a
+particular form item will the single valued, the value set for the key in the 
+inner hash in $outgoing should be 1, otherwise, if it will be multi-valued,
+the value should be multiple.
+
+The $outgoing hashref can contain a 'formitems' key for both the prevalidate
+and process actions, as calls to localenroll::crsreq_update() can originate
+in lonrequestcourse::process_request() for both of those actions.
+
+The retrieved form values are passed to localenroll::validate_crsreq() as the
+optional seventh arg (a hashref) -- $custominfo.
+
+=cut
+
 sub crsreq_updates {
     my ($cdom,$cnum,$crstype,$action,$ownername,$ownerdomain,$fullname,$title,
         $code,$accessstart,$accessend,$incoming,$outgoing) = @_;




More information about the LON-CAPA-cvs mailing list