Diff for /loncom/interface/loncoursegroups.pm between versions 1.113 and 1.124

version 1.113, 2011/10/23 00:04:51 version 1.124, 2014/02/27 11:16:06
Line 31  use strict; Line 31  use strict;
 use Apache::lonnet;  use Apache::lonnet;
 use Apache::loncommon();  use Apache::loncommon();
 use Apache::lonhtmlcommon();  use Apache::lonhtmlcommon();
   use Apache::lonhtmlgateway;
 use Apache::lonlocal;  use Apache::lonlocal;
 use Apache::lonnavmaps();  use Apache::lonnavmaps();
 use Apache::longroup();  use Apache::longroup();
Line 188  sub display_groups { Line 189  sub display_groups {
                           crtd   => 'Created',                            crtd   => 'Created',
                           last   => 'Last Modified',                            last   => 'Last Modified',
                           func   => 'Collaborative Tools',                            func   => 'Collaborative Tools',
                           quot   => 'Quota (Mb)',                            quot   => 'Quota (MB)',
                           memb   => 'Members',                            memb   => 'Members',
                           file   => 'Files',                            file   => 'Files',
                           dibd   => 'Discussion Boards',                            dibd   => 'Discussion Boards',
Line 416  END Line 417  END
                 }                  }
             }              }
         } else {          } else {
             $r->print(&mt('You are not currently a member of any active '.$gpterm.'s in this '.lc($crstype).'.'));              $r->print(
                   '<p class="LC_info">'
                  .&mt('You are not currently a member of any active '.$gpterm.'s'
                      .' in this '.lc($crstype).'.')
                  .'</p>'
               );
         }          }
     }      }
     return;      return;
Line 806  sub group_administration { Line 812  sub group_administration {
     }      }
     var maxposs = '.sprintf("%.2f",$maxposs).';      var maxposs = '.sprintf("%.2f",$maxposs).';
     if (newquota > maxposs) {      if (newquota > maxposs) {
         alert("The group portfolio quota you entered for this group ("+newquota+" Mb) exceeds the maximum possible ("+maxposs+" Mb). Please enter a smaller number.");          alert("The group portfolio quota you entered for this group ("+newquota+" MB) exceeds the maximum possible ("+maxposs+" MB). Please enter a smaller number.");
         return;          return;
     }      }
     var re_quota = '.$float_check.';      var re_quota = '.$float_check.';
Line 825  sub group_administration { Line 831  sub group_administration {
             }              }
         }          }
         if (warn_zero == 1) {          if (warn_zero == 1) {
             alert("You have indicated that the group portfolio should be enabled, but you have set the respository quota to 0 Mb.\nThis will prevent any upload of files.\nPlease set a value or disable the repository feature.");              alert("You have indicated that the group portfolio should be enabled, but you have set the respository quota to 0 MB.\nThis will prevent any upload of files.\nPlease set a value or disable the repository feature.");
             return;              return;
         }          }
     }       } 
Line 1276  sub reenable_folder { Line 1282  sub reenable_folder {
         $LONCAPA::map::resources[$idx] = $foldertitle.':'.$mapurl.          $LONCAPA::map::resources[$idx] = $foldertitle.':'.$mapurl.
                                          ':false:normal:res';                                           ':false:normal:res';
         $LONCAPA::map::order[1+$#LONCAPA::map::order]=$idx;          $LONCAPA::map::order[1+$#LONCAPA::map::order]=$idx;
         my ($outtext,$errtext) = &LONCAPA::map::storemap($allgrpsmap,1);          my ($outtext,$errtext) = &LONCAPA::map::storemap($allgrpsmap,1,1);
         if ($errtext) {          if ($errtext) {
             $outcome='<div class="LC_error">'              $outcome='<div class="LC_error">'
                     .&mt('An error occurred when saving updated parent folder to group:'                      .&mt('An error occurred when saving updated parent folder to group:'
Line 1341  sub modify_folders { Line 1347  sub modify_folders {
                     $LONCAPA::map::order[$i] = $LONCAPA::map::order[$i+1];                      $LONCAPA::map::order[$i] = $LONCAPA::map::order[$i+1];
                 }                  }
                 $#LONCAPA::map::order--;                  $#LONCAPA::map::order--;
                 my ($outtext,$errtext) = &LONCAPA::map::storemap($map,1);                  my ($outtext,$errtext) = &LONCAPA::map::storemap($map,1,1);
                 if ($errtext) {                  if ($errtext) {
                     $outcome='<div class="LC_error">'                      $outcome='<div class="LC_error">'
                             .&mt('An error occurred when saving updated parent folder to group:')                              .&mt('An error occurred when saving updated parent folder to group:')
Line 1487  sub header { Line 1493  sub header {
        {'add_entries' => $loaditems,});         {'add_entries' => $loaditems,});
     my $output = <<"END";      my $output = <<"END";
 $start_page  $start_page
 <form method="post" name="$state">  <form method="post" name="$state" action="">
   
 END  END
     if ($action eq 'create' || $action eq 'modify') {      if ($action eq 'create' || $action eq 'modify') {
Line 1751  sub groupsettings_options { Line 1757  sub groupsettings_options {
     } else {      } else {
         $r->print(&mt('Quota allocated to group portfolio:'));          $r->print(&mt('Quota allocated to group portfolio:'));
     }       } 
     $r->print(' '.&mt('[_1] Mb','<input type="text" name="quota" size="4" />'));      $r->print(' '.&mt('[_1] MB','<input type="text" name="quota" size="4" />'));
     if ($action eq 'create') {      if ($action eq 'create') {
         $r->print('<br />'          $r->print('<br />'
                  .&mt('A total of [_1] Mb can be divided amongst all '.$gpterm.'s in the '                   .&mt('A total of [_1] MB can be divided amongst all '.$gpterm.'s in the '
                      .lc($crstype).', and [_2] Mb are currently unallocated.'                       .lc($crstype).', and [_2] MB are currently unallocated.'
                      ,$crsquota,sprintf("%.2f",$freespace))                       ,$crsquota,sprintf("%.2f",$freespace))
                  );                   );
     } else {      } else {
         $r->print('&nbsp;&nbsp;('.&mt('The quota is currently [_1] Mb',          $r->print('&nbsp;&nbsp;('.&mt('The quota is currently [_1] MB',
                                       $$stored{'quota'}).').');                                        $$stored{'quota'}).').');
   
         $r->print('<br />'          $r->print('<br />'
                  .&mt('The quota can be increased to [_1] Mb, '                   .&mt('The quota can be increased to [_1] MB, '
                  .'by adding all unallocated space for '.$gpterm.'s in the '.lc($crstype).'.'                   .'by adding all unallocated space for '.$gpterm.'s in the '.lc($crstype).'.'
                   ,sprintf("%.2f",$maxposs)));                    ,sprintf("%.2f",$maxposs)));
     }      }
Line 2011  sub print_current_settings { Line 2017  sub print_current_settings {
         dfac => 'Default access dates',          dfac => 'Default access dates',
         ygrs => "Your group selections - ",          ygrs => "Your group selections - ",
         tfwa => "The following settings will apply to the group:",          tfwa => "The following settings will apply to the group:",
         difn => 'Different collaborative tools<br />for different members:',  
         stda => 'Start date:',          stda => 'Start date:',
         enda => 'End date:',          enda => 'End date:',
     );      );
       $lt{'difn'} = &mt('Different collaborative tools[_1]for different members:','<br />');
     my $showstart = &Apache::lonlocal::locallocaltime($startdate);      my $showstart = &Apache::lonlocal::locallocaltime($startdate);
     my $showend;      my $showend;
     if ($enddate == 0) {      if ($enddate == 0) {
Line 2064  sub print_current_settings { Line 2070  sub print_current_settings {
         $r->print('</ul>');          $r->print('</ul>');
     }      }
   
     my $quota_text=&mt('[_1] Mb',$quota);      my $quota_text=&mt('[_1] MB',$quota);
     my $granu_text=&mt($granularity);      my $granu_text=&mt($granularity);
     $r->print(<<"END");      $r->print(<<"END");
   </td>    </td>
Line 2254  sub privilege_specificity { Line 2260  sub privilege_specificity {
                 "for users who receive specific sections/roles in the course ",                  "for users who receive specific sections/roles in the course ",
       'asyo' => "As you have chosen not to include any collaborative tools ".        'asyo' => "As you have chosen not to include any collaborative tools ".
                 "in the group, no default optional privileges need to be set.",                  "in the group, no default optional privileges need to be set.",
       'plin' => 'Indicate which <b>optional</b> privileges members '.  
                 'will receive by default for a specific tool.',                  'will receive by default for a specific tool.',
       'oppr' => 'Optional privileges',        'oppr' => 'Optional privileges',
       'defp' => 'The default privileges new members will receive are:',         'defp' => 'The default privileges new members will receive are:', 
     );      );
       $lt{'plin'} = &mt('Indicate which [_1]optional[_2] privileges members '.
                         'will receive by default for a specific tool.','<b>','</b>');
     if ($crstype eq 'Community') {      if ($crstype eq 'Community') {
         $lt{'thes'} = &mt('These will be the privileges given to members assigned in the future via automatic group assignment for users who receive specific sections/roles in the community ');           $lt{'thes'} = &mt('These will be the privileges given to members assigned in the future via automatic group assignment for users who receive specific sections/roles in the community '); 
     }      }
Line 2542  sub current_membership { Line 2549  sub current_membership {
                                           'actn' => 'Action?',                                            'actn' => 'Action?',
                                           'name' => 'Name',                                            'name' => 'Name',
                                           'usnm' => 'Username',                                            'usnm' => 'Username',
                                             'stid' => 'ID',
                                           'doma' => 'Domain',                                            'doma' => 'Domain',
                                           'stda' => 'Start Date',                                            'stda' => 'Start Date',
                                           'enda' => 'End Date',                                            'enda' => 'End Date',
Line 2603  END Line 2611  END
      <th><a href="javascript:changeSort('fullname')">$lt{'name'}</a></th>       <th><a href="javascript:changeSort('fullname')">$lt{'name'}</a></th>
      <th><a href="javascript:changeSort('username')">$lt{'usnm'}</a></th>       <th><a href="javascript:changeSort('username')">$lt{'usnm'}</a></th>
      <th><a href="javascript:changeSort('domain')">$lt{'doma'}</a></th>       <th><a href="javascript:changeSort('domain')">$lt{'doma'}</a></th>
      <th><a href="javascript:changeSort('id')">ID</a></th>       <th><a href="javascript:changeSort('id')">$lt{'ID'}</a></th>
      <th><a href="javascript:changeSort('start')">$lt{'stda'}</a></th>       <th><a href="javascript:changeSort('start')">$lt{'stda'}</a></th>
      <th><a href="javascript:changeSort('end')">$lt{'enda'}</a></th>       <th><a href="javascript:changeSort('end')">$lt{'enda'}</a></th>
 END  END
Line 2727  END Line 2735  END
         }          }
         $r->print(&Apache::loncommon::end_data_table());          $r->print(&Apache::loncommon::end_data_table());
     } else {      } else {
         $r->print(&mt('There are no active, future or previous group members to modify.'));          $r->print(
               '<p class="LC_info">'
              .&mt('There are no active, future or previous group members to modify.')
              .'</p>');
     }      }
     return $numcurrent;      return $numcurrent;
 }  }
Line 2795  sub change_privs_form { Line 2806  sub change_privs_form {
         }          }
     }      }
     if (!$exp_or_del) {      if (!$exp_or_del) {
         $r->print($lt{'nome'}.'<br />');          $r->print('<p class="LC_info">'.$lt{'nome'}.'</p>');
     }      }
           
     $r->print(&Apache::lonhtmlcommon::topic_bar(4,&mt('Setting optional privileges for specific group members')));      $r->print(&Apache::lonhtmlcommon::topic_bar(4,&mt('Setting optional privileges for specific group members')));
Line 3191  sub write_group_data { Line 3202  sub write_group_data {
         $quota = 0;          $quota = 0;
         $r->print('<div class="LC_warning">'          $r->print('<div class="LC_warning">'
                  .&mt('The value you entered for the quota for the group portfolio in this '.$gpterm                   .&mt('The value you entered for the quota for the group portfolio in this '.$gpterm
                  .' contained invalid characters, so it has been set to 0 Mb. You can change this by'                   .' contained invalid characters, so it has been set to 0 MB. You can change this by'
                  .' modifying the '.$gpterm.' settings.')                   .' modifying the '.$gpterm.' settings.')
                  .'</div>');                   .'</div>');
     }      }
Line 3199  sub write_group_data { Line 3210  sub write_group_data {
         $quota = $maxposs;          $quota = $maxposs;
         $r->print('<div class="LC_warning">'          $r->print('<div class="LC_warning">'
                  .&mt('The value you entered for the quota for the group portfolio in this '.$gpterm                   .&mt('The value you entered for the quota for the group portfolio in this '.$gpterm
                  .' exceeded the maximum possible value, so it has been set to [_1] Mb '                   .' exceeded the maximum possible value, so it has been set to [_1] MB '
                  .'(the maximum possible value).',sprintf("%.2f",$maxposs))                   .'(the maximum possible value).',sprintf("%.2f",$maxposs))
                  .'</div>');                   .'</div>');
     }      }
Line 3358  sub write_group_data { Line 3369  sub write_group_data {
         &Apache::lonnet::logthis("Failed to store $gpterm $groupname ".          &Apache::lonnet::logthis("Failed to store $gpterm $groupname ".
                                  'in '.lc($crstype).': '.$cnum.                                   'in '.lc($crstype).': '.$cnum.
                                  ' in domain: '.$cdom);                                   ' in domain: '.$cdom);
         $r->print('<div class="LC_error">'          $r->print('<p class="LC_error">'
                  .&mt('An error occurred when [_1] the '.$gpterm.'. '                   .&mt('An error occurred when '.$actiontype{$action}.' the '.$gpterm.'. '
                  .'Please try again.',$actiontype{$action})                   .'Please try again.')
                  .'</div>');                   .'</p');
     }      }
     return $result;      return $result;
 }  }
Line 3528  sub process_membership { Line 3539  sub process_membership {
     if ($num_ok) {      if ($num_ok) {
         my $msgall ='';          my $msgall ='';
         foreach my $type (sort(keys(%added))) {          foreach my $type (sort(keys(%added))) {
             my $message = &mt('The following users were successfully [_1]',$type);               my $message;
               my $tmsg = "The following users were successfully $type"; 
             if (!($type eq 'deleted' || $type eq 'expired')) {                 if (!($type eq 'deleted' || $type eq 'expired')) {   
                 $message .= &mt(' with the following privileges');                  $tmsg .= ' with the following privileges';
             }              }
             $message .= ':<br/>';              $message .= &mt($tmsg.':').'<br/>';
             foreach my $user (@{$added{$type}}) {              foreach my $user (@{$added{$type}}) {
                 my $privlist = '';                  my $privlist = '';
                 if (!($type eq 'deleted' ||  $type eq 'expired')) {                  if (!($type eq 'deleted' ||  $type eq 'expired')) {
Line 4033  sub map_updater { Line 4045  sub map_updater {
         $LONCAPA::map::resources[$newidx] = $itemtitle.':'.$newmapurl.          $LONCAPA::map::resources[$newidx] = $itemtitle.':'.$newmapurl.
                                                  ':false:normal:res';                                                   ':false:normal:res';
         $LONCAPA::map::order[1+$#LONCAPA::map::order]=$newidx;          $LONCAPA::map::order[1+$#LONCAPA::map::order]=$newidx;
         my ($outtext,$errtext) = &LONCAPA::map::storemap($parentmap,1);          my ($outtext,$errtext) = &LONCAPA::map::storemap($parentmap,1,1);
         if ($errtext) {          if ($errtext) {
             $outcome = '<div class="LC_error">'              $outcome = '<div class="LC_error">'
                       .&mt('Error saving updated parent folder.')." ($parentmap):  $errtext"                        .&mt('Error saving updated parent folder.')." ($parentmap):  $errtext"
Line 4114  sub create_homepage { Line 4126  sub create_homepage {
     my ($cdom,$cnum,$name,$groupinfo,$tools,$gpterm,$ucgpterm,$now) = @_;      my ($cdom,$cnum,$name,$groupinfo,$tools,$gpterm,$ucgpterm,$now) = @_;
     my $functionality = join(',',@{$tools});      my $functionality = join(',',@{$tools});
     my $content = &unescape($$groupinfo{description});      my $content = &unescape($$groupinfo{description});
     $content=~s/\s+$//s;      chomp($content);
     $content=~s/^\s+//s;      my $gateway = Apache::lonhtmlgateway->new();
     $content=~s/\<br\s*\/*\>$//s;      $content = $gateway->process_incoming_html($content,1);
     $content=&Apache::lonfeedback::clear_out_html($content,1);  
   
     my %pageinfo = (      my %pageinfo = (
                      'aaa_title' => "$ucgpterm: $name",                       'aaa_title' => "$ucgpterm: $name",
Line 4203  sub validate_groupname { Line 4214  sub validate_groupname {
     }      }
     if ($action eq 'create') {       if ($action eq 'create') { 
  if (exists($curr_groups{$groupname})) {   if (exists($curr_groups{$groupname})) {
     return $exitmsg.$lt{'cnnb'}.&mt('an existing [_1]',$gpterm).      return $exitmsg.$lt{'cnnb'}.&mt("an existing $gpterm").
            $lt{'inth'}.'.<br />'.$lt{'grna'};             $lt{'inth'}.'.<br />'.$lt{'grna'};
         } elsif (exists($deleted_groups{$groupname})) {          } elsif (exists($deleted_groups{$groupname})) {
             return $exitmsg.$lt{'cnnb'}.&mt('a [_1] which previously existed',$gpterm).              return $exitmsg.$lt{'cnnb'}.&mt("a $gpterm which previously existed").
                    $lt{'inth'}.'.<br />'.$lt{'grna'};                     $lt{'inth'}.'.<br />'.$lt{'grna'};
         }          }
     } elsif ($action eq 'modify') {      } elsif ($action eq 'modify') {
         unless(exists($curr_groups{$groupname})) {          unless(exists($curr_groups{$groupname})) {
             $earlyout = &mt('[_1] name:',$ucgpterm).' '.$groupname.$lt{'thgr'}.              $earlyout = &mt("$ucgpterm name:").' '.$groupname.$lt{'thgr'}.
                         $lt{'inth'};                          $lt{'inth'};
             return $earlyout;              return $earlyout;
         }          }

Removed from v.1.113  
changed lines
  Added in v.1.124


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