[LON-CAPA-cvs] cvs: loncom /interface slotrequest.pm
raeburn
raeburn@source.lon-capa.org
Sat, 31 Oct 2009 05:39:25 -0000
This is a MIME encoded message
--raeburn1256967565
Content-Type: text/plain
raeburn Sat Oct 31 05:39:25 2009 EDT
Modified files:
/loncom/interface slotrequest.pm
Log:
- Accommodate Communities
- (S)student(s) -> (M)member(s)
(C)course -> (C)community
--raeburn1256967565
Content-Type: text/plain
Content-Disposition: attachment; filename="raeburn-20091031053925.txt"
Index: loncom/interface/slotrequest.pm
diff -u loncom/interface/slotrequest.pm:1.104 loncom/interface/slotrequest.pm:1.105
--- loncom/interface/slotrequest.pm:1.104 Thu Oct 15 23:53:46 2009
+++ loncom/interface/slotrequest.pm Sat Oct 31 05:39:25 2009
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler for requesting to have slots added to a students record
#
-# $Id: slotrequest.pm,v 1.104 2009/10/15 23:53:46 raeburn Exp $
+# $Id: slotrequest.pm,v 1.105 2009/10/31 05:39:25 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1026,6 +1026,7 @@
my ($r,$mgr)=@_;
my ($cnum,$cdom)=&get_course();
+ my $crstype=&Apache::loncommon::course_type($cdom.'_'.$cnum);
my %slots=&Apache::lonnet::dump('slots',$cdom,$cnum);
if ( (keys(%slots))[0] =~ /^error: 2 /) {
undef(%slots);
@@ -1085,6 +1086,10 @@
'uniqueperiod' => 'Period of time slot is unique',
'scheduled' => 'Scheduled Students',
'proctor' => 'List of proctors');
+ if ($crstype eq 'Community') {
+ $show_fields{'startreserve'} = &mt('Time members can start reserving');
+ $show_fields{'scheduled'} = &mt('Scheduled Members');
+ }
my @show_order=('name','description','type','starttime','endtime',
'startreserve','secret','space','ip','symb',
'allowedsections','allowedusers','uniqueperiod',
@@ -1429,7 +1434,7 @@
}
sub manage_reservations {
- my ($r,$type) = @_;
+ my ($r,$crstype) = @_;
my $navmap = Apache::lonnavmaps::navmap->new();
$r->print('<p>'
.&mt('Instructors may use a reservation system to place restrictions on when and where assignments can be worked on.')
@@ -1438,10 +1443,14 @@
.'</p>'
);
if (!defined($navmap)) {
- $r->print('<div class="LC_error">'.
- &mt('Unable to retrieve information about course contents').
- '</div>');
- &Apache::lonnet::logthis('Manage Reservations - could not create navmap object in '.lc($type).':'.$env{'request.course.id'});
+ $r->print('<div class="LC_error">');
+ if ($crstype eq 'Community') {
+ $r->print(&mt('Unable to retrieve information about community contents'));
+ } else {
+ $r->print(&mt('Unable to retrieve information about course contents'));
+ }
+ $r->print('</div>');
+ &Apache::lonnet::logthis('Manage Reservations - could not create navmap object in '.lc($crstype).':'.$env{'request.course.id'});
return;
}
my (%parent,%shownparent,%container,%container_title,%contents);
@@ -1599,7 +1608,13 @@
$r->print('</table>');
}
if (!$reservable) {
- $r->print('<span class="LC_info">'.&mt('No course items currently require a reservation to gain access.').'</span>');
+ $r->print('<span class="LC_info">');
+ if ($crstype eq 'Community') {
+ $r->print(&mt('No community items currently require a reservation to gain access.'));
+ } else {
+ $r->print(&mt('No course items currently require a reservation to gain access.'));
+ }
+ $r->print('</span>');
}
$r->print('<p><a href="/adm/slotrequest?command=showresv">'.
&mt('Reservation History').'</a></p>');
@@ -1632,12 +1647,21 @@
my $formname = 'slotlog';
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
+ my $crstype = &Apache::loncommon::course_type();
my %log=&Apache::lonnet::dump('nohist_'.$cdom.'_'.$cnum.'_slotlog',$udom,$uname);
if ($env{'form.origin'} eq 'aboutme') {
- $r->print('<div class="LC_fontsize_large">'.
- &mt('History of student-reservable slots for: [_1]',
- &Apache::loncommon::plainname($env{'form.uname'},$env{'form.udom'},
- 'firstname')).'</div>');
+ $r->print('<div class="LC_fontsize_large">');
+ my $name = &Apache::loncommon::plainname($env{'form.uname'},$env{'form.udom'},
+ 'firstname');
+ if ($crstype eq 'Community') {
+ $r->print(&mt('History of member-reservable slots for: [_1]',
+ $name));
+ } else {
+ $r->print(&mt('History of student-reservable slots for: [_1]',
+ $name));
+
+ }
+ $r->print('</div>');
}
$r->print('<form action="/adm/slotrequest" method="post" name="'.$formname.'">');
# set defaults
@@ -1686,7 +1710,7 @@
}
}
my (%titles,%maptitles);
- my %lt = &reservationlog_contexts();
+ my %lt = &reservationlog_contexts($crstype);
foreach my $id (sort { $log{$b}{'exe_time'}<=>$log{$a}{'exe_time'} } (keys(%log))) {
next if (($log{$id}{'exe_time'} < $curr{'log_start_date'}) ||
($log{$id}{'exe_time'} > $curr{'log_end_date'}));
@@ -1766,6 +1790,7 @@
sub show_reservations_log {
my ($r) = @_;
my $badslot;
+ my $crstype = &Apache::loncommon::course_type();
if ($env{'form.slotname'} eq '') {
$r->print('<div class="LC_warning">'.&mt('No slot name provided').'</div>');
$badslot = 1;
@@ -1776,7 +1801,13 @@
$badslot = 1;
} elsif ($slot{type} ne 'schedulable_student') {
my $description = &get_description($env{'form.slotname'},\%slot);
- $r->print('<div class="LC_warning">'.&mt('Reservation history unavailable for non-student-reservable slot: [_1].',$description).'</div>');
+ $r->print('<div class="LC_warning">');
+ if ($crstype eq 'Community') {
+ $r->print(&mt('Reservation history unavailable for non-member-reservable slot: [_1].',$description));
+ } else {
+ $r->print(&mt('Reservation history unavailable for non-student-reservable slot: [_1].',$description));
+ }
+ $r->print('</div>');
$badslot = 1;
}
}
@@ -1847,9 +1878,13 @@
my %slot=&Apache::lonnet::get_slot($env{'form.slotname'});
my $description = $slot{'description'};
- $r->print('<span class="LC_fontsize_large">'.
- &mt('Reservation changes for student-reservable slot: [_1]',$description).'</span><br />');
-
+ $r->print('<span class="LC_fontsize_large">');
+ if ($crstype eq 'Community') {
+ $r->print(&mt('Reservation changes for member-reservable slot: [_1]',$description));
+ } else {
+ $r->print(&mt('Reservation changes for student-reservable slot: [_1]',$description));
+ }
+ $r->print('</span><br />');
$r->print(&display_filter($formname,$cdom,$cnum,\%curr,$version,\@allsymbs));
my $showntablehdr = 0;
my $tablehdr = &Apache::loncommon::start_data_table().
@@ -1867,7 +1902,7 @@
$minshown = 1 + ($curr{'page'} - 1) * $curr{'show'};
}
}
- my %lt = &reservationlog_contexts();
+ my %lt = &reservationlog_contexts($crstype);
my (%titles,%maptitles);
foreach my $id (sort { $log{$b}{'exe_time'}<=>$log{$a}{'exe_time'} } (keys(%log))) {
next if (($log{$id}{'exe_time'} < $curr{'log_start_date'}) ||
@@ -1987,6 +2022,7 @@
}
sub reservationlog_contexts {
+ my ($crstype) = @_;
my %lt = &Apache::lonlocal::texthash (
any => 'Any',
user => 'By student',
@@ -1996,6 +2032,10 @@
release => 'Dropped reservation',
usermanage => 'By student',
);
+ if ($crstype eq 'Community') {
+ $lt{'user'} = &mt('By member');
+ $lt{'usermanage'} = $lt{'user'};
+ }
return %lt;
}
@@ -2016,7 +2056,8 @@
&Apache::lonhtmlcommon::date_setter($formname,'log_end_date',
$curr->{'log_end_date'},undef,
undef,undef,undef,undef,undef,undef,$nolink);
- my %lt = &reservationlog_contexts();
+ my $crstype = &Apache::loncommon::course_type();
+ my %lt = &reservationlog_contexts($crstype);
$output .= '<td valign="top"><b>'.&mt('Window during which changes occurred:').
'</b><br /><table><tr><td>'.&mt('After:').
'</td><td>'.$startform.'</td></tr><tr><td>'.&mt('Before:').'</td><td>'.
--raeburn1256967565--