--- loncom/interface/portfolio.pm 2014/12/07 19:45:19 1.255
+++ loncom/interface/portfolio.pm 2024/09/07 01:07:21 1.269
@@ -1,7 +1,7 @@
# The LearningOnline Network
# portfolio browser
#
-# $Id: portfolio.pm,v 1.255 2014/12/07 19:45:19 raeburn Exp $
+# $Id: portfolio.pm,v 1.269 2024/09/07 01:07:21 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -112,13 +112,17 @@ sub display_common {
END
}
+ # Find space available before uploading
+ my $free_space = &free_space($group);
+
# Upload File
$r->print('
'
- .&Apache::lonhtmlcommon::display_usage($current_disk_usage,$disk_quota)
+ .&Apache::lonhtmlcommon::display_usage($current_disk_usage,
+ $disk_quota,'portfolio')
.'
');
}
@@ -262,13 +267,16 @@ sub display_directory_line {
sub display_directory {
my ($r,$url,$current_path,$is_empty,$dir_list,$group,$can_upload,
- $can_modify,$can_delete,$can_setacl)=@_;
+ $can_modify,$can_delete,$can_setacl,$can_viewacl)=@_;
my $iconpath= $r->dir_config('lonIconsURL') . "/";
my $select_mode;
my $checked_files;
my $port_path = &get_port_path();
my ($uname,$udom) = &get_name_dom($group);
- my $access_admin_text = &mt('View Status');
+ my $access_admin_text;
+ if ($can_viewacl) {
+ $access_admin_text = &mt('View Status');
+ }
if ($can_setacl) {
$access_admin_text = &mt('View/Change Status');
}
@@ -306,6 +314,18 @@ sub display_directory {
&mt('Using the portfolio file list'))
.''
);
+ my ($acl_helpfile,$acl_helplink);
+ if ($can_setacl) {
+ $acl_helpfile = 'Portfolio ShareFile';
+ } elsif ($caller eq 'coursegrp_portfolio') {
+ $acl_helpfile = 'Portfolio ShareFile Group';
+ }
+ unless ($can_setacl || $can_viewacl) {
+ $acl_helpfile = 'Portfolio ShareFile Off';
+ }
+ if ($acl_helpfile) {
+ $acl_helplink = &Apache::loncommon::help_open_topic($acl_helpfile);
+ }
$r->print(&Apache::loncommon::start_data_table()
.&Apache::loncommon::start_data_table_header_row()
.'');
&access_element($r,'course',$acl_count,$courses,$access_controls,$now,$then);
$r->print(' | | ');
- &access_element($r,'ip',$acl_count,$ips,$access_controls,$now,$then);
+ &access_element($r,'userip',$acl_count,$ips,$access_controls,$now,$then);
$r->print(' |
');
}
@@ -1494,7 +1525,7 @@ sub access_element {
domains => 'Domain',
users => 'User',
course => 'Course/Community',
- ip => 'IP',
+ userip => 'IP',
);
$r->print(''.&mt($typetext{$type}.'-based conditional access:').' ');
if ($$acl_count{$type}) {
@@ -1519,7 +1550,7 @@ sub display_access_row {
} elsif ($type eq 'users') {
$showtype = &mt('Users');
$infotype = 'User';
- } elsif ($type eq 'ip') {
+ } elsif ($type eq 'userip') {
$showtype = &mt('IP-based');
$infotype = 'IP';
}
@@ -1547,7 +1578,7 @@ sub display_access_row {
$then);
} elsif ($type eq 'users') {
&users_row($r,$status,$key,$access_controls,$now,$then);
- } elsif ($type eq 'ip') {
+ } elsif ($type eq 'userip') {
&ips_row($r,$status,$key,$access_controls,$now,$then);
}
$r->print(&Apache::loncommon::end_data_table_row());
@@ -1730,11 +1761,11 @@ sub users_row {
sub ips_row {
my ($r,$status,$item,$access_controls,$now,$then) = @_;
my ($num,$scope,$end,$start) = &set_identifiers($status,$item,$now,$then,
- 'ip');
+ 'userip');
my $curr_ips_list;
if ($status eq 'old') {
my $content = $$access_controls{$item};
- $curr_ips_list = &sort_ips($content->{'ip'});
+ $curr_ips_list = &sort_ips($content->{'userip'});
}
$r->print(''.&actionbox($status,$num,$scope).' | '.&mt('Format for IP controls').' '.
&mt('[_1] or [_2] or [_3] or [_4] or [_5]','35.8.*','35.8.3.[34-56]',
@@ -1753,7 +1784,7 @@ sub additional_item {
$showtype = 'domain';
} elsif ($type eq 'users') {
$showtype = 'user';
- } elsif ($type eq 'ip') {
+ } elsif ($type eq 'userip') {
$showtype = 'IP';
}
return
@@ -1767,7 +1798,7 @@ sub actionbox {
my $output = ' |