--- loncom/enrollment/localenroll.pm 2011/01/11 22:17:39 1.41
+++ loncom/enrollment/localenroll.pm 2014/01/03 18:39:55 1.45
@@ -1,6 +1,6 @@
# functions to glue school database system into Lon-CAPA for
# automated enrollment
-# $Id: localenroll.pm,v 1.41 2011/01/11 22:17:39 raeburn Exp $
+# $Id: localenroll.pm,v 1.45 2014/01/03 18:39:55 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -123,6 +123,8 @@ sub run() {
D
A12345678
+
+
with the following at the top of the file
@@ -147,6 +149,17 @@ sub run() {
If dates are to included in the XML file, they should be in the format
YYYY:MM:DD:HH:MM:SS (: separators required).
+ The tag need only be used if the credits earned by the students will
+ be different from the default for the course. The course default is set when the
+ course is created and can be modifed by a Domain Coordinator via "View or
+ modify a course or community" on the DC's Main Menu screen.
+
+ A value for should be the institutional status used for students,
+ and should be one of the types defined in inst_usertypes(). If no status
+ types are defined for the domain this tag can be omitted. If Autoupdate.pl
+ is enabled in your domain, updates to the institutional status set here
+ will be updated by Autoupdate.pl, should changes occur.
+
If there were 10 students in fs03nop590001, 5 students in fs03nop59o601,
8 students in fs03nop590602, and 2 students in fs03ost580002,
then $$reply{'43551dedcd43febmsul1'} = 25
@@ -301,8 +314,14 @@ validate_instcode takes three arguments
(c) an optional institutional username for the course owner.
An array is returned containing (a) the result of the check for a valid
-instcode, and (b) an (optional) course description.
+instcode, (b) an (optional) course description, and (c) the default credits
+earned by students when completing this course. If no institutional credits
+value is available, the default credits for the course can be set via the
+course request form, or via XML in a batch file, of via the web form used
+by the Domain Coordinator to create new courses one at a time.
+
A valid instcode is confirmed by returning 'valid'.
+
If no course description is available, '' should be set as
the value of the second item in the returned array.
@@ -312,7 +331,8 @@ sub validate_instcode {
my ($dom,$instcode,$owner) = @_;
my $outcome = '';
my $description = '';
- return ($outcome,$description);
+ my $credits = '';
+ return ($outcome,$description,$credits);
}
=pod
@@ -378,7 +398,7 @@ lonnet -> lond -> localenroll.pm) The do
a table where columns are course type (official, unofficial or community)
and rows are institutional affiliations (e.g., Faculty, Staff, Student etc.).
-crsreq_checks() takes three arguments: $dom, $reqtyes, $validations.
+crsreq_checks() takes three arguments: $dom, $reqtypes, $validations.
$dom - the domain for which validation options are needed.
$reqtypes - ref to an ARRAY of course types (i.e., official, unofficial and community.
$validations - ref to a hash of a hash which will determine whether "validate"
@@ -417,6 +437,39 @@ sub crsreq_checks {
return 'ok';
}
+sub crsreq_updates {
+ my ($cdom,$cnum,$crstype,$action,$ownername,$ownerdomain,$fullname,$title,
+ $code,$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 '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 => [],
+ }];
+ } elsif ($action eq 'queued') {
+ $outgoing->{'queuedmsg'} = [{
+ mt => '',
+ args => [],
+ }];
+ $outgoing->{'queuedweb'} = '';
+ }
+ return 'ok'
+}
+
=pod
=item create_password()
@@ -735,6 +788,9 @@ sub instcode_defaults {
keys will be unique IDs (student or faculty/staff ID)
values will be either: scalar (username) or an array
if a single ID matches multiple usernames.
+ (d) $lc_users - reference to hash containing LON-CAPA usernames in
+ in domain $dom, as keys. Needed if institutional
+ data source only allows query by username.
returns 1 parameter - 'ok' if no processing error, or other value
if an error occurred.
side effects - populates the $instusers and $instids refs to hashes.
@@ -745,7 +801,7 @@ sub instcode_defaults {
=cut
sub allusers_info {
- my ($dom,$instusers,$instids) = @_;
+ my ($dom,$instusers,$instids,$lc_users) = @_;
my $outcome = 'ok';
return $outcome;
}