--- loncom/interface/spreadsheet/lonspreadsheet.pm 2011/09/26 12:15:39 1.59 +++ loncom/interface/spreadsheet/lonspreadsheet.pm 2012/05/10 20:20:07 1.61.6.1 @@ -1,5 +1,5 @@ # -# $Id: lonspreadsheet.pm,v 1.59 2011/09/26 12:15:39 raeburn Exp $ +# $Id: lonspreadsheet.pm,v 1.61.6.1 2012/05/10 20:20:07 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -107,10 +107,13 @@ sub file_dialogs { $spreadsheet->filename($env{'form.savefilename'}); my $save_status = $spreadsheet->save(); if ($save_status ne 'ok') { - $message .= "An error occurred while saving the spreadsheet". - "There error is:".$save_status; + $message .= ''. + &mt('An error occurred while saving the spreadsheet. The error is: [_1].', + $save_status).''; } else { - $message .= "Spreadsheet saved as ".$spreadsheet->filename(); + $message .= ''.&mt('Spreadsheet saved as: [_1] .', + ''.$spreadsheet->filename().''). + ''; } } elsif (exists($env{'form.newformula'}) && exists($env{'form.cell'}) && @@ -273,9 +276,21 @@ sub handler { $symb = $env{'form.usymb'} if (exists($env{'form.usymb'})); my $name = $env{'user.name'}; my $domain = $env{'user.domain'}; + my $warning; if (exists($env{'form.sname'}) && $env{'form.sname'} ne '') { - $name = $env{'form.sname'}; - $domain = $env{'form.sdomain'}; + if (($env{'form.sname'} ne $env{'user.name'}) || + ($env{'form.sdomain'} ne $env{'user.domain'})) { + if (($allowed_to_view) || ($allowed_to_edit)) { + if (&Apache::lonnet::homeserver($env{'form.sname'},$env{'form.sdomain'}) ne 'no_host') { + $name = $env{'form.sname'}; + $domain = $env{'form.sdomain'}; + } else { + $warning = &mt('Requested user: "[_1]" does not exist; your own sheet is displayed instead.',$env{'form.sname'}.':'.$env{'form.sdomain'}); + } + } else { + $warning = &mt('Your current role is not permitted to display this sheet for the requested user: "[_1]"; your own sheet is displayed instead.',$env{'form.sname'}.':'.$env{'form.sdomain'}); + } + } } $env{'form.sname'} = $name; $env{'form.sdomain'} = $domain; @@ -403,16 +418,16 @@ ENDSCRIPT bug => 'Spreadsheet'}); $r->print(&Apache::loncommon::start_page('Grades Spreadsheet',$js). &Apache::lonhtmlcommon::breadcrumbs('Spreadsheet', - 'Spreadsheet_About')); - - # - # Tabs - # - &Apache::lonquickgrades::startGradeScreen($r,'spreadsheet'); + 'Spreadsheet_About'). + &Apache::lonhtmlcommon::coursepreflink(&mt('Grade display settings'), + 'grading')); # # Open the form # + if ($warning) { + $r->print('

'.$warning.'

'); + } $r->print('
'); $r->print(&hiddenfield('sname' ,$env{'form.sname'}). &hiddenfield('sdomain',$env{'form.sdomain'}). @@ -566,7 +581,6 @@ END $spreadsheet->display($r); } $r->print('
'); - &Apache::lonquickgrades::endGradeScreen($r); $r->print(&Apache::loncommon::end_page()); $spreadsheet->clear_package(); return OK;