--- loncom/interface/lonpickcourse.pm 2008/07/01 04:22:59 1.73.2.1
+++ loncom/interface/lonpickcourse.pm 2009/05/01 01:38:20 1.78
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Pick a course
#
-# $Id: lonpickcourse.pm,v 1.73.2.1 2008/07/01 04:22:59 raeburn Exp $
+# $Id: lonpickcourse.pm,v 1.78 2009/05/01 01:38:20 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -35,6 +35,7 @@ use Apache::loncoursedata;
use Apache::lonnet;
use Apache::lonlocal;
use Apache::longroup;
+use Apache::courseclassifier;
use LONCAPA;
sub handler {
@@ -49,7 +50,7 @@ sub handler {
&Apache::loncommon::get_unprocessed_cgi
($ENV{'QUERY_STRING'},['domainfilter','form','cnumelement',
'cdomelement','cnameelement','roleelement',
- 'multiple','type','setroles']);
+ 'multiple','type','setroles','fixeddom']);
my ($type,$title,$jscript,$multelement,$multiple,$roleelement,
$lastaction,$autosubmit,$submitopener);
@@ -83,9 +84,13 @@ sub handler {
}
my %loaditem;
+ if ($env{'form.numtitles'}) {
+ $loaditem{'onload'} = 'setElements(); ';
+ }
+
if ((($env{'form.form'} eq 'cu') || ($env{'form.form'} eq 'studentform')) &&
($env{'form.pickedcourse'})) {
- $loaditem{'onload'} ="setSections()";
+ $loaditem{'onload'} .= 'setSections()';
}
$r->print(&Apache::loncommon::start_page($title,undef,
{'add_entries' => \%loaditem,
@@ -117,6 +122,7 @@ sub handler {
# ------------------------------------------ Display of filters to limit search
my $filter = {};
my $action = '/adm/pickcourse';
+ my $numtitles;
if (!$onlyown) {
my $filterlist = ['domainfilter','descriptfilter',
'instcodefilter','ownerfilter',
@@ -127,12 +133,12 @@ sub handler {
push(@{$filterlist},'coursefilter');
}
$r->print(&build_filters($filterlist,$type,$roleelement,$multelement,
- $filter,$action));
+ $filter,$action,\$numtitles));
}
# ---------------------------------------------------------------- Get the data
if ($env{'form.gosearch'} || $onlyown) {
- my %courses = &search_courses($r,$type,$onlyown,$filter);
+ my %courses = &search_courses($r,$type,$onlyown,$filter,$numtitles);
&display_matched_courses($r,$type,$multiple,$action,%courses);
}
$r->print(&Apache::loncommon::end_page());
@@ -228,23 +234,19 @@ sub display_matched_courses {
$menuchk = ' checked="checked" ';
}
$r->print(
- '
'.
- '
');
+ ''
+ .'
'
+ );
}
}
my %by_descrip;
@@ -273,7 +275,7 @@ sub display_matched_courses {
$r->print(&Apache::loncommon::start_data_table());
$r->print(&Apache::loncommon::start_data_table_header_row());
$r->print(''.&mt('Select').' | '
- .''.&mt('Course Description').' | '
+ .''.&mt('Course Title').' | '
.''.&mt('Domain').' | '
.''.&mt('Course Code').' | '
.''.&mt('Owner/Co-owner(s)').' | '
@@ -352,18 +354,25 @@ sub display_matched_courses {
$r->print('');
$r->print('');
} elsif ($env{'form.form'} eq 'modifycourse') {
- $r->print(&Apache::lonhtmlcommon::echo_form_input(['phase','pickedcourse','type','form']));
+ $r->print(&Apache::lonhtmlcommon::echo_form_input(['phase','pickedcourse','type','form','numtitles','state']));
} else {
$r->print(''."\n".
''."\n");
}
+ if ((exists($env{'form.fixeddom'})) && ($env{'form.form'} eq 'rules')) {
+ $r->print('');
+ }
+ if ($env{'form.numtitles'}) {
+ $r->print('');
+ }
$r->print("\n");
return;
}
-
sub multiples_tag {
my $jscript = &Apache::loncommon::check_uncheck_jscript();
my $multelement = '';
@@ -372,16 +381,15 @@ sub multiples_tag {
sub build_filters {
my ($filterlist,$type,$roleelement,$multelement,$filter,$action,
- $caller) = @_;
+ $numtitlesref) = @_;
my $list;
my $formname;
+ my ($fixeddom,$codedom,$jscript);
if (defined($env{'form.form'})) {
$formname = $env{'form.form'};
- } else {
- $formname = $caller;
}
my ($domainselectform,$sincefilterform,$ownerdomselectform,
- $instcodeform,$typeselectform);
+ $instcodeform,$typeselectform,$instcodetitle);
foreach my $item (@{$filterlist}) {
$filter->{$item} = $env{'form.'.$item};
if ($item ne 'descriptfilter' && $item ne 'instcodefilter') {
@@ -407,10 +415,19 @@ sub build_filters {
$filter->{$item} ||= $env{'request.role.domain'};
$allow_blank=0;
}
- $domainselectform =
- &Apache::loncommon::select_dom_form($filter->{$item},
- 'domainfilter',
- $allow_blank);
+ if ($env{'form.fixeddom'}) {
+ $domainselectform = ''.
+ &Apache::lonnet::domain($env{'request.role.domain'},
+ 'description');
+ $codedom = $env{'request.role.domain'};
+ } else {
+ $domainselectform =
+ &Apache::loncommon::select_dom_form($filter->{$item},
+ 'domainfilter',
+ $allow_blank);
+ $codedom = $filter->{'domainfilter'};
+ }
} elsif ($item eq 'ownerdomfilter') {
$ownerdomselectform =
&Apache::loncommon::select_dom_form($filter->{$item},'ownerdomfilter',1);
@@ -436,20 +453,37 @@ sub build_filters {
'15552000','31104000']));
my %lt = (
- 'cac' => &mt('[_1] Activity',$type),
- 'cde' => &mt('[_1] Description',$type),
- 'cdo' => &mt('[_1] Domain',$type),
- 'cin' => &mt('Course Institutional Code'),
- 'cow' => &mt("[_1] Owner's Username",$type),
- 'cod' => &mt("[_1] Owner's Domain", $type),
+ 'cac' => &mt("$type Activity"),
+ 'cde' => &mt("$type Title"),
+ 'cdo' => &mt("$type Domain"),
+ 'ins' => &mt('Institutional Code'),
+ 'inc' => &mt('Institutional Categorization'),
+ 'cow' => &mt("$type Owner's Username"),
+ 'cod' => &mt("$type Owner's Domain"),
'cog' => &mt('Course Type')
);
$typeselectform = '