Diff for /loncom/interface/loncreateuser.pm between versions 1.268.2.1 and 1.270

version 1.268.2.1, 2008/12/14 15:32:37 version 1.270, 2008/12/18 16:58:26
Line 2125  sub update_user_data { Line 2125  sub update_user_data {
                     &Apache::lonnet::put('environment',\%changeHash,                      &Apache::lonnet::put('environment',\%changeHash,
                                   $env{'form.ccdomain'},$env{'form.ccuname'});                                    $env{'form.ccdomain'},$env{'form.ccuname'});
                 if ($chgresult eq 'ok') {                  if ($chgresult eq 'ok') {
                     my %newenvhash;  
                     my $hashid="$env{'form.ccuname'}:$env{'form.ccdomain'}";  
                     foreach my $key (keys(%changed)) {  
                         if ($key ne 'quota') {  
                             &Apache::lonnet::devalidate_cache_new('usertools.'.$key,$hashid);  
                             $newenvhash{'environment.tools.'.$key} =   
                                 $changeHash{'tools.'.$key};  
                         }  
                     }  
                     if (($env{'user.name'} eq $env{'form.ccuname'}) &&                      if (($env{'user.name'} eq $env{'form.ccuname'}) &&
                         ($env{'user.domain'} eq $env{'form.ccdomain'})) {                          ($env{'user.domain'} eq $env{'form.ccdomain'})) {
                           my %newenvhash;
                           foreach my $key (keys(%changed)) {
                               if ($key ne 'quota') {
                                   $newenvhash{'environment.tools.'.$key} = 
                                       $changeHash{'tools.'.$key};
                                   $newenvhash{'environment.availabletools.'.$key} =
                                       $changeHash{'tools.'.$key};
                               }
                           }
                         &Apache::lonnet::appenv(\%newenvhash);                          &Apache::lonnet::appenv(\%newenvhash);
                     }                      }
                 }                  }
Line 2928  sub make_script_template { Line 2928  sub make_script_template {
         my ($priv_item, $dummy) = split(/\&/,$priv);          my ($priv_item, $dummy) = split(/\&/,$priv);
         $role_c{$priv_item} = 1;          $role_c{$priv_item} = 1;
     }      }
       my %role_d;
       @temp = split(/:/,$Apache::lonnet::pr{$role.':d'});
       foreach my $priv(@temp) {
           my ($priv_item, $dummy) = split(/\&/,$priv);
           $role_d{$priv_item} = 1;
       }
       my %role_s;
       @temp = split(/:/,$Apache::lonnet::pr{$role.':s'});
       foreach my $priv(@temp) {
           my ($priv_item, $dummy) = split(/\&/,$priv);
           $role_s{$priv_item} = 1;
       }
     foreach my $priv_item (keys(%full_c)) {      foreach my $priv_item (keys(%full_c)) {
         my ($priv, $dummy) = split(/\&/,$priv_item);          my ($priv, $dummy) = split(/\&/,$priv_item);
         if (exists($role_c{$priv})) {          if ((exists($role_c{$priv})) || (exists($role_d{$priv})) || 
               (exists($role_s{$priv}))) {
             $return_script .= "document.form1.$priv"."_c.checked = true;\n";              $return_script .= "document.form1.$priv"."_c.checked = true;\n";
         } else {          } else {
             $return_script .= "document.form1.$priv"."_c.checked = false;\n";              $return_script .= "document.form1.$priv"."_c.checked = false;\n";
         }          }
     }      }
     my %role_d;  
     @temp = split(/:/,$Apache::lonnet::pr{$role.':d'});  
     foreach my $priv(@temp) {  
         my ($priv_item, $dummy) = split(/\&/,$priv);  
         $role_d{$priv_item} = 1;  
     }  
     foreach my $priv_item (keys(%full_d)) {      foreach my $priv_item (keys(%full_d)) {
         my ($priv, $dummy) = split(/\&/,$priv_item);          my ($priv, $dummy) = split(/\&/,$priv_item);
         if (exists($role_d{$priv})) {          if ((exists($role_d{$priv})) || (exists($role_s{$priv}))) {
             $return_script .= "document.form1.$priv"."_d.checked = true;\n";              $return_script .= "document.form1.$priv"."_d.checked = true;\n";
         } else {          } else {
             $return_script .= "document.form1.$priv"."_d.checked = false;\n";              $return_script .= "document.form1.$priv"."_d.checked = false;\n";
         }          }
     }      }
     my %role_s;  
     @temp = split(/:/,$Apache::lonnet::pr{$role.':s'});  
     foreach my $priv(@temp) {  
         my ($priv_item, $dummy) = split(/\&/,$priv);  
         $role_s{$priv_item} = 1;  
     }  
     foreach my $priv_item (keys(%full_s)) {      foreach my $priv_item (keys(%full_s)) {
         my ($priv, $dummy) = split(/\&/,$priv_item);          my ($priv, $dummy) = split(/\&/,$priv_item);
         if (exists($role_s{$priv})) {          if (exists($role_s{$priv})) {
Line 3364  sub print_main_menu { Line 3365  sub print_main_menu {
                                    listusers => 'Display Co-authors and Manage Multiple Users',                                     listusers => 'Display Co-authors and Manage Multiple Users',
                                  },                                   },
                        course => {                         course => {
                                    upload => 'Upload a File of Course Users',                                     upload => 'File of Course Users',
                                    singleuser => 'Add/Modify a Single Course User',                                     singleuser => 'Single Course User',
                                    listusers => 'Display Class Lists and Manage Multiple Users',                                     listusers => 'Course User Lists',
                                  },                                   },
                      );                       );
     my @menu =    my @menu = ( {categorytitle => 'Add Users',
         (       items =>
           { text => $links{$context}{'upload'},       [{
             help => 'Course_Create_Class_List',           linktext => $links{$context}{'upload'},
             action => 'upload',           icon => 'sctr.png',
             permission => $permission->{'cusr'},           #help => 'Course_Create_Class_List',
             },           url => '/adm/createuser?action=upload',
           { text => $links{$context}{'singleuser'},           permission => $permission->{'cusr'},
             help => 'Course_Change_Privileges',           linktitle => 'Upload a CSV or a text file containing users.',
             action => 'singleuser',       },
             permission => $permission->{'cusr'},       {
             },           linktext => $links{$context}{'singleuser'},
           { text => $links{$context}{'listusers'},           icon => 'edit-redo.png',
             help => 'Course_View_Class_List',           #help => 'Course_Change_Privileges',
             action => 'listusers',           url => '/adm/createuser?action=singleuser',
             permission => ($permission->{'view'} || $permission->{'cusr'}),           permission => $permission->{'cusr'},
           },           linktitle => 'Add a user with a certain role to this course.',
         );       }]},
     if ($context eq 'domain' || $context eq 'course') {       {categorytitle => 'Administration',
         my $customlink =  { text => 'Edit Custom Roles',       items =>
                             help => 'Course_Editing_Custom_Roles',       [{
                             action => 'custom',           linktext => $links{$context}{'listusers'},
                             permission => $permission->{'custom'},                   icon => 'edit-find.png',
                           };                   #help => 'Course_View_Class_List',
         push(@menu,$customlink);                   url => '/adm/createuser?action=listusers',
     }           permission => ($permission->{'view'} || $permission->{'cusr'}),
     if ($context eq 'course') {           linktitle => 'Show and manage users of this course.',
         my ($cnum,$cdom) = &Apache::lonuserutils::get_course_identity();       }]},
         my @courselinks =       {categorytitle => 'Configuration',
             (       items =>
               { text => 'Enroll a Single Student',       [
                  help => 'Course_Add_Student',       ]},
                  action => 'singlestudent',     );
                  permission => $permission->{'cusr'},  
                  },      if ($context eq 'domain'){
               { text => 'Drop Students',  
                 help => 'Course_Drop_Student',   push(@{ $menu[1]->{items} },
                 action => 'drop',   { linktext => 'Custom Roles',
                 permission => $permission->{'cusr'},   icon => 'emblem-photos.png',
               });   #help => 'Course_Editing_Custom_Roles',
         if (!exists($permission->{'cusr_section'})) {   url => '/adm/createuser?action=custom',
             push(@courselinks,   permission => $permission->{'custom'},
                { text => 'Automated Enrollment Manager',   linktitle => 'Configure a custom role.',
                  help => 'Course_Automated_Enrollment',   });
                  permission => (&Apache::lonnet::auto_run($cnum,$cdom)  
                                 && $permission->{'cusr'}),      }elsif ($context eq 'course'){
                  url  => '/adm/populate',      my ($cnum,$cdom) = &Apache::lonuserutils::get_course_identity();
                  },  
                { text => 'Configure User Self-enrollment',          push(@{ $menu[0]->{items} },
                  help => 'Course_Self_Enrollment',   { linktext => 'Single Student',
                  action => 'selfenroll',              #help => 'Course_Add_Student',
                  permission => $permission->{'cusr'},   icon => 'list-add.png',
                });              url => '/adm/createuser?action=singlestudent',
         }   permission => $permission->{'cusr'},
         push(@courselinks,              linktitle => 'Add a user with the role student to this course.',
                { text => 'Manage Course Groups',          });
                  help => 'Course_Manage_Group',  
                  permission => $permission->{'grp_manage'},          push(@{ $menu[1]->{items} },  
                  url => '/adm/coursegroups?refpage=cusr',   { linktext => 'Drop Students',
                },   icon => 'edit-undo.png',
                { text => 'View Change Logs',              #help => 'Course_Drop_Student',
                  help => 'Course_User_Logs',              url => '/adm/createuser?action=drop',
                  action => 'changelogs',   permission => $permission->{'cusr'},
                  permission => $permission->{'cusr'},              linktitle =>'Remove a student from this course.',
                },);          },
    { linktext => 'Custom Roles',
    icon => 'emblem-photos.png',
               #help => 'Course_Editing_Custom_Roles',
               url => '/adm/createuser?action=custom',
    permission => $permission->{'custom'},
    linktitle => 'Configure a custom role.',
           });
   
           if (!exists($permission->{'cusr_section'})){
          
    push(@{ $menu[2]->{items} },
    { linktext => 'Automated Enrollment',
    icon => 'roles.png',
             #help => 'Course_Automated_Enrollment',
           permission => (&Apache::lonnet::auto_run($cnum,$cdom)
                                   && $permission->{'cusr'}),
    url  => '/adm/populate',
    linktitle => 'Automated enrollment manager.',
    },
    { linktext => 'User Self-Enrollment',
    icon => 'cstr.png',
          #help => 'Course_Self_Enrollment',
    url => '/adm/createuser?action=selfenroll',
    permission => $permission->{'cusr'},
    linktitle => 'Configure user self enrollment.',
           });
   
    }
   
    push(@{ $menu[2]->{items} },
    { linktext => 'Course Groups',
    icon => 'conf.png',
           #help => 'Course_Manage_Group',
               url => '/adm/coursegroups?refpage=cusr',
    permission => $permission->{'grp_manage'},
    linktitle => 'Manage course groups.',
           },
           { linktext => 'Change Logs',
    icon => 'document-properties.png',
           #help => 'Course_User_Logs',
           url => '/adm/createuser?action=changelogs',
    permission => $permission->{'cusr'},
    linktitle => 'View change log.',
           });
       };
   return Apache::lonhtmlcommon::generate_menu(@menu);
 #               { text => 'View Log-in History',  #               { text => 'View Log-in History',
 #                 help => 'Course_User_Logins',  #                 help => 'Course_User_Logins',
 #                 action => 'logins',  #                 action => 'logins',
 #                 permission => $permission->{'cusr'},  #                 permission => $permission->{'cusr'},
 #               });  #               });
         push(@menu,@courselinks);  
     }  
     my $menu_html = '';  
     foreach my $menu_item (@menu) {  
         next if (! $menu_item->{'permission'});  
         $menu_html.='<p>';  
         if (exists($menu_item->{'help'})) {  
             $menu_html.=  
                 &Apache::loncommon::help_open_topic($menu_item->{'help'});  
         }  
         $menu_html.='<font size="+1">';  
         if (exists($menu_item->{'url'})) {  
             $menu_html.=qq{<a href="$menu_item->{'url'}">};  
         } else {  
             $menu_html.=  
                 qq{<a href="/adm/createuser?action=$menu_item->{'action'}">};        }  
         $menu_html.= &mt($menu_item->{'text'}).'</a></font>';  
         $menu_html.='</p>';  
     }  
     return $menu_html;  
 }  }
   
 sub restore_prev_selections {  sub restore_prev_selections {

Removed from v.1.268.2.1  
changed lines
  Added in v.1.270


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>