--- loncom/interface/coursecatalog.pm 2008/07/07 15:20:18 1.36
+++ loncom/interface/coursecatalog.pm 2008/07/17 12:00:28 1.41
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler for displaying the course catalog interface
#
-# $Id: coursecatalog.pm,v 1.36 2008/07/07 15:20:18 raeburn Exp $
+# $Id: coursecatalog.pm,v 1.41 2008/07/17 12:00:28 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -53,7 +53,8 @@ sub handler {
}
&Apache::lonacc::get_posted_cgi($r);
&Apache::lonlocal::get_language_handle($r);
- &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['sortby']);
+ &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
+ ['sortby','showdom']);
my $codedom = &Apache::lonnet::default_login_domain();
@@ -101,18 +102,18 @@ function setCatDepth(depth) {
return;
}
-ENDSCRIPT
- if ($env{'form.state'} eq 'listing') {
- $catjs .= qq|
function changeSort(caller) {
document.$formname.sortby.value = caller;
document.$formname.submit();
}
+
function setCourseId(caller) {
document.$formname.coursenum.value = caller;
document.$formname.submit();
-}\n|;
- }
+}
+
+ENDSCRIPT
+ $catjs .= &courselink_javascript();
my $numtitles;
if ($env{'form.currcat_0'} eq 'instcode::0') {
$numtitles = &instcode_course_selector($r,$codedom,$formname,$domdesc,
@@ -156,8 +157,10 @@ sub course_details {
my $output;
my %add_entries = (topmargin => "0",
marginheight => "0",);
+ my $js = ''."\n";
my $start_page =
- &Apache::loncommon::start_page('Course Catalog','',
+ &Apache::loncommon::start_page('Course Catalog',$js,
{
'add_entries' => \%add_entries,
'no_inline_link' => 1,});
@@ -173,16 +176,43 @@ sub course_details {
{text=>"Course details"});
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Course Details'));
$r->print('
'.&mt('Detailed course information:').'
'.
- '
');
+ return;
+}
+
+sub courselink_javascript {
+ return <<"END";
+
+function ToSyllabus(cdom,cnum) {
+ if (cdom == '' || cdom == null) {
+ return;
+ }
+ if (cnum == '' || cnum == null) {
+ return;
+ }
+ document.linklaunch.action = "/public/"+cdom+"/"+cnum+"/syllabus";
+ document.linklaunch.submit();
+}
+
+function ToSelfenroll(courseid) {
+ if (courseid == '') {
+ return;
+ }
+ document.linklaunch.action = "/adm/selfenroll";
+ document.linklaunch.courseid.value = courseid;
+ document.linklaunch.submit();
+}
+
+END
}
+
sub instcode_course_selector {
my ($r,$codedom,$formname,$domdesc,$catlinks,$catjs) = @_;
my %coursecodes = ();
@@ -319,10 +349,7 @@ function setElements() {
''.
'');
- if (($numtitles > 0) && ($env{'form.state'} eq 'listing')) {
- $r->print('
');
- }
+ '" />
');
} else {
&cat_header($r,$codedom,$js,\%add_entries,$catlinks,$numtitles);
my $cat_maxdepth = $env{'form.catalog_maxdepth'};
@@ -492,8 +519,8 @@ sub additional_filters {
$output .= ' |
';
+ &mt('Include subcategories within "[_1]"',
+ &unescape($catname)).'';
}
}
my $show_selfenroll_status;
@@ -738,9 +765,10 @@ sub print_course_listing {
my %domconfig =
&Apache::lonnet::get_dom('configuration',['usercreation'],$domain);
$output .= &construct_data_table($knownuser,\%courses,$details,undef,$now,\%domconfig,$trails,$allitems);
- if ($env{'form.coursenum'} ne '') {
- $output .= &Apache::lonhtmlcommon::echo_form_input(['coursenum','state','catalogfilter','sortby','showdetails']);
- }
+ $output .= "\n".'';
return $output;
}
@@ -841,7 +869,7 @@ sub build_courseinfo_hash {
$cleandesc=~s/'/\\'/g;
$cleandesc =~ s/^\s+//;
my ($cdom,$cnum)=split(/\_/,$course);
- my ($descr,$instcode,$singleowner,$ttype,$selfenroll_types,
+ my ($instcode,$singleowner,$ttype,$selfenroll_types,
$selfenroll_start,$selfenroll_end,@owners,%ownernames,$categories);
if (ref($courses->{$course}) eq 'HASH') {
$descr = $courses->{$course}{'description'};
@@ -1043,7 +1071,7 @@ sub courseinfo_row {
''.$xlist_items.' | '.
''.$title.' ';
if ($showsyllabus) {
- $output .= &Apache::loncommon::syllabuswrapper(&mt('Syllabus'),$cnum,$cdom);
+ $output .= ''.&mt('Syllabus').'';
} else {
$output .= ' ';
}
@@ -1067,7 +1095,7 @@ sub courseinfo_row {
if (($info->{'selfenroll_start'} > 0) && ($info->{'selfenroll_start'} > $now)) {
$output .= ' | '.&mt('Starts: [_1]',''.$showstart.'').' '.&mt('Ends: [_1]',''.$showend.'').' | ';
} else {
- $output .= ''.&mt('Enroll in course').' | ';
+ $output .= ''.&mt('Enroll in course').' | ';
}
$selfenroll = 1;
}
@@ -1097,7 +1125,7 @@ sub identify_sections {
}
}
@secnums = sort {$a <=> $b} @secnums;
- my $seclist = join(', ',@secnums);
+ $seclist = join(', ',@secnums);
my $numsec = @secnums;
return ($seclist,$numsec);
}