[LON-CAPA-cvs] cvs: loncom /interface portfolio.pm
banghart
lon-capa-cvs@mail.lon-capa.org
Sat, 12 Aug 2006 22:41:54 -0000
banghart Sat Aug 12 18:41:54 2006 EDT
Modified files:
/loncom/interface portfolio.pm
Log:
Now shows graded and handback and gives info about it.
Undo breaking apart of strings submitted to &mt
Index: loncom/interface/portfolio.pm
diff -u loncom/interface/portfolio.pm:1.154 loncom/interface/portfolio.pm:1.155
--- loncom/interface/portfolio.pm:1.154 Sat Aug 12 02:18:44 2006
+++ loncom/interface/portfolio.pm Sat Aug 12 18:41:53 2006
@@ -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 @@
# my ($filename,$dom,undef,$testdir,undef,undef,undef,undef,$size,undef,$mtime,undef,undef,undef,$obs,undef)=split(/\&/,$line,16);
$r->print('<tr class="'.$css_class.'">');
$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('<td><img alt="" src="'.&Apache::loncommon::icon($filename).'" /></td>');
$r->print('<td>'.$$version_flag{$filename}.'</td>');
} 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('<td colspan="2">'.$lock_info.'</td>');
+ if ($lock_info) {
+ my %anchor_fields = (
+ 'lockinfo' => '/'.$filename
+ );
+ $lock_info = &make_anchor(undef,\%anchor_fields,$lock_info);
+ }
+ $r->print('<td colspan="2">'.$lock_info.'</td>');
}
# $r->print('<td>'.$$version_flag{$filename}.'</td><td>');
$r->print('<td>'.&make_anchor($href_location.$filename,undef,$filename).'</td>');
@@ -645,15 +642,11 @@
my %access_controls = &Apache::lonnet::get_access_controls($current_permissions,$group,$file_name);
my $aclcount = keys(%access_controls);
my $header = '<h3>'.&mt('Allowing others to retrieve file: [_1]',$port_path.$env{'form.currentpath'}.$env{'form.access'}).'</h3>';
- 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 .= '<br /><ul><li>'.&mt('Public files are available to anyone without the need for login.');
- $info .= '</li><li>'.&mt('Passphrase-protected files do not require log-in, but will require ');
- $info .= &mt('the viewer to enter the passphrase you set.');
- $info .= '</li><li>'.&mt('Conditional files are accessible to logged-in users with accounts ');
- $info .= &mt('in the LON-CAPA network, who satisfy the conditions you set.').'<br />';
- $info .= &mt('The conditions can include affiliation with a particular course or group, ');
- $info .= &mt('or a user account in a specific domain.').'<br />';
+ $info .= '</li><li>'.&mt('Passphrase-protected files do not require log-in, but will require the viewer to enter the passphrase you set.');
+ $info .= '</li><li>'.&mt('Conditional files are accessible to logged-in users with accounts in the LON-CAPA network, who satisfy the conditions you set.').'<br />';
+ $info .= &mt('The conditions can include affiliation with a particular course or group, or a user account in a specific domain.').'<br />';
$info .= &mt('Alternatively access can be granted to people with specific LON-CAPA usernames and domains.').'</li></ul>';
if ($group eq '') {
$info .= (&mt("Direct others to the 'Display file listing' link (shown when there are viewable files) on your personal information page:<br /><a href='/adm/$udom/$uname/aboutme'>http://$ENV{'SERVER_NAME'}/adm/$udom/$uname/aboutme</a>"));
@@ -1624,13 +1617,24 @@
} else {
$filetext = '<strong>'.$file_name.'</strong>';
}
- $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).
'<strong>'.&Apache::lonnet::gettitle($$array_item[0]).
'</strong><br />');
- my %course_description = &Apache::lonnet::coursedescription($$array_item[1]);
- $r->print(&mt('In the course: <strong>[_1]</strong><br />',
+ my %course_description = &Apache::lonnet::coursedescription($$array_item[1]);
+ $r->print(&mt('In the course: <strong>[_1]</strong><br />',
$course_description{'description'}));
+ } elsif ($$array_item[(@$array_item - 1)] eq 'handback') {
+ $r->print(&mt('[_1] was handed back in response to problem: ',
+ $filetext).
+ '<strong>'.&Apache::lonnet::gettitle($$array_item[0]).
+ '</strong><br />');
+ my %course_description = &Apache::lonnet::coursedescription($$array_item[1]);
+ $r->print(&mt('In the course: <strong>[_1]</strong><br />',
+ $course_description{'description'}));
+
+ }
# $r->print('the third is '.$$array_item[2].'<br>');
# $r->print("item is $$array_item[0]<br> and $$array_item[0]");
}