Diff for /loncom/interface/loncoursegroups.pm between versions 1.119 and 1.126

version 1.119, 2013/08/29 22:24:32 version 1.126, 2014/06/18 16:34:39
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 811  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 830  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 repository quota to 0 MB.\nThis will prevent any upload of files.\nPlease set a value or disable the repository feature.");
             return;              return;
         }          }
     }       } 
Line 1756  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 2069  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 2548  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 2609  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 2733  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 2801  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 3197  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 3205  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 3364  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 3498  sub process_membership { Line 3503  sub process_membership {
                 if (grep/^$user$/,@reenable) {                  if (grep/^$user$/,@reenable) {
                     $start = $startdate;                      $start = $startdate;
                     $end = $enddate;                      $end = $enddate;
                     $type = 'reenabled';                      $type = 're-enabled';
                 }                  }
             }              }
             if ($type eq '') {              if ($type eq '') {
Line 3534  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 $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 4120  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 4183  sub validate_groupname { Line 4188  sub validate_groupname {
     }      }
     my %lt = &Apache::lonlocal::texthash (      my %lt = &Apache::lonlocal::texthash (
                       igna => "Invalid $gpterm name",                        igna => "Invalid $gpterm name",
                       tgne => "The $gpterm name entered ",  
                       grna => "$ucgpterm names and section names used in a ".                        grna => "$ucgpterm names and section names used in a ".
                                "$crstype must be unique.",                                 "$crstype must be unique.",
                       isno => "is not a valid name.",  
                       gnmo => "$ucgpterm names may only contain letters, ".                         gnmo => "$ucgpterm names may only contain letters, ". 
                               "numbers or underscores.",                                "numbers or underscores.",
                       cnnb => "can not be used as it is the name of ",  
                       inth => " in this $crstype",   
                       thgr => "- does not correspond to the name of an ".  
                               "existing $gpterm",      
     );      );
   
     my $exitmsg = '<span class="LC_error">'.$lt{'igna'}.'</span><br /><br />'.      my $exitmsg = '<span class="LC_error">'.$lt{'igna'}.'</span><br /><br />';
  $lt{'tgne'}.' "'.$groupname.'" ';      my $nameshown = &Apache::loncommon::cleanup_html($groupname);
     my $dupmsg = $lt{'grna'};  
     my $earlyout;  
     if (($groupname eq '') || ($groupname =~ /\W/)) {      if (($groupname eq '') || ($groupname =~ /\W/)) {
         $earlyout = $exitmsg.$lt{'isno'}.'<br />'.$lt{'gnmo'};          return $exitmsg.
         return $earlyout;                 &mt("The $gpterm name entered '[_1]' is not a valid name.",$nameshown).
                  '<br />'.$lt{'gnmo'};
       } elsif ($groupname eq 'syllabus') {
           return $exitmsg.
                  &mt("The $gpterm name entered '[_1]' is reserved for use by LON-CAPA.",$nameshown);
     }      }
     if (exists($sectioncount{$groupname})) {      if (exists($sectioncount{$groupname})) {
  return $exitmsg.$lt{'cnnb'}.&mt('a section').$lt{'inth'}.   return  $exitmsg.
     '<br />'.$lt{'grna'};                  &mt("The $gpterm name entered '[_1]' can not be used as it is the name of a section in this $crstype.",$nameshown).
           '<br />'.$lt{'grna'};
     }      }
     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 $gpterm").      return $exitmsg.
            $lt{'inth'}.'.<br />'.$lt{'grna'};                     &mt("The $gpterm name entered '[_1]' can not be used as it is the name of an existing $gpterm in this $crstype.",$nameshown).
                     '<br />'.$lt{'grna'};
         } elsif (exists($deleted_groups{$groupname})) {          } elsif (exists($deleted_groups{$groupname})) {
             return $exitmsg.$lt{'cnnb'}.&mt("a $gpterm which previously existed").              return $exitmsg.
                    $lt{'inth'}.'.<br />'.$lt{'grna'};                     &mt("The $gpterm name entered '[_1]' can not be used as it is the name of a $gpterm which previously existed in this $crstype.",$nameshown).
                      '<br />'.$lt{'grna'};
         }          }
     } elsif ($action eq 'modify') {      } elsif ($action eq 'modify') {
         unless(exists($curr_groups{$groupname})) {          unless(exists($curr_groups{$groupname})) {
             $earlyout = &mt("$ucgpterm name:").' '.$groupname.$lt{'thgr'}.              return &mt("$ucgpterm name: [_1] does not correspond to the name of an existing $gpterm in this $crstype.",$nameshown);
                         $lt{'inth'};  
             return $earlyout;  
         }          }
     }      }
     return;      return;

Removed from v.1.119  
changed lines
  Added in v.1.126


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