--- loncom/interface/lonmeta.pm 2005/12/15 22:18:57 1.139
+++ loncom/interface/lonmeta.pm 2005/12/19 20:07:13 1.141
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Metadata display handler
#
-# $Id: lonmeta.pm,v 1.139 2005/12/15 22:18:57 banghart Exp $
+# $Id: lonmeta.pm,v 1.141 2005/12/19 20:07:13 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -290,6 +290,40 @@ sub fieldnames {
return &Apache::lonlocal::texthash(%fields);
}
+sub portfolio_display_uri {
+ my ($uri)=@_;
+ $uri =~ s|.*/portfolio(/.*)$|$1|;
+ my ($res_uri,$meta_uri) = ($uri,$uri);
+
+ if ($uri =~ /\.meta$/) {
+ $res_uri =~ s/\.meta//;
+ } else {
+ $meta_uri .= '.meta';
+ }
+ return ($res_uri,$meta_uri);
+}
+
+sub pre_select_course {
+ my ($r,$uri) = @_;
+ my $output;
+ my $fn=&Apache::lonnet::filelocation('',$uri);
+ my ($res_uri,$meta_uri) = &portfolio_display_uri($uri);
+ %Apache::lonpublisher::metadatafields=();
+ %Apache::lonpublisher::metadatakeys=();
+ my $result=&Apache::lonnet::getfile($fn);
+ if ($result == -1){
+ $r->print(&mt('Creating new file [_1]'),$meta_uri);
+ } else {
+ &Apache::lonpublisher::metaeval($result);
+ }
+ $r->print('
');
+ return;
+}
sub select_course {
my %courses;
my $output;
@@ -303,6 +337,7 @@ sub select_course {
$courses{$coursekey} = $value;
}
}
+ &Apache::lonnet::logthis('the restricted is'.$Apache::lonpublisher::metadatafields{'courserestricted'});
my $meta_not_found = 1;
if ($Apache::lonpublisher::metadatafields{'courserestricted'} eq 'none') {
$selected = ' SELECTED ';
@@ -648,11 +683,15 @@ sub handler {
# Looking for all bombs?
&report_bombs($r,$uri);
} elsif ($uri=~/\/portfolio\//) {
- ($resdomain,$resuser)=
+ ($resdomain,$resuser)=
(&Apache::lonnet::declutter($uri)=~m|^(\w+)/(\w+)/portfolio|);
$r->print(&Apache::loncommon::bodytag
('Edit Portfolio File Information','','','',$resdomain));
- &present_editable_metadata($r,$uri,'portfolio');
+ if ($env{'form.store'}) {
+ &present_editable_metadata($r,$uri,'portfolio');
+ } else {
+ &pre_select_course($r,$uri);
+ }
} elsif ($uri=~/^\/\~/) {
# Construction space
$r->print(&Apache::loncommon::bodytag
@@ -1004,7 +1043,10 @@ sub present_editable_metadata {
my $fn=&Apache::lonnet::filelocation('',$uri);
$disuri=~s/^\/\~/\/priv\//;
$disuri=~s/\.meta$//;
- $disuri=~s|^/editupload||;
+ my $meta_uri = $disuri;
+ if ($disuri =~ m|/portfolio/|) {
+ ($disuri, $meta_uri) = &portfolio_display_uri($disuri);
+ }
my $target=$uri;
$target=~s/^\/\~/\/res\/$env{'request.role.domain'}\//;
$target=~s/\.meta$//;
@@ -1058,7 +1100,7 @@ ENDDEL
%Apache::lonpublisher::metadatakeys=();
my $result=&Apache::lonnet::getfile($fn);
if ($result == -1){
- $r->print('Creating new '.$disuri);
+ $r->print(&mt('Creating new file [_1]'),$meta_uri);
} else {
&Apache::lonpublisher::metaeval($result);
}
@@ -1074,7 +1116,7 @@ ENDEDIT
my @fields;
if ($file_type eq 'portfolio') {
@fields = ('author','title','subject','keywords','abstract','notes','lowestgradelevel',
- 'highestgradelevel','standards','courserestricted');
+ 'highestgradelevel','standards');
} else {
@fields = ('author','title','subject','keywords','abstract','notes',
'copyright','customdistributionfile','language',
@@ -1095,10 +1137,10 @@ ENDEDIT
'default';
}
if ($Apache::lonpublisher::metadatafields{'courserestricted'} ne 'none') {
- $r->print('Using: '.$env{$Apache::lonpublisher::metadatafields{'courserestricted'}.".description"}.
- " metadata framework
");
+ $r->print(&mt('Associated with course [_1]',''.$env{$Apache::lonpublisher::metadatafields{'courserestricted'}.".description"}.
+ '').'
');
} else {
- $r->print("This resource is not associated with a metadata framework
");
+ $r->print("This resource is not associated with a course.
");
}
foreach my $field_name(@fields) {