--- loncom/interface/spreadsheet/lonspreadsheet.pm 2005/08/29 21:04:52 1.42 +++ loncom/interface/spreadsheet/lonspreadsheet.pm 2010/05/03 16:41:54 1.56 @@ -1,5 +1,5 @@ # -# $Id: lonspreadsheet.pm,v 1.42 2005/08/29 21:04:52 albertel Exp $ +# $Id: lonspreadsheet.pm,v 1.56 2010/05/03 16:41:54 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -73,12 +73,12 @@ use HTML::Entities(); sub textfield { my ($title,$name,$value)=@_; return "\n

$title:
". - ''; + ''; } sub hiddenfield { my ($name,$value)=@_; - return ''."\n"; + return ''."\n"; } sub selectbox { @@ -86,7 +86,7 @@ sub selectbox { my $selout="\n

$title:
".''; @@ -140,13 +140,13 @@ sub file_dialogs { if ($spreadsheet->is_default()) { $filename = 'Default'; } - my $save_dialog = ''. + my $save_dialog = ''. ' '. ''. - ''; + ''; my $makedefault_dialog = ''; + 'value="'.&mt('Save as & Make This Sheet the Default').'"/>'; # my $link = '".&mt('Select Spreadsheet File').""; @@ -154,9 +154,9 @@ sub file_dialogs { my $load_dialog = < - + - $link + $link   \n \n\n"; # + my $headline = &mt('File Dialogs'); $result .=< - File Dialogs + $headline --> @@ -199,16 +200,6 @@ END sub handler { my $r=shift; # - # Overload checking - # - # Check this server - my $loaderror=&Apache::lonnet::overloaderror($r); - if ($loaderror) { return $loaderror; } - # Check the course homeserver - $loaderror= &Apache::lonnet::overloaderror($r, - $env{'course.'.$env{'request.course.id'}.'.home'}); -# if ($loaderror) { return $loaderror; } - # # HTML Header # if ($r->header_only) { @@ -264,6 +255,17 @@ sub handler { } $env{'form.sname'} = $name; $env{'form.sdomain'} = $domain; + my $section = &Apache::lonnet::getsection($domain,$name, + $env{'request.course.id'}); + my @groups; + if (($env{'user.name'} eq $name) && ($env{'user.domain'} eq $domain)) { + @groups = &Apache::lonnet::sort_course_groups($env{'request.course.id'}, + split(':',$env{'request.course.groups'})); + } else { + @groups = &Apache::lonnet::get_users_groups($domain,$name, + $env{'request.course.id'}); + } + ## ## Check permissions my $allowed_to_edit = &Apache::lonnet::allowed('mgr', @@ -314,11 +316,11 @@ sub handler { # # Header.... # - $r->print('LON-CAPA Spreadsheet'); my $nothing = &Apache::lonhtmlcommon::javascript_nothing(); ## ## Spit out the javascript required for editing ## + my $js; if ($allowed_to_edit) { my %lt=( 'ce' => 'Cell', @@ -327,7 +329,20 @@ sub handler { ); my $extra_javascript = &Apache::loncommon::browser_and_searcher_javascript(); - $r->print(< 1, + 'js_ready' => 1, + 'add_entries' => { + 'onresize' => "resize_textarea('LC_newformula','LC_aftertextarea')", + 'onload' => "resize_textarea('LC_newformula','LC_aftertextarea')", + }}); + my $cell_edit_end = + &Apache::loncommon::end_page({'js_ready' => 1,}); + + $js = < // @@ -376,8 +393,9 @@ ENDSCRIPT text => 'Spreadsheet', faq => 134, bug => 'Spreadsheet'}); - $r->print(''.&Apache::loncommon::bodytag('Grades Spreadsheet'). - &Apache::lonhtmlcommon::breadcrumbs(undef,'Spreadsheet'). + $r->print(&Apache::loncommon::start_page('Grades Spreadsheet',$js). + &Apache::lonhtmlcommon::breadcrumbs('Spreadsheet', + 'Spreadsheet_About'). '
'); $r->print(&hiddenfield('sname' ,$env{'form.sname'}). &hiddenfield('sdomain',$env{'form.sdomain'}). @@ -438,13 +456,16 @@ ENDSCRIPT &Apache::Spreadsheet::initialize_spreadsheet_package(); my $spreadsheet = undef; if ($sheettype eq 'classcalc') { - $spreadsheet = Apache::classcalc->new($name,$domain,$filename,undef); + $spreadsheet = Apache::classcalc->new($name,$domain,$filename,undef, + $section,\@groups); } elsif ($sheettype eq 'studentcalc') { - $spreadsheet = Apache::studentcalc->new($name,$domain,$filename,undef); + $spreadsheet = Apache::studentcalc->new($name,$domain,$filename,undef, + $section,\@groups); } elsif ($sheettype eq 'assesscalc' && defined($symb) && $allowed_to_edit) { - $spreadsheet = Apache::assesscalc->new($name,$domain,$filename,$symb); + $spreadsheet = Apache::assesscalc->new($name,$domain,$filename,$symb, + $section,\@groups); } else { return HTTP_NOT_ACCEPTABLE; } @@ -527,7 +548,7 @@ END $r->rflush(); $spreadsheet->display($r); } - $r->print(''); + $r->print(''.&Apache::loncommon::end_page()); $spreadsheet->clear_package(); return OK; }