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

raeburn raeburn@source.lon-capa.org
Fri, 02 Apr 2010 14:53:26 -0000


raeburn		Fri Apr  2 14:53:26 2010 EDT

  Modified files:              
    /loncom/interface	loncreateuser.pm 
  Log:
  - If a custom quota is not set the quota displayed needs to reflect changes in institutional status which may cause the size of the default 
  quota to have changed.  
  
  
Index: loncom/interface/loncreateuser.pm
diff -u loncom/interface/loncreateuser.pm:1.338 loncom/interface/loncreateuser.pm:1.339
--- loncom/interface/loncreateuser.pm:1.338	Fri Apr  2 14:18:50 2010
+++ loncom/interface/loncreateuser.pm	Fri Apr  2 14:53:26 2010
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Create a user
 #
-# $Id: loncreateuser.pm,v 1.338 2010/04/02 14:18:50 raeburn Exp $
+# $Id: loncreateuser.pm,v 1.339 2010/04/02 14:53:26 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -2574,7 +2574,8 @@
         }
         my ($quotachanged,$oldportfolioquota,$newportfolioquota,$oldinststatus,
             $newinststatus,$oldisdefault,$newisdefault,%oldsettings,
-            %oldsettingstext,%newsettings,%newsettingstext,@disporder);
+            %oldsettingstext,%newsettings,%newsettingstext,@disporder,
+            $olddefquota,$oldsettingstatus,$newdefquota,$newsettingstatus);
         @disporder = ('inststatus');
         if ($env{'request.role.domain'} eq $env{'form.ccdomain'}) {
             push(@disporder,'requestcourses');
@@ -2583,8 +2584,9 @@
         }
         push(@disporder,('quota','tools'));
         $oldinststatus = $userenv{'inststatus'};
-        my ($defquota,$settingstatus) = 
+        ($olddefquota,$oldsettingstatus) = 
             &Apache::loncommon::default_quota($env{'form.ccdomain'},$oldinststatus);
+        ($newdefquota,$newsettingstatus) = ($olddefquota,$oldsettingstatus);
         my %canshow;
         if (&Apache::lonnet::allowed('mpq',$env{'form.ccdomain'})) {
             $canshow{'quota'} = 1;
@@ -2620,6 +2622,8 @@
                     $changeHash{'inststatus'} = $newinststatus;
                     if ($newinststatus ne $oldinststatus) {
                         $changed{'inststatus'} = $newinststatus;
+                        ($newdefquota,$newsettingstatus) =
+                            &Apache::loncommon::default_quota($env{'form.ccdomain'},$newinststatus);
                     }
                     if (ref($usertypes) eq 'HASH') {
                         $newsettings{'inststatus'} = join(', ',map{ $usertypes->{$_}; } (@inststatuses)); 
@@ -2633,6 +2637,8 @@
                 $newsettings{'inststatus'} = $othertitle;
                 if ($newinststatus ne $oldinststatus) {
                     $changed{'inststatus'} = $changeHash{'inststatus'};
+                    ($newdefquota,$newsettingstatus) =
+                        &Apache::loncommon::default_quota($env{'form.ccdomain'},$newinststatus);
                 }
             }
         } elsif ($context ne 'selfcreate') {
@@ -2655,12 +2661,12 @@
                     }
                 } else {
                     $changed{'quota'} = &quota_admin('',\%changeHash);
-                    $newportfolioquota = $defquota;
+                    $newportfolioquota = $newdefquota;
                     $newisdefault = 1;
                 }
             } else {
                 $oldisdefault = 1;
-                $oldportfolioquota = $defquota;
+                $oldportfolioquota = $olddefquota;
                 if ($env{'form.customquota'} == 1) {
                     if ($env{'form.portfolioquota'} eq '') {
                         $newportfolioquota = 0;
@@ -2670,15 +2676,15 @@
                     }
                     $changed{'quota'} = &quota_admin($newportfolioquota,\%changeHash);
                 } else {
-                    $newportfolioquota = $defquota;
+                    $newportfolioquota = $newdefquota;
                     $newisdefault = 1;
                 }
             }
             if ($oldisdefault) {
-                $oldsettingstext{'quota'} = &get_defaultquota_text($settingstatus);
+                $oldsettingstext{'quota'} = &get_defaultquota_text($oldsettingstatus);
             }
             if ($newisdefault) {
-                $newsettingstext{'quota'} = &get_defaultquota_text($settingstatus);
+                $newsettingstext{'quota'} = &get_defaultquota_text($newsettingstatus);
             }
             &tool_changes('tools',\@usertools,\%oldsettings,\%oldsettingstext,\%userenv,
                           \%changeHash,\%changed,\%newsettings,\%newsettingstext);