version 1.44, 2013/03/01 04:49:04
|
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 437 sub crsreq_checks {
|
Line 441 sub crsreq_checks {
|
return 'ok'; |
return 'ok'; |
} |
} |
|
|
|
sub crsreq_updates { |
|
my ($cdom,$cnum,$crstype,$action,$ownername,$ownerdomain,$fullname,$title, |
|
$code,$accessstart,$accessend,$incoming,$outgoing) = @_; |
|
unless (ref($outgoing) eq 'HASH') { |
|
return 'fail'; |
|
} |
|
my %extrainfo; |
|
if (ref($incoming) eq 'HASH') { |
|
%extrainfo = %{$incoming}; |
|
} |
|
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. |
|
} elsif ($action eq 'created') { |
|
$outgoing->{'createdweb'} = ''; |
|
$outgoing->{'createdmsg'} = [{ |
|
mt => '', |
|
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') { |
|
$outgoing->{'queuedmsg'} = [{ |
|
mt => '', |
|
args => [], |
|
}]; |
|
$outgoing->{'queuedweb'} = ''; |
|
} |
|
return 'ok' |
|
} |
|
|
=pod |
=pod |
|
|
=item create_password() |
=item create_password() |
Line 838 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 |