version 1.57, 2017/10/13 20:37:40
|
version 1.60, 2021/03/31 02:19:58
|
Line 39 described at http://www.lon-capa.org.
|
Line 39 described at http://www.lon-capa.org.
|
|
|
=head1 NOTABLE SUBROUTINES |
=head1 NOTABLE SUBROUTINES |
|
|
=over |
|
|
|
=cut |
=cut |
|
|
package localenroll; |
package localenroll; |
Line 48 package localenroll;
|
Line 46 package localenroll;
|
use strict; |
use strict; |
|
|
=pod |
=pod |
|
|
|
=over |
|
|
=item run() |
=item run() |
set this to return 1 if you want the auto enrollment to run |
set this to return 1 if you want the auto enrollment to run |
Line 144 sub run() {
|
Line 144 sub run() {
|
Manager, or via the 'Upload a class list','Enroll a single student' or |
Manager, or via the 'Upload a class list','Enroll a single student' or |
'Modify student data' utilities in the Enrollment Manager, by checking the |
'Modify student data' utilities in the Enrollment Manager, by checking the |
'make these dates the default for future enrollment' checkbox. If no default |
'make these dates the default for future enrollment' checkbox. If no default |
dates have been set, then the tudent role will be active immediately, and will |
dates have been set, then the student role will be active immediately, and will |
remain active until the role is explicitly expired using ENRL -> Drop students. |
remain active until the role is explicitly expired using ENRL -> Drop students. |
If dates are to included in the XML file, they should be in the format |
If dates are to included in the XML file, they should be in the format |
YYYY:MM:DD:HH:MM:SS (: separators required). |
YYYY:MM:DD:HH:MM:SS (: separators required). |
Line 207 sub fetch_enrollment {
|
Line 207 sub fetch_enrollment {
|
("001","601","602") would be returned |
("001","601","602") would be returned |
|
|
If the array returned contains at least one element, then |
If the array returned contains at least one element, then |
the interface offerred to the course coordinator, lists |
the interface offered to the course coordinator, lists |
official sections and provides a checkbox to use to |
official sections and provides a checkbox to use to |
select enrollment in the LON-CAPA course from each official section. |
select enrollment in the LON-CAPA course from each official section. |
|
|
Line 258 sub get_sections {
|
Line 258 sub get_sections {
|
username:domain |
username:domain |
(c) the LON-CAPA domain that contains the course |
(c) the LON-CAPA domain that contains the course |
|
|
new_course also takes a fourth (optional) argument - |
new_course also takes optional fourth and fifth arguments - |
(d) the course co-owners, as a comma-separated list of username:domain for |
(d) the course co-owners, as a comma-separated list of username:domain for |
any co-owners. |
any co-owners. |
|
(e) database handle (might be set when new_course() is called by check_section |
|
routine within localenroll.pm). |
|
|
=cut |
=cut |
|
|
Line 340 sub validate_instcode {
|
Line 342 sub validate_instcode {
|
|
|
=pod |
=pod |
|
|
|
=item validate_crosslist_access() |
|
|
|
This is called for an official course to check whether a course |
|
with the institutional code can have access to enrollment data |
|
from a cross-listed institutional section code, given a co-owner. |
|
|
|
validate_crosslist_access() takes four arguments - |
|
(a) the course's LON-CAPA domain |
|
(b) the institional course code assigned to the course |
|
(c) the institutional course section code for the crosslisting |
|
(d) the co-owner to check for affiliation with the crosslisting |
|
(username:domain). |
|
|
|
A combination of (a), (b), (c) and (d) with access to enrollment |
|
data, as per institutional policies, is confirmed by returning 'valid'. |
|
|
|
=cut |
|
|
|
sub validate_crosslist_access { |
|
my ($dom,$instcode,$inst_xlist,$coowner) = @_; |
|
my $outcome = ''; |
|
return $outcome; |
|
} |
|
|
|
=pod |
|
|
=item validate_crsreq() |
=item validate_crsreq() |
|
|
This is used to check whether a course request should be processed |
This is used to check whether a course request should be processed |
Line 590 sub export_grades {
|
Line 618 sub export_grades {
|
|
|
=pod |
=pod |
|
|
|
=item check_instclasses() |
|
|
|
This is used to supply information about which instituional course sections |
|
and cross-listings are available to supply enrollment data, given the current |
|
list of owner and co-owners. The data are used to populate the column titled: |
|
"Auto-enrollment of registered students" when showing full detailed for a course |
|
in the course catalog. |
|
|
|
This subroutine takes four arguments - |
|
|
|
(a) $owners - comma-separated list of username:domain for course owner |
|
and co-owners. |
|
(b) $dom - domain of course. |
|
(c) $classes - reference to hash of institutional course sections and |
|
crosslistings for which access to enrollment data is being checked. |
|
(d) $validated - reference to hash which will be populated with all |
|
keys from incoming $classes hashref, for which one or more of the |
|
owner/co-owners has rights to access enrollment data. For each |
|
key included in $validated hashref, corresponding value will be set to 1. |
|
|
|
The subroutine returns 'ok' if there is no processing error. |
|
|
|
=cut |
|
|
|
|
|
sub check_instclasses { |
|
my ($owners,$dom,$classes,$validated) = @_; |
|
if ((ref($classes) eq 'HASH') && (ref($validated) eq 'HASH')) { |
|
foreach my $class (keys(%{$classes})){ |
|
if (&check_section($class,$owners,$dom) eq 'ok') { |
|
$validated->{$class} = 1; |
|
} |
|
} |
|
} |
|
return 'ok'; |
|
} |
|
|
|
|
|
=pod |
|
|
=item create_password() |
=item create_password() |
|
|
This is called when the authentication method set for the automated |
This is called when the authentication method set for the automated |