[LON-CAPA-cvs] cvs: loncom /interface lonaboutme.pm

raeburn raeburn@source.lon-capa.org
Tue, 09 Dec 2008 22:16:23 -0000


raeburn		Tue Dec  9 22:16:23 2008 EDT

  Modified files:              
    /loncom/interface	lonaboutme.pm 
  Log:
  - Bug 5839. DCs can set availability of Users' About Me pages and Portfolio
   Provide access to adm/$dom/$uname/aboutme/portfolio if Portfolio is enabled, but About Me page is disabled for this user, in case there are files with public/passphrase protected ACLs set. 
  
  
Index: loncom/interface/lonaboutme.pm
diff -u loncom/interface/lonaboutme.pm:1.79 loncom/interface/lonaboutme.pm:1.80
--- loncom/interface/lonaboutme.pm:1.79	Tue Dec  9 11:31:56 2008
+++ loncom/interface/lonaboutme.pm	Tue Dec  9 22:16:23 2008
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # "About Me" Personal Information
 #
-# $Id: lonaboutme.pm,v 1.79 2008/12/09 11:31:56 amueller Exp $
+# $Id: lonaboutme.pm,v 1.80 2008/12/09 22:16:23 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -110,23 +110,25 @@
 
     my $candisplay = 1;
     if (!$is_course) {
-        $candisplay = &Apache::lonnet::usertools_access($cnum,$cdom,'aboutme');
-        if ((!$candisplay) && ($env{'request.course.id'})) {
-            $candisplay = &aboutme_access($cnum,$cdom);
-        }
-        if (!$candisplay) {
-            if ($target eq 'tex') {
-                $r->print('\noindent{\large\textbf{'.&mt('No user home page available').'}}\\\\\\\\');
-            } else {
-                $r->print(&Apache::loncommon::start_page("Personal Information"));
-                $r->print('<h2>'.&mt('No user home page available') .'</h2>'.
-                          &mt('This is a result of one of the following:').'<ul>'.
-                          '<li>'.&mt('The administrator of this domain has disabled home page functionality for this specific user.').'</li>'.
-                          '<li>'.&mt('The domain has been configured to disable, by default, home page functionality for all users in the domain.').'</li>'.
-                          '</ul>');
-                $r->print(&Apache::loncommon::end_page());
+        if ($action ne 'portfolio') {
+            $candisplay = &Apache::lonnet::usertools_access($cnum,$cdom,'aboutme');
+            if ((!$candisplay) && ($env{'request.course.id'})) {
+                $candisplay = &aboutme_access($cnum,$cdom);
+            }
+            if (!$candisplay) {
+                if ($target eq 'tex') {
+                    $r->print('\noindent{\large\textbf{'.&mt('No user home page available').'}}\\\\\\\\');
+                } else {
+                    $r->print(&Apache::loncommon::start_page("Personal Information"));
+                    $r->print('<h2>'.&mt('No user home page available') .'</h2>'.
+                              &mt('This is a result of one of the following:').'<ul>'.
+                              '<li>'.&mt('The administrator of this domain has disabled home page functionality for this specific user.').'</li>'.
+                              '<li>'.&mt('The domain has been configured to disable, by default, home page functionality for all users in the domain.').'</li>'.
+                              '</ul>');
+                    $r->print(&Apache::loncommon::end_page());
+                }
+                return OK;
             }
-            return OK;
         }
     }
 
@@ -144,12 +146,20 @@
 # ----------------------------------------------- Available Portfolio file display 
     if (($target ne 'tex') && ($action eq 'portfolio')) {
         &display_portfolio_header($r,$is_course);
-        my ($blocked,$blocktext) = 
-           &Apache::loncommon::blocking_status('port',$cnum,$cdom);
-        if (!$blocked) {
-            &display_portfolio_files($r,$is_course);
+        if ((!$is_course) && (!&Apache::lonnet::usertools_access($cnum,$cdom,'portfolio'))) {
+            $r->print('<h2>'.&mt('No user portfolio available') .'</h2>'.
+                      &mt('This is a result of one of the following:').'<ul>'.
+                      '<li>'.&mt('The administrator of this domain has disabled portfolio functionality for this specific user.').'</li>'.
+                      '<li>'.&mt('The domain has been configured to disable, by default, portfolio functionality for all users in the domain.').'</li>'.
+                      '</ul>');
         } else {
-            $r->print($blocktext);
+            my ($blocked,$blocktext) = 
+                &Apache::loncommon::blocking_status('port',$cnum,$cdom);
+            if (!$blocked) {
+                &display_portfolio_files($r,$is_course);
+            } else {
+                $r->print($blocktext);
+            }
         }
         $r->print(&Apache::loncommon::end_page());
         return OK;