Diff for /loncom/enrollment/localenroll.pm between versions 1.45 and 1.49

version 1.45, 2014/01/03 18:39:55 version 1.49, 2014/06/25 23:55:31
Line 362  validate_crsreq takes six arguments - Line 362  validate_crsreq takes six arguments -
  (d) a comma-separated list of institutional affiliations of    (d) a comma-separated list of institutional affiliations of 
      the course owner.       the course owner.
  (e) the institutional code (in the MSU case this is a concatenation of   (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   (f) a comma-separated list of institutional sections included in
      the course request (only applicable to official courses).       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'.  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  (a) process  - the requestor is the recorded instructor - create the course
 (b) rejected - the requestor should never be requesting this course, reject the  (b) rejected - the requestor should never be requesting this course, reject the
     request permanently      request permanently
 (c) pending - the requestor is not the recorded instructor, but could  (c) pending - the requestor is not the recorded instructor, but could
     become so after administrative action at the institution. Put the      become so after administrative action at the institution. Put the
     request in a queue and check localenroll:validate_instcode()      request in a queue and, if an official course, check 
     periodically until the status changes to "valid".      localenroll:validate_instcode() periodically until the status changes to 
       "valid".
 (d) approval - the request will be held pending review by a Domain Coordinator.  (d) approval - the request will be held pending review by a Domain Coordinator.
 (e) error (followed by the error condition).  (e) error (followed by the error condition).
   
 =cut  =cut
   
 sub validate_crsreq {  sub validate_crsreq {
     my ($dom,$owner,$crstype,$inststatuslist,$instcode,$instseclist) = @_;      my ($dom,$owner,$crstype,$inststatuslist,$instcode,$instseclist,$custominfo) = @_;
     my $outcome = 'approval';      my $outcome = 'approval';
     return $outcome;      return $outcome;
 }  }
Line 439  sub crsreq_checks { Line 443  sub crsreq_checks {
   
 sub crsreq_updates {  sub crsreq_updates {
     my ($cdom,$cnum,$crstype,$action,$ownername,$ownerdomain,$fullname,$title,      my ($cdom,$cnum,$crstype,$action,$ownername,$ownerdomain,$fullname,$title,
         $code,$incoming,$outgoing) = @_;          $code,$accessstart,$accessend,$incoming,$outgoing) = @_;
     unless (ref($outgoing) eq 'HASH') {      unless (ref($outgoing) eq 'HASH') {
         return 'fail';          return 'fail';
     }      }
Line 449  sub crsreq_updates { Line 453  sub crsreq_updates {
     }      }
     if ($action eq 'review') {      if ($action eq 'review') {
         $outgoing->{'reviewweb'} = '';          $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') {      } elsif ($action eq 'process') {
         $outgoing->{'formitems'} = {}; # key=>value, where key is form element name          $outgoing->{'formitems'} = {}; # key=>value, where key is form element name
                                        #             and value is multiple, if there                                         #             and value is multiple, if there
                                        #             are multiple form elements with                                         #             are multiple form elements with
                                        #             the same name.                                           #             the same name.
     } elsif ($action eq 'created') {      } elsif ($action eq 'created') {
         $outgoing->{'createdweb'} = '';          $outgoing->{'createdweb'} = '';
         $outgoing->{'createdmsg'} = [{          $outgoing->{'createdmsg'} = [{
                                      mt => '',                                       mt => '',
                                      args => [],                                       args => [],
                                     }];                                      }];
           $outgoing->{'createdactions'} = {
                                               environment => {},
                                           };
                                           # environment can contain key=>value for
                                           # items to set in the course environment.
                                           # These would be items which are NOT included
                                           # in the items set via options in the course
                                           # request form. Currently self-enrollment
                                           # settings are the only ones allowed, i.e.,
                                           # internal.selfenroll_types internal.selfenroll_registered
                                           # internal.selfenroll_section internal.selfenroll_start_access 
                                           # internal.selfenroll_end_access internal.selfenroll_limit
                                           # internal.selfenroll_cap internal.selfenroll_approval
                                           # internal.selfenroll_notifylist
     } elsif ($action eq 'queued') {      } elsif ($action eq 'queued') {
         $outgoing->{'queuedmsg'} = [{           $outgoing->{'queuedmsg'} = [{
                                      mt   => '',                                        mt   => '',
                                      args => [],                                       args => [],
                                     }];                                      }];
         $outgoing->{'queuedweb'} = '';          $outgoing->{'queuedweb'} = '';
Line 871  sub get_userinfo { Line 894  sub get_userinfo {
   
 =item inst_usertypes()   =item inst_usertypes() 
   
    Starting with LON-CAPA 2.11.0 use of this subroutine
    is deprecated. The domain configuration web GUI
    accessible to Domain Coordinators will be used to
    manage institutional types.  If you have previously
    customized this routine, then values set there will
    be used when displaying the "Institutional user types"
    section in the domain config screen for:
    "Default authentication/language/timezone/portal/types".
   
    Once you have visited that screen and saved the settings,
    configuration thereafter will be via the web GUI of
    values stored in the domain's configuration.db file on
    the primary library server in the domain, and values in
    inst_usertypes() will no longer be consulted.
    
  Incoming data: three arguments   Incoming data: three arguments
  (a) $dom - domain   (a) $dom - domain
  (b) $usertypes - reference to hash which will contain    (b) $usertypes - reference to hash which will contain 

Removed from v.1.45  
changed lines
  Added in v.1.49


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>