--- loncom/interface/loncommon.pm 2012/11/30 11:28:51 1.1098 +++ loncom/interface/loncommon.pm 2013/03/01 04:48:59 1.1116 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.1098 2012/11/30 11:28:51 bisitz Exp $ +# $Id: loncommon.pm,v 1.1116 2013/03/01 04:48:59 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -67,6 +67,8 @@ use Apache::lonhtmlcommon(); use Apache::loncoursedata(); use Apache::lontexconvert(); use Apache::lonclonecourse(); +use Apache::lonuserutils(); +use Apache::lonuserstate(); use LONCAPA qw(:DEFAULT :match); use DateTime::TimeZone; use DateTime::Locale::Catalog; @@ -529,7 +531,8 @@ ENDAUTHORBRW } sub coursebrowser_javascript { - my ($domainfilter,$sec_element,$formname,$role_element,$crstype) = @_; + my ($domainfilter,$sec_element,$formname,$role_element,$crstype, + $credits_element) = @_; my $wintitle = 'Course_Browser'; if ($crstype eq 'Community') { $wintitle = 'Community_Browser'; @@ -592,8 +595,9 @@ sub coursebrowser_javascript { } $id_functions ENDSTDBRW - if (($sec_element ne '') || ($role_element ne '')) { - $output .= &setsec_javascript($sec_element,$formname,$role_element); + if (($sec_element ne '') || ($role_element ne '') || ($credits_element ne '')) { + $output .= &setsec_javascript($sec_element,$formname,$role_element, + $credits_element); } $output .= ' // ]]> @@ -750,7 +754,7 @@ ENDUSERBRW } sub setsec_javascript { - my ($sec_element,$formname,$role_element) = @_; + my ($sec_element,$formname,$role_element,$credits_element) = @_; my (@courserolenames,@communityrolenames,$rolestr,$courserolestr, $communityrolestr); if ($role_element ne '') { @@ -845,6 +849,14 @@ function setRole(crstype) { } |; } + if ($credits_element) { + $setsections .= qq| +function setCredits(defaultcredits) { + document.$formname.$credits_element.value = defaultcredits; + return; +} +|; + } return $setsections; } @@ -991,7 +1003,7 @@ sub select_language { my ($name,$selected,$includeempty) = @_; my %langchoices; if ($includeempty) { - %langchoices = ('' => 'No language preference'); + %langchoices = ('' => &mt('No language preference')); } foreach my $id (&languageids()) { my $code = &supportedlanguagecode($id); @@ -1057,6 +1069,12 @@ linked_select_forms takes the following =item * $menuorder, the order of values in the first menu +=item * $onchangefirst, additional javascript call to execute for an onchange + event for the first tag + =back Below is an example of such a hash. Only the 'text', 'default', and @@ -1110,6 +1128,8 @@ sub linked_select_forms { $secondselectname, $hashref, $menuorder, + $onchangefirst, + $onchangesecond ) = @_; my $second = "document.$formname.$secondselectname"; my $first = "document.$formname.$firstselectname"; @@ -1166,7 +1186,7 @@ function select1_changed() { END # output the initial values for the selection lists - $result .= "\n"; my @order = sort(keys(%{$hashref})); if (ref($menuorder) eq 'ARRAY') { @order = @{$menuorder}; @@ -1179,7 +1199,11 @@ END $result .= "\n"; my %select2 = %{$hashref->{$firstdefault}->{'select2'}}; $result .= $middletext; - $result .= "{$firstdefault}->{'default'}; my @secondorder = sort(keys(%select2)); @@ -2511,7 +2535,7 @@ END return $result; } -sub authform_authorwarning{ +sub authform_authorwarning { my $result=''; $result=''. &mt('As a general rule, only authors or co-authors should be '. @@ -2520,16 +2544,16 @@ sub authform_authorwarning{ return $result; } -sub authform_nochange{ +sub authform_nochange { my %in = ( formname => 'document.cu', kerb_def_dom => 'MSU.EDU', @_, ); - my ($authnum,%can_assign) = &get_assignable_auth($in{'domain'}); + my ($authnum,%can_assign) = &get_assignable_auth($in{'domain'}); my $result; - if (keys(%can_assign) == 0) { - $result = &mt('Under you current role you are not permitted to change login settings for this user'); + if (!$authnum) { + $result = &mt('Under your current role you are not permitted to change login settings for this user'); } else { $result = '