--- loncom/interface/courseprefs.pm 2010/02/21 01:06:13 1.8.2.7 +++ loncom/interface/courseprefs.pm 2009/12/06 22:17:07 1.8.4.1 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set configuration settings for a course # -# $Id: courseprefs.pm,v 1.8.2.7 2010/02/21 01:06:13 raeburn Exp $ +# $Id: courseprefs.pm,v 1.8.4.1 2009/12/06 22:17:07 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -28,185 +28,6 @@ ############################################################### ############################################################## -=pod - -=head1 NAME - -courseprefs- Handler to set/modify course configuration - -=head1 SYNOPSIS - -courseprefs provides an interface for setting general course configuration - -=head1 DESCRIPTION - -This module is used for configuration of a course - -=head1 INTERNAL SUBROUTINES - -=over - -=item get_allitems() - -=item print_config_box() - -=item process_changes() - -=item get_sec_str() - -=item check_clone() - -=item store_changes() - -=item update_env() - -=item display_disallowed() - -=item get_course() - -=item get_jscript() - -=item cloners_javascript() - -=item print_courseinfo() - -=item new_cloners_dom_row() - -=item can_modify_catsettings() - -=item assign_course_categories() - -=item print_localization() - -=item get_lang_choices() - -=item print_feedback() - -=item user_table() - -=item select_recipient() - -=item select_sections() - -=item print_discussion() - -=item role_checkboxes() - -=item print_classlists() - -=item print_appearance() - -=item print_grading() - -=item print_printouts() - -=item print_spreadsheet() - -=item print_bridgetasks() - -=item print_other() - -=item get_other_items() - -=item item_table_row_start() - -=item item_table_row_end() - -=item yes_no_radio() - -=item select_from_options() - -=item make_item_rows() - -Creates table used to display and set course configuration items. - -Inputs: $cdom,$items,$ordered,$settings,$rowtotal,$crstype -where $cdom is course's domain, $items is HASH ref for current config -item, $ordered is ARRAY ref of items to include in row in -display order, $settings is HASH ref of current values forrow, -$rowtotal is SCALAR ref used to accumulate row count, $crstype is -course type. - -Returns: $datatable -HTML mark-up of data table which accumulates individual rows. - -=item nothidepriv_row() - -Creates row containing form elements used to display and set -whether Domain coordinators who are currently included in -advanced course user .db file for a course are to be hidden (e.g., -in syllabus, or from course user lists). - -Inputs: $cdom,$item,$settings,$crstype -where $cdom is course domain, item is nothideprivileged, $settings is -HASH ref of the current values for nothideprivileged, $crstype is -course type (Course or Community). - -Returns: $datatable -HTML mark-up for Privileged users (Domain Coordinators) in staff listing. - -=item print_hdrfmt_row() - -Creates row containing form elements used to display and set -substitution items and text to be used in the header included -on printouts. - -Inputs: $item,$settings -where $item is print_header_format, and $settings is a HASH ref -of the current values stored for print_header_format. - -Returns: $output -HTML mark-up containing Javascript functions: reOrder() and getIndexByName() -used to dynamically update position selectboxes, and HTML table elements -for the "Print header format" row. - -=item position_selector() - -Creates a select box which can be used to reorder substitutions -and text included in a printout header. - -Inputs: $pos,$num,$maxnum -where $pos is current position, $num is the unique identifier, -and $maxnum is the total number of items (both substitutions -and text in the printout header. - -Returns: $output -HTML mark-up for the selectbox and a hidden form element containing -the current position. - -=item substitution_selector() - -Creates a combination of select box for choosing an item -(student name, course ID or assignment note) to substitute, -and a corresponding size limit in the header used for printouts. - -Inputs: $num,$subst,$limit,$crstype -where $num is the unique identifier, $subst is the current -substitution (n,c or a, for name, course or note respectively, -$limit is the current size limit (integer), and $crstype is -course type - course or community. - -Returns: $output -HTML mark-up for selectbox and textbox (separate table cells). - -=item change_clone() - -Modifies the list of courses a user can clone (stored -in the user's environment.db file), called when a -change is made to the list of users allowed to clone -a course. - -Inputs: $action,$cloner -where $action is add or drop, and $cloner is identity of -user for whom cloning ability is to be changed in course. - -Returns: nothing - -=back - -=cut - - package Apache::courseprefs; use strict; @@ -236,22 +57,11 @@ sub handler { $r->send_http_header; } else { if ($navmap) { - if ($crstype eq 'Community') { - $env{'user.error.msg'}= - "/adm/courseprefs:opa:0:0:Cannot modify community settings"; - } else { - $env{'user.error.msg'}= - "/adm/courseprefs:opa:0:0:Cannot modify course settings"; - } + $env{'user.error.msg'}= + "/adm/courseprefs:opa:0:0:Cannot modify course settings"; } else { - if ($crstype eq 'Community') { - $env{'user.error.msg'}= - "/adm/courseprefs::0:1:Course environment gone, reinitialize the community"; - } else { - $env{'user.error.msg'}= - "/adm/courseprefs::0:1:Course environment gone, reinitialize the course"; - - } + $env{'user.error.msg'}= + "/adm/courseprefs::0:1:Course environment gone, reinitialize the course"; } return HTTP_NOT_ACCEPTABLE; } @@ -263,63 +73,10 @@ sub handler { &Apache::lonhtmlcommon::add_breadcrumb({href=>"/adm/parmset", text=>"Parameter Manager"}); } - my ($brtext,$brtitle,$crsinfotext,$crsinfodesc,$crscateg,$crshide); - my %lt; - if ($crstype eq 'Community') { - %lt = ( - conf => 'Community Configuration', - edit => 'Edit Community Configuration', - gens => 'General community settings', - idnu => 'Community ID or number', - desc => 'Community Description', - catg => 'Categorize community', - excc => 'Exclude from community catalog', - clon => 'Users allowed to clone community', - rept => 'Replacement titles for standard community roles', - time => 'Timezone where the community is located', - date => 'Locale used for community calendar', - coco => 'Community Content', - copo => 'Community Policy', - priv => 'Domain Coordinators in community', - defd => 'Default dates for member access', - stuv => 'Member-viewable membership list options', - stul => 'Member agreement needed to be listed', - clas => 'Membership and Facilitator Listing', - priv => 'Privileged users (Domain Coordinators) in facilitator listing', - defc => 'Default Community Spreadsheet', - defs => 'Default User Spreadsheet', - seme => 'Send message to member when clicking Done on Tasks' - ); - } else { - %lt = ( - conf => 'Course Configuration', - edit => 'Edit Course Configuration', - gens => 'General course settings', - idnu => 'Course ID or number', - desc => 'Course Description', - catg => 'Categorize course', - excc => 'Exclude from course catalog', - clon => 'Users allowed to clone course', - rept => 'Replacement titles for standard course roles', - time => 'Timezone in which the course takes place', - date => 'Locale used for course calendar', - coco => 'Course Content', - copo => 'Course Policy', - priv => 'Domain Coordinators in course', - defd => 'Default dates for student access', - stuv => 'Student-viewable classlist options', - stul => 'Student agreement needed to be listed', - clas => 'Classlists and Staff Listing', - priv => 'Privileged users (Domain Coordinators) in staff listing', - defc => 'Default Course Spreadsheet', - defs => 'Default Student Spreadsheet', - seme => 'Send message to student when clicking Done on Tasks', - ); - } &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/courseprefs', - text=>$lt{'conf'}}); + text=>"Course Configuration"}); my $breadcrumbs = - &Apache::lonhtmlcommon::breadcrumbs($lt{'edit'}); + &Apache::lonhtmlcommon::breadcrumbs('Edit Course Configuration'); my $phase = 'pickactions'; if ( exists($env{'form.phase'}) ) { @@ -327,7 +84,7 @@ sub handler { } if ($phase eq 'categorizecourse') { - &assign_course_categories($r,$crstype); + &assign_course_categories($r); return OK; } @@ -338,7 +95,7 @@ sub handler { my %prefs = ( 'courseinfo' => - { text => $lt{'gens'}, + { text => 'General course settings', help => 'Course_Environment', header => [{col1 => 'Setting', col2 => 'Value'}], @@ -346,14 +103,14 @@ sub handler { 'hidefromcat','cloners','externalsyllabus', 'url','rolenames'], itemtext => { - description => $lt{'desc'}, - courseid => $lt{'idnu'}, - categories => $lt{'catg'}, - hidefromcat => $lt{'excc'}, - cloners => $lt{'clon'}, + description => 'Course Description', + courseid => 'Course ID or number', + categories => 'Categorize course', + hidefromcat => 'Exclude from course catalog', + cloners => 'Users allowed to clone course', externalsyllabus => 'URL of Syllabus', url => 'Top Level Map', - rolenames => $lt{'rept'}, + rolenames => 'Replacement titles for standard course roles', }, }, 'localization' => @@ -364,8 +121,8 @@ sub handler { ordered => ['languages','timezone','datelocale'], itemtext => { languages => 'Languages used', - timezone => $lt{'time'}, - datelocale => $lt{'date'}, + timezone => 'Timezone in which the course takes place', + datelocale => 'Locale used for course calendar', }, }, 'feedback' => @@ -378,8 +135,8 @@ sub handler { ordered => ['question.email','comment.email','policy.email'], itemtext => { 'question.email' => 'Resource Content', - 'comment.email' => $lt{'coco'}, - 'policy.email' => $lt{'copo'}, + 'comment.email' => 'Course Content', + 'policy.email' => 'Course Policy', }, }, 'discussion' => @@ -401,14 +158,14 @@ sub handler { }, }, 'classlists' => - { text => $lt{'clas'}, + { text => 'Classlists and Staff Listing', help => 'Course_Environment', header => [{col1 => 'Type', - col2 => $lt{'defd'}}, + col2 => 'Default dates for student access'}, {col1 => 'Setting', - col2 => $lt{'priv'}}, + col2 => 'Privileged users (Domain Coordinators) in staff listing'}, {col1 => 'Setting', - col2 => $lt{'stuv'}}], + col2 => 'Student-viewable classlist options'}], ordered => ['default_enrollment_start_date', 'default_enrollment_end_date', 'nothideprivileged','student_classlist_view', @@ -416,9 +173,9 @@ sub handler { itemtext => { default_enrollment_start_date => 'Start date', default_enrollment_end_date => 'End date', - nothideprivileged => $lt{'priv'}, - student_classlist_view => $lt{'stuv'}, - student_opt_in => $lt{'stul'}, + nothideprivileged => 'Domain Coodinators in course', + student_classlist_view => 'Student-viewable classlist', + student_opt_in => 'Student agreement needed to be listed', student_classlist_portfiles => 'Include link to accessible portfolio files', }, }, @@ -478,8 +235,8 @@ sub handler { 'spreadsheet_default_studentcalc', 'spreadsheet_default_assesscalc','hideemptyrows'], itemtext => { - spreadsheet_default_classcalc => $lt{'defc'}, - spreadsheet_default_studentcalc => $lt{'defs'}, + spreadsheet_default_classcalc => 'Default Course Spreadsheet', + spreadsheet_default_studentcalc => 'Default Student Spreadsheet', spreadsheet_default_assesscalc => 'Default Assessment Spreadsheet', hideemptyrows => 'Hide Empty Rows in Spreadsheets', }, @@ -492,7 +249,7 @@ sub handler { ordered => ['task_messages','task_grading', 'suppress_embed_prompt'], itemtext => { - task_messages => $lt{'seme'}, + task_messages => 'Send message to student when clicking Done on Tasks', task_grading => 'Bridge Task grading by instructors and TAs in sections' , suppress_embed_prompt => 'Hide upload references prompt if uploading file to portfolio', }, @@ -511,10 +268,10 @@ sub handler { \@prefs_order,\%prefs,\%values, $cnum,undef,\@allitems); } elsif ($phase eq 'display') { - my $jscript = &get_jscript($cdom,$phase,$crstype); + my $jscript = &get_jscript($cdom,$phase); my @allitems = &get_allitems(%prefs); &Apache::lonconfigsettings::display_settings($r,$cdom,$phase,$context, - \@prefs_order,\%prefs,\%values,undef,$jscript,\@allitems,$crstype); + \@prefs_order,\%prefs,\%values,undef,$jscript,\@allitems); } else { &Apache::lonconfigsettings::display_choices($r,$phase,$context, \@prefs_order,\%prefs); @@ -539,7 +296,7 @@ sub get_allitems { } sub print_config_box { - my ($r,$cdom,$phase,$action,$item,$settings,$allitems,$crstype) = @_; + my ($r,$cdom,$phase,$action,$item,$settings,$allitems) = @_; my $ordered = $item->{'ordered'}; my $itemtext = $item->{'itemtext'}; my $rowtotal = 0; @@ -563,7 +320,7 @@ sub print_config_box { if ($action eq 'feedback') { $output .= &print_feedback('top',$cdom,$settings,$ordered,$itemtext,\$rowtotal); } elsif ($action eq 'classlists') { - $output .= &print_classlists('top',$cdom,$settings,$itemtext,\$rowtotal,$crstype); + $output .= &print_classlists('top',$cdom,$settings,$itemtext,\$rowtotal); } $output .= ' @@ -578,7 +335,7 @@ sub print_config_box {