[LON-CAPA-cvs] cvs: loncom /publisher lonpubdir.pm
raeburn
raeburn at source.lon-capa.org
Thu Jul 13 17:41:40 EDT 2023
raeburn Thu Jul 13 21:41:40 2023 EDT
Modified files:
/loncom/publisher lonpubdir.pm
Log:
- Actions available in "Create a new subdirectory or document" box for
Course Authoring Space are: New file, New HTML file, New problem,
New subdirectory
- Editing of default.rights file at top level of Course Authoring Space
disabled.
-------------- next part --------------
Index: loncom/publisher/lonpubdir.pm
diff -u loncom/publisher/lonpubdir.pm:1.178 loncom/publisher/lonpubdir.pm:1.179
--- loncom/publisher/lonpubdir.pm:1.178 Sun Jun 11 20:45:40 2023
+++ loncom/publisher/lonpubdir.pm Thu Jul 13 21:41:40 2023
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Authoring Space Directory Lister
#
-# $Id: lonpubdir.pm,v 1.178 2023/06/11 20:45:40 raeburn Exp $
+# $Id: lonpubdir.pm,v 1.179 2023/07/13 21:41:40 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -128,7 +128,7 @@
}
# Put out actions for directory, browse/upload + new file page.
- &dircontrols($r,$uname,$udom,$thisdisfn, $current_disk_usage, $disk_quota);
+ &dircontrols($r,$uname,$udom,$thisdisfn,$current_disk_usage,$disk_quota,$crsauthor);
&resourceactions($r,$uname,$udom,$thisdisfn); # Put out form used for printing/deletion etc.
my $numdir = 0;
@@ -247,8 +247,13 @@
if (!($cmode&$dirptr)) {
($status, $pubstatus) = &getStatus($resdir, $targetdir, $cstr_dir,
$filename, $linkfilename, $cmtime, $meta_same);
- ($fulltitle, $title) = &getTitle($resdir, $targetdir, $filename,
- $linkfilename, $meta_same, \%bombs);
+ if (($crsauthor) && ($extension eq 'rights')) {
+ $title = &getTitleString($targetdir.'/'.$filename);
+ $fulltitle = $title;
+ } else {
+ ($fulltitle, $title) = &getTitle($resdir, $targetdir, $filename,
+ $linkfilename, $meta_same, \%bombs);
+ }
} else {
($status, $pubstatus) = ('','');
($fulltitle, $title) = ('','');
@@ -317,7 +322,8 @@
$targetdir, \%bombs, \$numdir);
} else { # Files
&putresource($r, $udom, $uname, $filename, $thisdisfn, $resdir,
- $targetdir, $linkdir, $filehash->{$filename}->{"cmtime"},
+ $targetdir, $linkdir, $crsauthor,
+ $filehash->{$filename}->{"cmtime"},
$filehash->{$filename}->{"size"}, \$numres,
$filehash->{$filename}->{"linkfilename"},
$filehash->{$filename}->{"fulltitle"},
@@ -391,12 +397,16 @@
$disk_quota = 1024 * $disk_quota; # convert from MB to kB
+ my $headertext = &mt('Directory');
+ if ($crsauthor) {
+ $headertext = &mt('Course Authoring Directory');
+ }
$r->print(&Apache::loncommon::head_subbox(
'<div style="float:right;padding-top:0;margin-top;0">'
.&Apache::lonhtmlcommon::display_usage($current_disk_usage,
$disk_quota,'authoring')
.'</div>'
- .&Apache::loncommon::CSTR_pageheader('','',&mt('Directory'))));
+ .&Apache::loncommon::CSTR_pageheader('','',$headertext)));
my $esc_thisdisfn = &Apache::loncommon::escape_single($thisdisfn);
my $doctitle = 'LON-CAPA '.&mt($title);
@@ -493,7 +503,7 @@
}
sub dircontrols {
- my ($r,$uname,$udom,$thisdisfn, $current_disk_usage, $disk_quota) = @_;
+ my ($r,$uname,$udom,$thisdisfn,$current_disk_usage,$disk_quota,$crsauthor) = @_;
my %lt=&Apache::lonlocal::texthash(
cnpd => 'Cannot publish directory',
cnrd => 'Cannot retrieve directory',
@@ -552,6 +562,32 @@
</fieldset>
</div>
END
+ my %fileoptions = (
+ none => "$lt{'sela'}:",
+ newfile => "$lt{'nfil'}:",
+ newhtmlfile => "$lt{'nhtm'}:",
+ newproblemfile => "$lt{'nprb'}:",
+ newdir => "$lt{'nsub'}:",
+ );
+ $fileoptions{'select_form_order'} = ['none','newfile','newhtmlfile','newproblemfile'];
+ if ($crsauthor) {
+ push(@{$fileoptions{'select_form_order'}},'newdir');
+ } else {
+ my %extraoptions = (
+ newpagefile => "$lt{'npag'}:",
+ newsequencefile => "$lt{'nseq'}:",
+ newrightsfile => "$lt{'ncrf'}:",
+ newstyfile => "$lt{'nsty'}:",
+ newtaskfile => "$lt{'nbt'}:",
+ newlibraryfile => "$lt{'nlib'}:",
+ );
+ %fileoptions = (%fileoptions,%extraoptions);
+ push(@{$fileoptions{'select_form_order'}},('newpagefile','newsequencefile',
+ 'newrightsfile','newstyfile',
+ 'newtaskfile','newlibraryfile',
+ 'newdir'));
+ }
+ my $selectbox = &Apache::loncommon::select_form('none','action',\%fileoptions);
$r->print(<<END);
<div style="padding-bottom: 2px">
<form name="upublisher" enctype="multipart/form-data" method="post" action="/adm/upload">
@@ -581,19 +617,7 @@
}
}
</script>
- <select name="action">
- <option value="none">$lt{'sela'}</option>
- <option value="newfile">$lt{'nfil'}:</option>
- <option value="newhtmlfile">$lt{'nhtm'}:</option>
- <option value="newproblemfile">$lt{'nprb'}:</option>
- <option value="newpagefile">$lt{'npag'}:</option>
- <option value="newsequencefile">$lt{'nseq'}:</option>
- <option value="newrightsfile">$lt{'ncrf'}:</option>
- <option value="newstyfile">$lt{'nsty'}:</option>
- <option value="newtaskfile">$lt{'nbt'}:</option>
- <option value="newlibraryfile">$lt{'nlib'}:</option>
- <option value="newdir">$lt{'nsub'}:</option>
- </select> <input type="text" id="newnameid" name="newfilename" placeholder="$lt{'type'}" value="" onfocus="if (this.value == is.empty()) this.value=''" /> <input type="button" value="Go" onclick="validate_go();" />
+ $selectbox <input type="text" id="newnameid" name="newfilename" placeholder="$lt{'type'}" value="" onfocus="if (this.value == is.empty()) this.value=''" /> <input type="button" value="Go" onclick="validate_go();" />
<br />
<span>$lt{'shcu'}:
<input type="hidden" name="mode"/>
@@ -827,7 +851,7 @@
sub getStatus {
my ($resdir, $targetdir, $cstr_dir, $filename,
- $linkfilename, $cmtime, $meta_same) = @_;
+ $linkfilename, $crsauthor, $cmtime, $meta_same) = @_;
my $pubstatus = 'unpublished';
my $status = &mt('Unpublished');
@@ -853,7 +877,9 @@
);
$rights_status .=
$lt_SourceRight{&getSourceRightString($targetdir.'/'.$filename)};
-
+ if (($crsauthor) && ($filename =~ /\.rights$/)) {
+ $rights_status =~ s/,\s+$//;
+ }
if ($same) {
if (&Apache::lonnet::metadata($targetdir.'/'.$filename,'obsolete')) {
$pubstatus = 'obsolete';
@@ -871,17 +897,21 @@
$pubstatus = 'modified';
$status=&mt('Modified').
'<br />'. $rights_status;
- if (&Apache::loncommon::fileembstyle(($filename=~/\.(\w+)$/)) eq 'ssi') {
- $status.='<br />'.
- &Apache::loncommon::modal_link(
- '/adm/diff?filename='.$linkfilename.'&versiontwo=priv',
- &mt('Diffs'),600,500);
+ unless (($crsauthor) && ($filename =~ /\.rights$/)) {
+ if (&Apache::loncommon::fileembstyle(($filename=~/\.(\w+)$/)) eq 'ssi') {
+ $status.='<br />'.
+ &Apache::loncommon::modal_link(
+ '/adm/diff?filename='.$linkfilename.'&versiontwo=priv',
+ &mt('Diffs'),600,500);
+ }
}
- }
+ }
- $status.="\n".'<br />'.
- &Apache::loncommon::modal_link(
- '/adm/retrieve?filename='.$linkfilename.'&inhibitmenu=yes&add_modal=yes',&mt('Retrieve'),600,500);
+ unless (($crsauthor) && ($filename =~ /\.rights$/)) {
+ $status.="\n".'<br />'.
+ &Apache::loncommon::modal_link(
+ '/adm/retrieve?filename='.$linkfilename.'&inhibitmenu=yes&add_modal=yes',&mt('Retrieve'),600,500);
+ }
}
return ($status, $pubstatus);
@@ -892,9 +922,9 @@
# Put a table row for a file resource.
#
sub putresource {
- my ($r, $udom, $uname, $filename, $thisdisfn, $resdir, $targetdir,
- $linkdir, $cmtime, $size, $numres, $linkfilename, $title,
- $status, $pubstatus) = @_;
+ my ($r, $udom, $uname, $filename, $thisdisfn, $resdir,
+ $targetdir, $linkdir, $crsauthor, $cmtime, $size,
+ $numres, $linkfilename, $title, $status, $pubstatus) = @_;
&Apache::lonnet::devalidate_cache_new('meta',$targetdir.'/'.$filename);
my $editlink='';
@@ -920,7 +950,9 @@
}
my $publish_button = (-e $resdir.'/'.$filename) ? &mt('Re-publish') : &mt('Publish');
my $pub_select = '';
- &create_pubselect($r,\$pub_select,$udom,$uname,$thisdisfn,$filename,$resdir,$pubstatus,$publish_button,$numres);
+ unless (($crsauthor) && ($filename=~ /\.rights$/)) {
+ &create_pubselect($r,\$pub_select,$udom,$uname,$thisdisfn,$filename,$resdir,$pubstatus,$publish_button,$numres);
+ }
$r->print(&Apache::loncommon::start_data_table_row().
'<td>'.($filename=~/[\#\~]$/?' ':
'<img src="'.&Apache::loncommon::icon($filename).'" alt="" />').'</td>'.
More information about the LON-CAPA-cvs
mailing list