--- loncom/interface/portfolio.pm 2006/08/12 06:18:44 1.154 +++ loncom/interface/portfolio.pm 2006/08/12 22:41:53 1.155 @@ -1,7 +1,7 @@ # The LearningOnline Network # portfolio browser # -# $Id: portfolio.pm,v 1.154 2006/08/12 06:18:44 banghart Exp $ +# $Id: portfolio.pm,v 1.155 2006/08/12 22:41:53 banghart Exp $ # # Copyright Michigan State University Board of Trustees # @@ -170,36 +170,33 @@ sub display_directory_line { # my ($filename,$dom,undef,$testdir,undef,undef,undef,undef,$size,undef,$mtime,undef,undef,undef,$obs,undef)=split(/\&/,$line,16); $r->print(''); $r->print($line); # contains first two cells of table + $filename = $filename; + $filename = &prepend_group($filename); + my $lock_info; if ($$version_flag{$filename}) { # versioned can't be versioned, so TRUE when root file $r->print(''); $r->print(''.$$version_flag{$filename}.''); } else { # this is a graded or handed back file my ($user,$domain) = &get_name_dom(); my $permissions_hash = &Apache::lonnet::get_portfile_permissions($domain,$user); - my $lock_info; - foreach my $key (keys(%$permissions_hash)) { - $key =~ s|^/||; - if ($key =~ /$filename/) { - &Apache::lonnet::logthis("filename match"); - my $value = $$permissions_hash{$key}; - if (ref($value) eq 'ARRAY') { - my $info = pop(@$value); - my $info2 = pop(@$info); - &Apache::lonnet::logthis("the info2 is $info2"); - $lock_info = $info2; - #foreach my $key2(keys(%hash)){ - # &Apache::lonnet::logthis("a key2 is $key2"); - #} - foreach my $value_element (@$value) { - #&Apache::lonnet::logthis("and the array element is $value_element"); - foreach my $sub_value (@$value_element) { - #&Apache::lonnet::logthis("subvalue is $sub_value"); - } + if (defined($filename) && defined($$permissions_hash{'/'.$filename})) { + foreach my $array_item (@{$$permissions_hash{'/'.$filename}}) { + if (ref($array_item) eq 'ARRAY') { + if ($$array_item[(@$array_item - 1)] eq 'handback') { + $lock_info = 'Handback'; + } elsif ($$array_item[(@$array_item - 1)] eq 'graded') { + $lock_info = 'Graded'; } - } + } } } - $r->print(''.$lock_info.''); + if ($lock_info) { + my %anchor_fields = ( + 'lockinfo' => '/'.$filename + ); + $lock_info = &make_anchor(undef,\%anchor_fields,$lock_info); + } + $r->print(''.$lock_info.''); } # $r->print(''.$$version_flag{$filename}.''); $r->print(''.&make_anchor($href_location.$filename,undef,$filename).''); @@ -645,15 +642,11 @@ sub display_access { my %access_controls = &Apache::lonnet::get_access_controls($current_permissions,$group,$file_name); my $aclcount = keys(%access_controls); my $header = '

'.&mt('Allowing others to retrieve file: [_1]',$port_path.$env{'form.currentpath'}.$env{'form.access'}).'

'; - my $info .= &mt('Access to this file by others can be set to be one or '); - $info .= &mt('more of the following types: public, passphrase-protected or conditional.'); + my $info .= &mt('Access to this file by others can be set to be one or more of the following types: public, passphrase-protected or conditional.'); $info .= '
'; if ($group eq '') { $info .= (&mt("Direct others to the 'Display file listing' link (shown when there are viewable files) on your personal information page:
http://$ENV{'SERVER_NAME'}/adm/$udom/$uname/aboutme")); @@ -1624,13 +1617,24 @@ sub lock_info { } else { $filetext = ''.$file_name.''; } - $r->print(&mt('[_1] was submitted in response to problem: ', + if ($$array_item[(@$array_item - 1)] eq 'graded') { + $r->print(&mt('[_1] was submitted in response to problem: ', $filetext). ''.&Apache::lonnet::gettitle($$array_item[0]). '
'); - my %course_description = &Apache::lonnet::coursedescription($$array_item[1]); - $r->print(&mt('In the course: [_1]
', + my %course_description = &Apache::lonnet::coursedescription($$array_item[1]); + $r->print(&mt('In the course: [_1]
', $course_description{'description'})); + } elsif ($$array_item[(@$array_item - 1)] eq 'handback') { + $r->print(&mt('[_1] was handed back in response to problem: ', + $filetext). + ''.&Apache::lonnet::gettitle($$array_item[0]). + '
'); + my %course_description = &Apache::lonnet::coursedescription($$array_item[1]); + $r->print(&mt('In the course: [_1]
', + $course_description{'description'})); + + } # $r->print('the third is '.$$array_item[2].'
'); # $r->print("item is $$array_item[0]
and $$array_item[0]"); }