[LON-CAPA-cvs] cvs: loncom(GCI_3) /interface resetpw.pm

raeburn raeburn@source.lon-capa.org
Wed, 01 Dec 2010 23:15:47 -0000


raeburn		Wed Dec  1 23:15:47 2010 EDT

  Modified files:              (Branch: GCI_3)
    /loncom/interface	resetpw.pm 
  Log:
  - Customization for GCI_3
   - Support link from Sign-Up screen, where faculty attempts to sign-up for a
     new GCI WebCenter account when one has already been created for him/her.
  
  
Index: loncom/interface/resetpw.pm
diff -u loncom/interface/resetpw.pm:1.22.2.3 loncom/interface/resetpw.pm:1.22.2.4
--- loncom/interface/resetpw.pm:1.22.2.3	Mon Nov 29 19:25:53 2010
+++ loncom/interface/resetpw.pm	Wed Dec  1 23:15:47 2010
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Allow access to password changing via a token sent to user's e-mail. 
 #
-# $Id: resetpw.pm,v 1.22.2.3 2010/11/29 19:25:53 raeburn Exp $
+# $Id: resetpw.pm,v 1.22.2.4 2010/12/01 23:15:47 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -80,10 +80,11 @@
     }
     &Apache::lonacc::get_posted_cgi($r);
     &Apache::lonlocal::get_language_handle($r);
-    &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['token']);
+    &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['token',
+                                            'uname','useremail','referrer']);
     
     my @emailtypes = ('permanentemail','critnotification','notification');
-    my $uname = &unescape($env{'form.uname'});
+    my $uname = $env{'form.uname'};
     my $useremail = $env{'form.useremail'};
     my $udom = $env{'form.udom'};
     my $token = $env{'form.token'};
@@ -114,7 +115,7 @@
     my $output;
     if ($token) {
         $output = &reset_passwd($r,$token,$contact_name,$contact_email);
-    } elsif ($uname && $udom) {
+    } elsif ($uname && $udom && ($env{'form.referrer'} ne 'createaccount')) {
         my $domdesc = &Apache::lonnet::domain($udom,'description');
         my $homeserver = &Apache::lonnet::homeserver($uname,$udom);
         if ($homeserver eq 'no_host') {
@@ -184,7 +185,7 @@
                                      $contact_name,$contact_email);
         }
     } else {
-        $output = &get_uname($defdom);
+        $output = &get_uname($defdom,$uname,$useremail);
     }
     $r->print($output);
     $r->print(&Apache::loncommon::end_page());
@@ -192,25 +193,29 @@
 }
 
 sub get_uname {
-    my ($defdom) = @_;
+    my ($defdom,$uname,$useremail) = @_;
     my %lt = &Apache::lonlocal::texthash(
                                          unam => 'LON-CAPA username',
                                          udom => 'LON-CAPA domain',
                                          uemail => 'E-mail address in LON-CAPA',
                                          proc => 'Proceed');
-
+    my %value;
+    if ($env{'form.referrer'} eq 'createaccount') {
+        $value{'uname'} = $uname;
+        $value{'useremail'} = $useremail;
+    }
     my $msg = '<br />'.&mt('To be able to reset a forgotten password:')
            .'<ul><li>'.&mt('An e-mail address must have previously been associated with your LON-CAPA username.').'</li>'
            .'<li>'.&mt('You must be able to access e-mail sent to the e-mail address associated with your WebCenter account.').'</li></ul><br />'
-           .&mt('In most cases the GCI WebCenter username is the same as your e-mail address, in which case you will enter the same information twice. ').'<br />';
+           .&mt('In most cases the GCI WebCenter username is the same as your e-mail address, in which case you will enter the same information twice. ').'<br /><br />';
     $msg .= '<form name="forgotpw" method="post" action="/adm/resetpw">'.
             &Apache::lonhtmlcommon::start_pick_box().
-            &Apache::lonhtmlcommon::row_title('LON-CAPA '.$lt{'unam'}).
-            '<input type="text" name="uname" size="30" />'.
+            &Apache::lonhtmlcommon::row_title($lt{'unam'}).
+            '<input type="text" name="uname" size="30" value="'.$value{'uname'}.'" />'.
             '<input type="hidden" name="udom" value="'.$defdom.'" />'.
             &Apache::lonhtmlcommon::row_closure(1).
             &Apache::lonhtmlcommon::row_title($lt{'uemail'}).
-            '<input type="text" name="useremail" size="30" />'.
+            '<input type="text" name="useremail" size="30" value="'.$value{'useremail'}.'" />'.
             &Apache::lonhtmlcommon::end_pick_box().
             '<br /><br /><input type="submit" name="resetter" value="'.$lt{'proc'}.'" /></form>'."\n";
     return $msg;