[LON-CAPA-cvs] cvs: loncom /imspackages imsimport.pm

raeburn raeburn@source.lon-capa.org
Sun, 26 Sep 2010 02:10:49 -0000


raeburn		Sun Sep 26 02:10:49 2010 EDT

  Modified files:              
    /loncom/imspackages	imsimport.pm 
  Log:
  - Use lonnet::get_my_roles to get active CC roles when determining where to import
    course discussion boards in IMS package imported into Construction Space.
  
  
Index: loncom/imspackages/imsimport.pm
diff -u loncom/imspackages/imsimport.pm:1.32 loncom/imspackages/imsimport.pm:1.33
--- loncom/imspackages/imsimport.pm:1.32	Mon Aug 17 03:52:09 2009
+++ loncom/imspackages/imsimport.pm	Sun Sep 26 02:10:49 2010
@@ -1,6 +1,6 @@
 # The LearningOnline Network with CAPA
 # 
-# $Id: imsimport.pm,v 1.32 2009/08/17 03:52:09 raeburn Exp $
+# $Id: imsimport.pm,v 1.33 2010/09/26 02:10:49 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -616,63 +616,42 @@
 # ---------------------------------------------------------------- Get LON-CAPA Course Coordinator roles for this user
 sub get_ccroles {
     my ($user,$dom,$crsentry,$crslist) = @_;
-    my %roles = ();
+    my %roles;
     unless ($user eq '') {
-        %roles = &Apache::lonnet::dump('roles',$dom,$user);
+        my $ccrole = 'cc';
+        %roles = &Apache::lonnet::get_my_roles($user,$dom,'userroles',undef,[$ccrole]);
     }
     my $iter = 0;
     my @codes = ();
     my %courses = ();
     my @crslist = ();
     my %descrip =();
-    foreach my $key (keys %roles ) {
+    foreach my $key (keys(%roles)) {
         if ($key =~ m{^/($LONCAPA::domain_re)/($LONCAPA::username_re)_cc$}) {
             my $cdom = $1;
             my $crs = $2;
-            my $role_end = 0;
-            my $role_start = 0;
-            my $active_chk = 1;
-            if ( $roles{$key} =~ m/^cc_(\d+)/ ) {
-                $role_end = $1;
-                if ( $roles{$key} =~ m/^cc_($role_end)_(\d+)$/ )
-                {
-                    $role_start = $2;
-                }
-            }
-            if ($role_start > 0) {
-                if (time < $role_start) {
-                    $active_chk = 0;
-                }
-            }
-            if ($role_end > 0) {
-                if (time > $role_end) {
-                    $active_chk = 0;
-                }
+            my $currcode = '';
+            my %settings = &Apache::lonnet::get('environment',['internal.coursecode','description'],$cdom,$crs);
+            if (defined($settings{'description'}) ) {
+                $descrip{$crs} = $settings{'description'};
+            } else {
+                $descrip{$crs} = 'Unknown';
             }
-            if ($active_chk) {
-                my $currcode = '';
-                my %settings = &Apache::lonnet::get('environment',['internal.coursecode','description'],$cdom,$crs);
-                if (defined($settings{'description'}) ) {
-                    $descrip{$crs} = $settings{'description'};
-                } else {
-                    $descrip{$crs} = 'Unknown';
-                }
-                if (defined($settings{'internal.coursecode'}) ) {
-                    $currcode = $settings{'internal.coursecode'};
-                    if ($currcode eq '') {
-                        $currcode = "____".$iter;
-                        $iter ++;
-                    }
-                } else {
+            if (defined($settings{'internal.coursecode'}) ) {
+                $currcode = $settings{'internal.coursecode'};
+                if ($currcode eq '') {
                     $currcode = "____".$iter;
                     $iter ++;
                 }
-                unless (grep/^$currcode$/,@codes) {
-                    push @codes,$currcode;
-                    @{$courses{$currcode}} = ();
-                }
-                push @{$courses{$currcode}}, $cdom.'/'.$crs;
+            } else {
+                $currcode = "____".$iter;
+                $iter ++;
+            }
+            unless (grep/^$currcode$/,@codes) {
+                push @codes,$currcode;
+                @{$courses{$currcode}} = ();
             }
+            push @{$courses{$currcode}}, $cdom.'/'.$crs;
         }
     }
     foreach my $code (sort @codes) {